
์ง๋๋ฒ ๋์ปค์ ์ด์ด์ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค!
๋์ปค์ ์ปจํ ์ด๋ ๊ด๋ จ ๋ด์ฉ๐๐ป
https://minjoo-space.tistory.com/19
Docker - ๋์ปค ๊ฐ๋
๋์ปค(Docker) Go์ธ์ด๋ก ์์ฑ๋ ๋ฆฌ๋ ์ค ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์คํ์์ค ๊ฐ์ํ ํ๋ซํผ ๋ณต์กํ ๋ฆฌ๋ ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋๋ก ๋ฌถ์ด์ ์คํ์ด ๊ฐ๋ฅํ๋ฉฐ, ๊ฐ๋ฐ, ํ ์คํธ, ์๋น์ค ํ๊ฒฝ์ ํ๋๋ก ํต์ผํ์ฌ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ..
minjoo-space.tistory.com
์ฟ ๋ฒ๋คํฐ์ค๋?
์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ
์ด๋๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ํด
์ปจํ
์ด๋ํ๋ ์ํฌ๋ก๋์ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ด์์ฑ์ด ์๊ณ , ํ์ฅ๊ฐ๋ฅํ ์คํ์์ค ํ๋ซํผ
์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋๊ฐ?
https://www.youtube.com/watch?v=S3FVcdZcZnA-์ถ์ฒ:๋ ธ๋ง๋์ฝ๋
https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/
- ์ปจํ ์ด๋ ๊ด๋ฆฌ (์๋ํ๋ ๋ณต๊ตฌ)
์ปจํ ์ด๋ ์ค ํ๋๊ฐ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด, ํด๋น ์ปจํ ์ด๋๋ฅผ ์ฌ์์ํด์ผํ๋๋ฐ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ปจํ ์ด๋๋ค์ ๋ชจ๋ํฐ๋ง์ ์ค์ํ์ฌ ์๋์ผ๋ก ์ฌ์์ํ๊ฒ ๋์์ค๋ค. ๋ฐ๋ผ์, ์ปจํ ์ด๋๊ฐ ๋ง์ ๊ฒฝ์ฐ ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ
์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์์์ ํด๋น ๋์ฆ์ ๋ง์ถฐ์ ์ปจํ ์ด๋๋ค์ ์ค๋นํ๊ณ , ๋์ฆ๊ฐ ์ค์ด๋ค๋ฉด ์ปจํ ์ด๋๋ฅผ ์ง์ ํด๋ ์ต์์ซ์๋ก ์๋์กฐ์ ํ๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ DNS ์ด๋ฆ์ ์ฌ์ฉํ๊ฑฐ๋ ์์ฒด IP ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ๋ ธ์ถํ ์ ์์ด์ ์ปจํ ์ด๋์ ๋ํ ํธ๋ํฝ์ด ๋ง์ผ๋ฉด, ์ฟ ๋ฒ๋คํฐ์ค๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ก๋๋ฐธ๋ฐ์ฑํ๊ณ ๋ฐฐํฌํ์ฌ ๋ฐฐํฌ๊ฐ ์์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ์ ์๋ค.
์ฆ, ์์์ ๋ง์ถฐ ์ปจํ ์ด๋๋ฅผ ์ ๋์ ์ผ๋ก ๋ง์ถฐ์ฃผ๋ ์ญํ ์ ํ๋ค.
- ๋กค๋ง ์ ๋ฐ์ดํธ
์ฝ๋์ ๋ฒ๊ทธ๋ฅผ ๊ณ ์น๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ ๋, ์๋์ ์ผ๋ก ํ ์ ์๋๋ก ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ๋์์ค๋ค. ์๋ฅผ ๋ค์ด ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์๋ํํด์ ๋ฐฐํฌ์ฉ ์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค๊ณ , ๊ธฐ์กด ์ปจํ ์ด๋๋ฅผ ์ ๊ฑฐํ๊ณ , ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ์ ์ปจํ ์ด๋์ ์ ์ฉํ ์ ์๋ค.

์ปจํ ์ด๋๋ก ์์ ์ ํ ๋, ์๋ํํด์ผํ ๊ฒ๋ค์ด ๋ง์๋ฐ ์ด๋ฅผ ๋์์ฃผ๋ ๊ฒ์ด ์ฟ ๋ฒ๋คํฐ์ค์ด๋ค!
์ฟ ๋ฒ๋คํฐ์ค ์ฉ์ด

