- Aiden's Lab แแ ฒแแ ณแ แ ฆแแ ฅ
- Posts
- Kubernetes แแ ชแซแแ งแผแแ ฆแแ ฅ แแ ตแฏแแ ณแธแแ กแแ ฉ แแ ฆแแ ณแแ ณแแ กแฏ แแ ฎ แแ ตแปแแ ณแซ แแ กแแ กแผ แแ ฑแแ ฎแซ แแ กแผแแ ฅแธ: minikubeแ แ ฉ Kubernetes แแ ณแฏแ แ ฅแแ ณแแ ฅ แแ ฎแแ ฎแจแแ กแแ ต
Kubernetes แแ ชแซแแ งแผแแ ฆแแ ฅ แแ ตแฏแแ ณแธแแ กแแ ฉ แแ ฆแแ ณแแ ณแแ กแฏ แแ ฎ แแ ตแปแแ ณแซ แแ กแแ กแผ แแ ฑแแ ฎแซ แแ กแผแแ ฅแธ: minikubeแ แ ฉ Kubernetes แแ ณแฏแ แ ฅแแ ณแแ ฅ แแ ฎแแ ฎแจแแ กแแ ต
Kubernetes แแ ตแฏแแ ณแธแแ ช แแ ฆแแ ณแแ ณแแ ฆ minikubeแ แ ณแฏ แแ กแแ ญแผแแ กแฏ แแ ข แแ ตแแ ฅแทแแ ณแฏ แแ กแฏแแ กแแ ฉแแ ฉ, minikubeแ แ ฉ Kubernetes แแ ณแฏแ แ ฅแแ ณแแ ฅแ แ ณแฏ แแ ฎแแ ฎแจแแ กแแ ณแซ แแ ชแแ ฅแผแแ ณแฏ แแ กแ แ กแแ กแแ ฉแธแแ ตแแ ก.
์๋ ํ์ธ์, Aidenโs Lab ๋ด์ค๋ ํฐ์ ๋๋ค.
Kubernetes๋ ์ด๋ฏธ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ํ์ค์ผ๋ก ์๋ฆฌ์ก์๊ณ , ๋ง์ ๊ธฐ์ ๊ณผ ํ์์ ์ง์ ์๋ฒ์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฃฝํ๊ฑฐ๋ ๊ด๋ฆฌํ Kubernetes ์๋น์ค๋ฅผ ์ด์ฉํ๊ณ ์์ต๋๋ค.
๊ทธ๋์ ๋ง์ ๋ถ๋ค์ด Kubernetes์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํด์ ๊ด์ฌ์ ๊ฐ์ง๊ณ ๊ณ์์ง๋ง, ์ฌ์ ํ ์ง์ ์ฅ๋ฒฝ์ ๋์ ํธ์ธ๋ฐ์.
๊ฐ์ฅ ํฐ ์ด์ ์ค ํ๋๋, Kubernetes ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ค๋ฉด ๋ณ๋์ ์๋ฒ์ Kubernetes๋ฅผ ์ง์ ์ค์นํ๊ฑฐ๋ ์ ๋ฃ๋ก ์ ๊ณต๋๋ ๊ด๋ฆฌํ Kubernetes ์๋น์ค๋ฅผ ์ด์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
Kubernetes๋ฅผ ๊ฒฝํํ๊ณ ์ถ๊ฑฐ๋ ๋ก์ปฌ์์ ๊ฐ๋ณ๊ฒ ํ ์คํธํ๊ณ ์ถ์ ๋ถ๋ค์๊ฒ ๋ถ๋ด์ด ๋ ์๋ฐ์ ์์ฃ .
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์ํ ํด์ด ๋ฑ์ฅํ๋๋ฐ์. ๊ทธ ์ค์์๋ ์ ๊ฐ ์ด๋ฒ์ ์๊ฐํ ํด์ ๋ฐ๋ก, minikube์ ๋๋ค.