๋ง์คํฐ: ํด๋ฌ์คํฐ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ค. ์ฟ ๋ฒ๋คํฐ์ค ๋ ธ๋๋ฅผ ์ ์ดํ๋ ๋จธ์ ์ผ๋ก, ์ฌ๊ธฐ์์ ๋ชจ๋ ํ ์คํฌ ํ ๋น์ด ์์๋๋ค.
ํด๋ฌ์คํฐ: ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ๋์ ์์คํ ์ฒ๋ผ ๋์ํ๋ ์ปดํจํฐ๋ค์ ์งํฉ์ ๋งํ๋ค.
๋ ธ๋: ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ๋๋ ๋จธ์ ์ด๋ค. ํ ๋น๋ ํ ์คํฌ๋ฅผ ์์ฒญ๋๋ก ์ํํ๋ ์์คํ ์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค ๋ง์คํฐ๊ฐ ์ด๋ฌํ ๋ ธ๋๋ฅผ ์ ์ดํ๋ค.
ํฌ๋: ๋จ์ผ ๋ ธ๋์ ๋ฐฐํฌ๋ ํ๋ ์ด์์ ์ปจํ ์ด๋ ๊ทธ๋ฃน์ผ๋ก, ํฌ๋์ ์๋ ๋ชจ๋ ์ปจํ ์ด๋๋ IP ์ฃผ์, IPC, ํธ์คํธ ์ด๋ฆ, ๊ธฐํ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ฉฐ ํฌ๋๋ ๊ธฐ๋ณธ ์ปจํ ์ด๋์์ ๋คํธ์ํฌ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ถ์ํํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํด๋ฌ์คํฐ์์ ์ปจํ ์ด๋๋ฅผ ๋ ์ฝ๊ฒ ์ด๋ํ ์ ์๋ค.
๋ณต์ ์ปจํธ๋กค๋ฌ: ์ด ์ปจํธ๋กค๋ฌ๋ ํด๋ฌ์คํฐ์์ ์คํ๋์ด์ผ ํ๋ ๋์ผํ ํฌ๋ ์ฌ๋ณธ์ ๊ฐ์๋ฅผ ์ ์ด
์๋น์ค: ํฌ๋์์ ์์ ์ ์๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค ํ๋ก์๋ ํด๋ฌ์คํฐ์์ ๋ค๋ฅธ ์์น๋ก ์ด๋ํ ๊ฒฝ์ฐ๋ ๊ต์ฒด๋ ๊ฒฝ์ฐ๋ ์๋น์ค ์์ฒญ์ ์ ์ ํ ํฌ๋๋ก ์๋ ์์
Kubelet: ์ด ์๋น์ค๋ ๋ ธ๋์์ ์คํ๋๋ฉฐ ์ปจํ ์ด๋ ๋งค๋ํ์คํธ๋ฅผ ์ฝ๊ณ , ์ ์๋ ์ปจํ ์ด๋๊ฐ ์์๋์ด ์คํ ์ค์ธ์ง ํ์ธ
kubectl: ์ฟ ๋ฒ๋คํฐ์ค์ ๋ช ๋ น์ค ์ค์ ํด
์ฟ ๋ฒ๋คํฐ์ค ์ค์ตํ๊ธฐ
https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/
Using Minikube to Create a Cluster
Objectives Learn what a Kubernetes cluster is. Learn what Minikube is. Start a Kubernetes cluster using an online terminal. Kubernetes Clusters Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit. The
kubernetes.io

minikube๊ฐ ์ ์ค์น๋์๋์ง ํ์ธํ๊ณ ์คํํ์๋ค.
Minikube๋?
Minikube๋ ๋ก์ปฌ ๋จธ์ ์ VM์ ๋ง๋ค๊ณ ํ๋์ ๋ ธ๋๋ก ๊ตฌ์ฑ๋ ๊ฐ๋จํ ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ๋ ๊ฐ๋ฒผ์ด ์ฟ ๋ฒ๋คํฐ์ค ๊ตฌํ์ฒด๋ค. Minikube๋ ๋ฆฌ๋ ์ค, ๋งฅ, ์๋์ฐ ์์คํ ์์ ๊ตฌ๋์ด ๊ฐ๋ฅํ๋ฉฐ, Minikube CLI๋ ํด๋ฌ์คํฐ์ ๋ํด ์์, ์ค์ง, ์ํ์กฐํ ๋ฐ ์ญ์ ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ๋ถํธ์คํธ๋ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.

kubectl๋ช ๋ น์ผ๋ก ์ฌ๋ฌ์์ ์ด ๊ฐ๋ฅํ๋ค.
- kubectl version - ๋ฒ์ ์ฒดํฌ
- kubectl describe - ๋ฆฌ์์ค์ ๋ํ ์์ธํ ์ ๋ณด
- kubectl logs - ํฌ๋์ ์ปจํ ์ด๋๋ก๋ถํฐ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ๋ค
- kubectl exec - ํฌ๋์ ์ปจํ ์ด๋์์ ๋ช ๋ น์ ์คํํ๋ค