๐minikube๊ฐ Kubernetes ์ค์ต ๋ฐ ํ ์คํธ์ ํ์ํ ์ด์
minikube๋ ๊ฐ๋ฐ์์ ๋ก์ปฌ PC์์ ํ ๊ฐ ๋๋ ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ค์นํ ์ ์๋๋ก ๋์์ฃผ๋ ํด์ ๋๋ค.
minikube์ ์ฅ์ ์ 5๊ฐ์ง๋ก ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
1๏ธโฃ ๋ณต์กํ ์ค์ ์์ด ๋ช ๊ฐ์ง ๋ช ๋ น์ด๋ง์ผ๋ก ์ค์ Kubernetes์ ์ ์ฌํ ํ๊ฒฝ์ ๊ตฌ์ฑ ๋ฐ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์ฆ์ Kubernetes ๊ด๋ จ ์ค์ต์ด๋ ํ ์คํธ๋ฅผ ์์ํ ์ ์์ด ํธ๋ฆฌํฉ๋๋ค.
2๏ธโฃ AWS, GCP์ ๊ฐ์ ํด๋ผ์ฐ๋ ์ ๊ณต์ฌ์ ๊ด๋ฆฌํ Kubernetes ์๋น์ค๋ ํ์ต ์ฉ๋๋ก ์ฌ์ฉํด๋ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ง๋ง, minikube๋ ๋ก์ปฌ ํ๊ฒฝ์์ ๊ตฌ๋๋๋ฏ๋ก ๋น์ฉ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ๋น์ฉ ๊ฑฑ์ ์์ด ๋ค์ํ Kubernetes ๊ธฐ๋ฅ์ด๋ Helm ๊ฐ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํด์ ๋ง์๊ป ์คํํ๊ณ ํ์ตํ ์ ์์ฃ .
3๏ธโฃ minikube๋ ๊ฐ์ ๋จธ์ (VM)์ด๋ ์ปจํ ์ด๋ ๋ด๋ถ์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ ์์คํ ๋ด์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
๊ทธ๋์ ์ค์ต ์ค ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ ์ค์ ๋ณ๊ฒฝ์ด ๋ก์ปฌ PC์ ์ด์์ฒด์ ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
4๏ธโฃ minikube๋ ํ์ค Kubernetes API๋ฅผ ์ฌ์ฉํ๊ณ kubectl๊ณผ ๊ฐ์ ์ค์ Kubernetes ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํด๋ฌ์คํฐ์ ์ํธ์์ฉํ๋๋ฐ์.
๋จ์ผ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ฟ๋ง ์๋๋ผ ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ ์ง์ํ๊ธฐ ๋๋ฌธ์, ํ๋ก๋์ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ํต์ฌ ๊ฐ๋ ๊ณผ ๋์ ๋ฐฉ์๋ ๊ฑฐ์ ๊ทธ๋๋ก ๊ฒฝํ ๊ฐ๋ฅํ์ฃ .
๊ทธ๋์ minikube์์์ ํ์ต์ด ์ค์ ์ ๋ฌด ํ๊ฒฝ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ง ์ ์๋ต๋๋ค.
5๏ธโฃ minikube๋ Windows, macOS, Linux ๋ฑ ์ฃผ์ ์ด์์ฒด์ ๋ฅผ ๋ชจ๋ ์ง์ํ๋ฏ๋ก, ์์ ์ ๋ก์ปฌ PC ํ๊ฒฝ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ minikube๋ฅผ ํตํด Kubernetes ํ์ต๊ณผ ํ ์คํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋ง์ ์ฅ์ ์ ๊ฐ์ง minikube๋ฅผ ์ผ๋ฅธ ์ฌ์ฉํ๊ณ ์ถ์ ๋ง์์ด ๋์ค ์ ์๋๋ฐ์.
๊ทธ ์ ์, ์ง๊ธ๊น์ง๋ ์ฅ์ ์ ๋ํด ์์๋ดค์ผ๋ ์ค์ ๋ก minikube๋ฅผ ์ค์นํ๊ธฐ ์ ์ ์ ์ํด์ผ ํ ์ ๋ ์์๋ณด๊ฒ ์ต๋๋ค.
โminikube ์ค์น ์ ์ ์ํด์ผ ํ ์

minikube ์ต์ ์ฌ์
minikube๋ ๊ฐ์ ๋จธ์ ๋๋ ์ปจํ ์ด๋ ํ๊ฒฝ์์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์๋ก ๊ตฌ์ถํ๊ธฐ ๋๋ฌธ์ ์ผ์ ์์ค ์ด์์ ์์คํ ์์์ด ํ์ํฉ๋๋ค.
๊ณต์ ์ฌ์ดํธ์ ๋ช ์๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ ค๋๋ฆฌ์๋ฉด, ๋จ์ผ ๋ ธ๋ ๊ธฐ์ค์ผ๋ก ๊ถ์ฅ๋๋ ์ต์ ์ฌ์์ ์๋์ ๊ฐ์ต๋๋ค.
์ต์ 2 CPU ์ฝ์ด
์ต์ 2GB ์ด์์ ๋ฉ๋ชจ๋ฆฌ
20GB ์ด์์ ๋์คํฌ ์ฌ์ ๊ณต๊ฐ
minikube๊ฐ ์ง์ํ๋ ๊ฐ์ํ ํด์ด ์ค์น๋์ด ์๋์ง ํ์ธ
minikube๋ ์ฌ๋ฌ ์ด์์ฒด์ ์ VM์ด๋ ์ปจํ ์ด๋ ํ๊ฒฝ์์ ๋์ํ๊ธฐ ์ํด ๋ค์ํ ๊ฐ์ํ ํด์ ๋์๋๋ ๋๋ผ์ด๋ฒ๊ฐ ์ค๋น๋์ด ์์ต๋๋ค.
์ด์์ฒด์ ์ ๋ฐ๋ผ minikube๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ํ ํด์ด ๋ค๋ฅธ๋ฐ์. ๊ฐ ์ด์์ฒด์ ๋ณ๋ก minikube๊ฐ ์ง์ํ๋ ๋ํ์ ์ธ ๊ฐ์ํ ํด์ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
Windows: Hyper-V(VM), Docker Desktop(VM + ์ปจํ ์ด๋)
macOS: HyperKit(VM), Docker Desktop (VM + ์ปจํ ์ด๋)
Linux: KVM(VM), Docker (์ปจํ ์ด๋)
์ฆ, ๊ฐ ์ด์์ฒด์ ๋ณ๋ก ์ ๊ฐ์ํ ํด์ด ์ค์น๋์ด์๋ค๋ฉด minikube๊ฐ ํด๋น ๊ฐ์ํ ๊ธฐ์ ์ ์ด์ฉํด์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ ์ ์๋ ๊ฒ์ ๋๋ค.
minikube๊ฐ ์คํ๋ ๋ ํด๋น ์ด์์ฒด์ ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ํ ํด์ ์๋์ผ๋ก ๊ฐ์งํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ์ค์ ์ ํ์์์ง๋ง, ๋ง์ฝ ๋ก์ปฌ PC์ ๊ฐ์ํ ํด์ด ์ฌ๋ฌ ๊ฐ ์ค์น๋์ด ์๋ ๊ฒฝ์ฐ์ ์ํ๋ค๋ฉด minikube๊ฐ ์ฌ์ฉํ ๊ฐ์ํ ํด์ ์ง์ ํ ์๋ ์์ต๋๋ค.
์ถ๊ฐ์ ์ธ ๋คํธ์ํฌ ์ค์ ์ด ํ์ํ์ง ํ์ธ
Kubernetes๋ ๊ฒฐ๊ตญ ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ํ๊ฒฝ๋ ์ค์ํฉ๋๋ค.
๊ธฐ์ ๋คํธ์ํฌ ํ๊ฒฝ์ด๋ ํน์ ๋คํธ์ํฌ ๊ตฌ์ฑ์์๋ ๋ฐฉํ๋ฒฝ์ด๋ VPN์ด minikube ํด๋ฌ์คํฐ ๋ด๋ถ ํต์ ๋๋ ์ธ๋ถ ์ธํฐ๋ท ์ ๊ทผ์ ์ฐจ๋จํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ์.
์ด๋ด ๋ ํ์ํ ํฌํธ๋ฅผ ๋ณ๋๋ก ์ด๊ฑฐ๋ VPN ์ค์ ์ ์กฐ์ ํ๋ ์ถ๊ฐ ์์ ์ด ํ์ํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ํ์ด๋ ์กฐ์ง ๋ด์์ minikube๋ก ๋คํธ์ํฌ ์ค์ ์ด ํ์ํ ๊ฒฝ์ฐ, ๋ฌด์๋ณด๋ค ์กฐ์ง ๋ด ๊ด๋ จ ์ ์ฑ ์ ๋จผ์ ํ์ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๊ธฐ์กด ํด๊ณผ์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ ํ์ธ
Windows๋ macOS๋ฅผ ์ฌ์ฉํ์ ๋ค๋ฉด Docker Desktop์ ์ด๋ฏธ ์ค์นํ์ จ์ ์ ์์ต๋๋ค.
Docker Desktop์ ์์ฒด์ ์ผ๋ก Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์คํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์๋๋ฐ์.
๋ง์ฝ ํด๋น ๊ธฐ๋ฅ์ ํ์ฑํํ ์ํ์์ minikube๋ฅผ ๋์์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค๋ฉด, kubectl ์ปจํ ์คํธ๋ ํฌํธ๊ฐ ์ถฉ๋ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ ์ค ํ๋๋ง ์ ํํด์ ์ฌ์ฉํ๊ฑฐ๋, kubectl ์ปจํ ์คํธ๋ฅผ ์ ์ ํ๊ณ ๋ช ํํ ์ ํํด์ผ ํฉ๋๋ค.
kubectl CLI๋ ๋ง์ด๋ ๋ฒ์ 1๋งํผ์ ๋ฒ์ ๋ด์ Kubernetes ํด๋ฌ์คํฐ์ ์์ ์ ์ผ๋ก ์ํธ์์ฉ ๊ฐ๋ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด, kubectl ๋ฒ์ ์ด 1.33์ด๋ผ๋ฉด, 1.32, 1.33, 1.34 ๋ฒ์ ์ Kubernetes์ ์์ ์ ์ผ๋ก ์ํธ์์ฉํ๋ ๊ฒ์ด์ฃ .
๊ทธ๋์ ๋ง์ฝ ๋ก์ปฌ์ ์ค์น๋ kubectl ๋ฒ์ ๊ณผ minikube๊ฐ ์์ฑํ๋ Kubernetes ํด๋ฌ์คํฐ์ ๋ฒ์ ์ฐจ์ด๊ฐ ๋๋ฌด ํฌ๋ฉด ์ผ๋ถ ๋ช ๋ น์ด๊ฐ ์์๋๋ก ๋์ํ์ง ์๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค.
๊ฐ๋ฅํ๋ค๋ฉด ๋ฒ์ ์ ๋ง์ถ๊ฑฐ๋, ๊ทธ๊ฒ ์ด๋ ต๋ค๋ฉด ๋ก์ปฌ์ ์ค์น๋ kubectl ๋์ minikube kubectl --
๋ช
๋ น์ด๋ก minikube ๋ด์ฅ kubectl์ ์ฌ์ฉํ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์
๋๋ค.
minikube๋ฅผ ์ค์นํ๊ธฐ ์ ์์๋ฌ์ผ ํ ์ ๊น์ง ์ดํด๋ดค๋๋ฐ์.
์ด์ minikube๋ฅผ ์ง์ ์ค์นํด์ ํด๋ฌ์คํฐ๋ ์์ฑํด๋ด์ผ๊ฒ ์ฃ ? ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐ๋ผ์ค์ค ์ ์๋๋ก ์ ๊ฐ ์ง์ ๊ฐ์ด๋๋ฅผ ์ค๋นํ์ผ๋ ๊ฐ์ด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๐ฅ๏ธminikube ์ค์น ๋ฐ ํด๋ฌ์คํฐ ์์ฑ ๊ฐ์ด๋
1๏ธโฃminikube ์ค์น
minikube ๊ณต์ ์ฌ์ดํธ์์๋ ์ด๋ฏธ ๊ฐ ์ด์์ฒด์ ๋ณ๋ก minikube๋ฅผ ์ฝ๊ฒ ์ค์นํ ์ ์๋๋ก ์คํฌ๋ฆฝํธ์ ๊ฐ์ด๋๋ฅผ ์ค๋นํด๋๊ณ ์์ต๋๋ค. ๊ฐ ์ด์์ฒด์ ๋ณ ์ค์น ๋ช ๋ น์ด๋ minikube ๊ณต์ ๋ฌธ์๋ฅผ ํ์ธํด์ฃผ์ธ์.
์ ๋ WSL ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ๊ณต์ ๋ฌธ์์ ๋์ค๋ Linux ์ด์์ฒด์ ๋ฅผ ์ํ ์๋ ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์์ ์คํํ์ฌ minikube๋ฅผ ์ฝ๊ฒ ์ค์นํ ์ ์์์ต๋๋ค.

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
minikube๊ฐ ์ ์ค์น๋์๋์ง ํ์ธํ๊ธฐ ์ํด ํฐ๋ฏธ๋์์ minikube version
๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ์๋์ ๊ฐ์ด ํ์ฌ ์ค์น๋ minikube์ ๋ฒ์ ์ด ํ์๋ฉ๋๋ค.