kubectl cluster-info - ํด๋ฌ์คํฐ ๋ํ ์ผ์ ์๋ ค์ค๋ค
kubectl get nodes - ํด๋ฌ์คํฐ ์์์ ๋ ธ๋๋ฅผ ๋ณด๊ธฐ ์ํด์ ์คํ
Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์คํํ๊ณ ๋๋ฉด ์ปจํ ์ด๋ํ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ทธ ์์ ๋ฐฐํฌ ํ ์ ์๊ฒ๋๋ค!
์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๊ณต๋ถํ๋๊ฐ?

์ฟ ๋ฒ๋คํฐ์ค๋ ๋ถํ์ ๋ฐ๋ผ ์๋์ผ๋ก ์๋ฒ๋ฅผ ๋๋ฆฌ๋ ๊ธฐ๋ฅAutoScaling์ด ์๊ณ IP๋ฅผ ํ ๋น๋ฐ์ ๋ก๋๋ฐธ๋ฐ์คLoadBalance๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ์ปจํ ์ด๋ ๋ด๋ถ ๋๋ ํ ๋ฆฌ์ ๋ง์ดํธํ์ฌ ์ฌ์ฉํ๋ ๊ฒ๋ ์ผ๋ฐ์ ์ธ๋ฐ ์ด๋ฅผ ์ํด ํด๋ผ์ฐ๋ ๋ณ๋ก ์ ์ ํ API๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋์ด ํ์ํฉ๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ Cloud Controller๋ฅผ ์ด์ฉํ์ฌ ํด๋ผ์ฐ๋ ์ฐ๋์ ์์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. AWS, ๊ตฌ๊ธ ํด๋ผ์ฐ๋, ๋ง์ดํฌ๋ก์ํํธ ์ ์ ๋ ๋ฌผ๋ก ์์ญ ๊ฐ์ ํด๋ผ์ฐ๋ ์ ์ฒด์์ ๋ชจ๋์ ์ ๊ณตํ์ฌ ๊ด๋ฆฌ์๋ ๋์ผํ ์ค์ ํ์ผ์ ์๋ก ๋ค๋ฅธ ํด๋ผ์ฐ๋์์ ๋์ผํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋๋ฆฌ ์๋ ค์ง ๋ฐ์ ๊ฐ์ด ๊ตฌ๊ธ์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๋ง๋ ์ฅ๋ณธ์ด์ ๊ฐ์ฅ ํฌ๊ฒ ์ด๋ฐ์งํ๊ณ ํ๊ณ ์๋ ์ฌ์ ์์ ๋๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ ํด๋ผ์ฐ๋ ์ปดํจํ ์ ๊ณ์์ ์ต์ ๋ฒ์ ์ ์ฟ ๋ฒ๋คํฐ์ค ์ ์ฉ ์๋๊ฐ ๊ฐ์ฅ ๋น ๋ฆ ๋๋ค.๋จ์ ์ง์์ด ์๋๋ผ ๊ด๋ฆฌ, ํ์ฅ, ์ ๊ทธ๋ ์ด๋, ๋ฐฑ์ , ๋ณด์ ๋ฑ์ ๋ชจ๋ ๊ตฌ๊ธ์ด ์ฑ ์์ง๋ ๋งค๋์ง๋ ์๋น์ค์ธ Google Kubernetes Engine์ ๋ฐ์ํ์ฌ, ๋ชจ๋ ๊ณ ๊ฐ์ด ์ฟ ๋ฒ๋คํฐ์ค์ ๊ธฐ์ ์ , ๊ธฐ๋ฅ์ ๊ฐ์ ์ฌํญ์ ๋๋ฆด ์ ์๊ฒ ํฉ๋๋ค. ์ฆ, GCP ์ฌ์ฉ ๊ธฐ์ ์ ์ฟ ๋ฒ๋คํฐ์ค๋ ๋ ์ต์ ๋ฒ์ ์ด ์ ์ง๋๋ค๊ณ ๋ด๋ ๋ฉ๋๋ค. ๋ฐ๋ก ์ด ์ ์ด ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ํตํด ์๋ฒ ๋ฆฌ์ค ์ปดํจํ ์ด๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ๊ตฌํํ๊ณ ์ ํ๋ ์กฐ์ง์์ GCP๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ ค ๋์์ ์ฌ๋ ค ๋๋ ์ด์ ์ ๋๋ค.
'GCP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Qwiklab : Cloud Engineering (0) | 2020.05.16 |
---|---|
GCP flowchart (0) | 2020.04.18 |
GCP ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ์ฉ์ด ์ ๋ฆฌ (0) | 2020.04.11 |
Docker - ๋์ปค ์ฌ์ฉ๋ฒ (0) | 2020.03.30 |
Docker - ๋์ปค ๊ฐ๋ (0) | 2020.03.29 |