minikube ์ค์น๋ ์ ๋ง ์ด๊ฒ ์ ๋ถ์ ๋๋ค. ์ฐธ ์ฝ์ฃ ?
์ด์ minikube๋ก Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
2๏ธโฃminikube๋ก Kubernetes ํด๋ฌ์คํฐ ์์ฑ
๊ธฐ๋ณธ์ ์ธ ํด๋ฌ์คํฐ ์์ฑ์ minikube start
๋ช
๋ น์ด ๋ง์ผ๋ก๋ ๊ฐ๋ฅํ์ง๋ง, minikube์๋ Profile์ด๋ ๊ฐ๋
์ด ์์ด์ minikube๊ฐ ์์ฑํ๋ Kubernetes ํด๋ฌ์คํฐ๋ง๋ค ์ด๋ฆ์ ๋ถ์ฌ์ ๋ณ๋๋ก ๊ด๋ฆฌํ ์ ์๋๋ฐ์.
minikube start -p {ํ๋กํ๋ช
}
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ํ๋ ์ด๋ฆ์ k8s ํด๋ฌ์คํฐ๋ฅผ ์์ฑ ๊ฐ๋ฅํ ๊ฒ์
๋๋ค.
๋ก์ปฌ์์ ๋ค์ํ Kubernetes ์ค์ต๊ณผ ํ ์คํธ๋ฅผ ํ๊ธฐ์ ์ฉ์ดํ๋๋ก ์ฐ๋ฆฌ๋ minikube์ Profile ์ต์ ์ ํ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
์๋ ๋ช
๋ น์ด๋ฅผ ์คํํด์ k8s-test
๋ ์ด๋ฆ์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ฑํฉ๋๋ค.
minikube start -p k8s-test
๊ทธ๋ผ ์๋์ ๊ฐ์ด minikube๊ฐ k8s-test
๋ผ๋ ์ด๋ฆ์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด ํฐ๋ฏธ๋์ ํ์๋ฉ๋๋ค.

minikube start
๋ช
๋ น์ด ์คํ์ด ์๋ฃ๋์๋ค๋ฉด ์ค์ ๋ก Kubernetes ํด๋ฌ์คํฐ๊ฐ ์์ฑ๋์๋์ง ํ์ธํด๋ด์ผ๊ฒ ์ฃ ?
minikube status
๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด minikube ํด๋ฌ์คํฐ์ ํธ์คํธ, kubelet, Kubernetes API ์๋ฒ ๋ฑ์ ํด๋ฌ์คํฐ ์ํ ์ ๋ณด๋ฅผ ๊ฐ๋ตํ ๋ณด์ฌ์ค๋๋ค.
์ด๊ฑธ๋ก ํด๋ฌ์คํฐ๊ฐ ์ ์์ ์ผ๋ก ๋์ ์ค์ธ์ง, ์ฃผ์ Kubernetes ์ปดํฌ๋ํธ์ ๋ฌธ์ ๋ ์๋์ง ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์๋๋ฐ์.
์ ํฌ๋ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ ๋ Profile์ ์ง์ ํ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
minikube status -p k8s-test
๊ทธ๋ผ ์๋์ ๊ฐ์ด k8s-test
ํด๋ฌ์คํฐ์ ์ํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ชจ๋ ์ ์ ์๋ ์ค์ด๋ค์!

3๏ธโฃkubectl ์ฐ๋ ์ฌ๋ถ ํ์ธ
Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด kubectl CLI๊ฐ ํ์ํ์ฃ . ์ ๋ก์ปฌ PC์๋ ์ด๋ฏธ kubectl์ด ์ค์น๋์ด ์์๋๋ฐ์.
์์ง ์ด kubectl์ ๋ํด์๋ ์๋ฌด๊ฒ๋ ๊ฑด๋ค์ง ์์์ง๋ง, kubectl์ผ๋ก Pod๋ฅผ ์กฐํํ๋ ๋ช
๋ น์ด์ธ kubectl get pod
๋ฅผ ์คํํด๋ณด๊ฒ ์ต๋๋ค.

'default Namespace์ ๋ฆฌ์์ค๊ฐ ์๋ค'๋ ์๋ด ๋ฉ์์ง๊ฐ ๋จ๋ค์. kubectl์ด ํด๋ฌ์คํฐ์ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์๋ค๋ ๋ป์ ๋๋ค! ๊ทผ๋ฐ... ์ ๋๋ ๊ฑธ๊น์?
minikube๊ฐ k8s-test
ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๋ฉด์ ๊ธฐ์กด kubectl์ ์ค์ ์ ๋ฐ๊พธ๊ธฐ๋ผ๋ ํ ๊ฑธ๊น์?
๋ง์ต๋๋ค! minikube start
๋ช
๋ น์ด๊ฐ ์๋ฃ๋๋ฉด์ kubectl์ด minikube๊ฐ ์์ฑํ ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ปจํ
์คํธ๊ฐ ์๋์ผ๋ก ์
๋ฐ์ดํธ๋๊ฑฐ๋ ์.
๊ทธ๋์ minikube start
๋ช
๋ น์ด๊ฐ ์คํ๋ ๋ค์ kubectl config current-context
๋ช
๋ น์ด๋ฅผ ์คํํด์ ์ฌ์ฉ ์ค์ธ kubectl์ ์ปจํ
์คํธ๋ฅผ ์กฐํํ๋ฉด ์๋์ ๊ฐ์ด kubectl์ด k8s-test
ํด๋ฌ์คํฐ๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์๋ค๊ณ ํ์๋ฉ๋๋ค.

4๏ธโฃminikube Dashboard ์ดํด๋ณด๊ธฐ
๋ง์ง๋ง์ผ๋ก ์ดํด๋ณผ ๊ธฐ๋ฅ์ minikube์ ๋์๋ณด๋์ ๋๋ค.
Kubernetes ํด๋ฌ์คํฐ์ ์ํ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ์น ๊ธฐ๋ฐ ๋์๋ณด๋๋ฅผ ์คํํด์ ์น ๋ธ๋ผ์ฐ์ ์ ๋์์ฃผ๋ ๊ธฐ๋ฅ์ธ๋ฐ์.
์ด๋ฅผ ํตํด Pod๋ Deployment, Service ๋ฑ Kubernetes ๋ฆฌ์์ค ์ ๋ณด๋ฅผ GUI ํ๊ฒฝ์์ ํธ๋ฆฌํ๊ฒ ์กฐํํ๊ณ ๊ฐ๋จํ ๊ด๋ฆฌ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์๋ ๋ช
๋ น์ด๋ก k8s-test
ํด๋ฌ์คํฐ์ ๋ํ ๋์๋ณด๋๋ฅผ ์คํํด๋ณด๊ฒ ์ต๋๋ค.
minikube dashboard -p k8s-test
๊ทธ๋ผ ์๋์ ๊ฐ์ด ๋์๋ณด๋๊ฐ ๋์ ์ค์ด๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.

ํฐ๋ฏธ๋์ ํ์๋๋ ๋ฉ์์ง ๊ฐ์ฅ ์๋์ URL์ ํด๋ฆญํ๋ฉด, ์๋์ ๊ฐ์ด ์น ๋ธ๋ผ์ฐ์ ์์ ํด๋ฌ์คํฐ์ ๋ํ ๋์๋ณด๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.

์ง๊ธ์ ํด๋ฌ์คํฐ์ ์๋ฌด ๋ฆฌ์์ค๋ ์์ง๋ง, ์ค์ต์ด๋ ํ ์คํธํ๋ฉด์ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ๋ฐฐํฌํ๋๋ผ๋ ๋์๋ณด๋๋ก ํ๋์ ๋ณผ ์ ์๊ฒ ๋ฉ๋๋ค.
5๏ธโฃ์ฌ์ฉํ๋ minikube ํด๋ฌ์คํฐ ์ค์งํ๊ธฐ
๋ง์ฝ minikube ํด๋ฌ์คํฐ๋ก ์ค์ต์ด๋ ํ
์คํธ๋ฅผ ๋ง์ณค๋ค๋ฉด minikube stop
๋ช
๋ น์ด๋ก ํด๋ฌ์คํฐ๋ฅผ ๋ฉ์ถ ์ ์์ต๋๋ค.
ํด๋น ๋ช ๋ น์ด๋ ํด๋ฌ์คํฐ ์์ฑ์ ์ฌ์ฉ๋ ๊ฐ์ ๋จธ์ ๋๋ ์ปจํ ์ด๋๋ฅผ ์ค์ง์ํค์ง๋ง ๋ฐ์ดํฐ๋ ์ ์ง๋๋๋ฐ์.
๊ทธ๋์ ๋น์ฅ ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ์ง ์์ง๋ง ๋์ค์ ์ด์ด์ ์์
์ด ํ์ํ ๊ฒฝ์ฐ์ ๋ก์ปฌ PC์ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ๊ธฐ ์ํด minikube stop
๋ช
๋ น์ด๋ก ํด๋ฌ์คํฐ๋ฅผ ์ค์ง์ํต๋๋ค.
์๋ ๋ช
๋ น์ด๋ก k8s-test
ํด๋ฌ์คํฐ๋ฅผ ์ค์ง์์ผ๋ณด๊ฒ ์ต๋๋ค.
minikube stop -p k8s-test
๊ทธ๋ผ ์๋์ ๊ฐ์ด ํด๋น ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ ธ๋๊ฐ ์ค์ง๋์๋ค๋ ์๋ด ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.

๐ญ๋ง๋ฌด๋ฆฌ
์ง๊ธ๊น์ง Kubernetes ์ค์ต๊ณผ ํ ์คํธ์ minikube๊ฐ ์ ๋ฆฌํ ์ด์ ์ ์ค์น ์ ์ ์ํ ์ , minikube์ ๊ธฐ๋ณธ์ ์ธ ์ค์น ๋ฐ ์ฌ์ฉ ๋ฐฉ๋ฒ๊น์ง ์์๋ดค๋๋ฐ์.
minikube์ ๋ํด ์๊ณ ์์์ง๋ง ์์ง ์ค์นํ๊ฑฐ๋ ์ฌ์ฉํด๋ณด์ง ์์๋ ๋ถ๋ค์๊ฒ๋ ์ด ๊ฐ์ด๋๊ฐ ๋์์ด ๋ ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค.
minikube๋ฅผ ์ค์นํ๊ณ ํด๋ฌ์คํฐ ์์ฑ๊ณผ ๊ด๋ฆฌ๊น์ง ํด๋ดค์ผ๋, ์ค์ ๋ก ์ด ํด๋ฌ์คํฐ ์์์ Kubernetes ์ค์ต์ด๋ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํด์ ์ฌ์ฉํด๋ด์ผ๊ฒ ์ฃ ?
๊ทธ๋์ ๋ค์ ๊ธ์์๋ minikube ์์์ Kubernetes ๋ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํด์ ์ฌ์ฉํด๋ณด๋ ์ค์ต์ ์งํํด๋ณด๊ฒ ์ต๋๋ค.
๊ธฐ๋ํด์ฃผ์ธ์!
์ฐธ๊ณ ๋ฌธ์
โจ์ด๋ฒ ๋ด์ค๋ ํฐ๋ ์ด๋ ์ จ๋์?
์ด๋ฒ ๊ธ์์ ๋ค๋ฃฌ ์ฃผ์ ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ๋์ง ์๋ ค์ฃผ์ธ์! ๋ด์ค๋ ํฐ๋ฅผ ๋ ๋์ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ํ๊ธฐ ์ํด ์๋ ํผ์์ ์งง์ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์์ด์.
๐ ํผ๋๋ฐฑ ๋ณด๋ด๊ธฐ (1~2๋ถ ์์)
์ฌ๋ฌ๋ถ๋ค์ ์์คํ ์๊ฒฌ์ Aidenโs Lab ๋ด์ค๋ ํฐ์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค!
๐ญAidenโs Lab์์ ๋ ๋ง์ ์ํฐํด์ ๋ง๋๋ณด์ธ์
๋ฐํ๋ ๋ด์ค๋ ํฐ๋ฅผ ์์นด์ด๋นํ๊ณ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ๊ธฐ์ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ ์ค์ ๋๋ค.