๐ Docker ์ ๋ฌธ โ ฅ - Kubernetes
๐ Docker ์
๋ฌธ โ
ฅ - Kubernetes
๐
ใ๊ทธ๋ฆผ๊ณผ ์ค์ต์ผ๋ก ๋ฐฐ์ฐ๋ Docker & Kubernetesใ
๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
Kubernetes
๋?
Kubernetes
๋ ์คํ์์ค๋ก,Container Orchestration
๋๊ตฌ์ ์ผ์ข ์ด๋ค.- ์ฌ๋ฌ ๊ฐ์
Container
๋ฅผ ์งํํ๋ ๋๊ตฌ๋ฅผ ๋งํ๋ฉฐ,K8S
๋ผ๊ณ ์ค์ฌ์ฐ๊ธฐ๋ ํ๋ค. - ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋จธ๊ฐ
Kubernetes
๋ฅผ ํ๋ฐํ๊ฒ ์ฌ์ฉํ ์ผ์ ๋ง์ง ์๋ค. - ์๋ํ๋ฉด
Kubernetes
๋ ์ฌ๋ฌ ๋์Container
๊ฐ ์ฌ๋ฌ ๊ฐ์ ์๋ฒ์ ๊ฑธ์ณ ์คํ๋๋ ๊ฒ์ ์ ์ ๋ก ํ๊ธฐ ๋๋ฌธ์ด๋ค. - ๋ค๋ง
Kubernetes
๋ก ์ด๋ค ์ผ์ ํ ์ ์๋ ์ง ํ์ตํ๋ค๋ฉด ์์คํ ์ ๊ฐ๋ฐํ ๋ ์ ์ฉํ ์ ์๋ค. - ์ฌ๋ฌ ๋์ ์๋ฒ์์ ์ผ์ผ์ด
Container
๋ฅผ ์คํํ๊ณ ๊ด๋ฆฌํ๊ธฐ๋ ์ฌ์ด ์ผ์ด ์๋๋ค. - 20๊ฐ์
Container
๋ฅผ ๋ง๋ค๋ ค๋ฉดยdocker run
ย ๋ช ๋ น์ด๋ฅผ 20๋ฒ ์คํํด์ผ ํ๋๋ฐ,Kubernetes
๋ ์ด๋ฅผ ํธ๋ฆฌํ๊ฒ ํด์ค๋ค. Kubernetes
๋Docker Engine
๊ณผ๋ ๋ณ๊ฐ์ ์ํํธ์จ์ด์ด๋ค.Kubernetes
๋ ๊ณต์ ์ํํธ์จ์ด๊ฐ ์๋๋ฐ๋Third-party Software
๊ฐ ์ฌ๋ฟ ๋์จ๋ค.- ๊ณต์ ์ํํธ์จ์ด๊ฐ ์ฃผ๋ก ๋ง์ด ์ฐ์ด๊ณ , ์ง์ ๊ตฌ์ถํ๊ธฐ๋ ๊น๋ค๋กญ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก๋ย
AWS
ย ๋ฑ์ ํด๋ผ์ฐ๋ ์ปดํจํ ์๋น์คEC2
,ยFargate
(Worker Node
),ยEKS
(Master Node
)๋ฅผ ์ฌ์ฉํด ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ๋ ๋ง๋ค.
Master Node
์ Worker Node
Master Node
๋Worker Node
์์ ์คํ๋๋Container
๋ฅผ ๊ด๋ฆฌํ๋ค.Worker Node
๋Container
๊ฐ ์ค์ ๋์ํ๋ ์๋ฒ์ด๋ค.Master Node
์Worker Node
๋ก ๊ตฌ์ฑ๋ ์ผ๊ตฐ์Kubernetes
์์คํ ์ยCluster
๋ผ๊ณ ํ๋ค.Cluster
๋ ์ฌ๋์ด ๊ฐ์ ํ์ง ์์๋Master Node
์ ์ค์ ๋ ๋ด์ฉ์ ๋ฐ๋ผWorker Node
๊ฐ ๊ด๋ฆฌ๋๋ฉฐ ์์จ์ ์ผ๋ก ๋์ํ๋ค.Master Node
์๋Container
๋ฑ์ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํดยetcd
๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ค์น๋๋ค.Worker Node
์๋Docker Engine
๊ฐ์Container Engine
์ด ํ์ํ๋ค.Master Node
๋ ์ ์ดํ ์ญํ ์ ํ๋Control Plain
์ ํตํดWorker Node
๋ฅผ ๊ด๋ฆฌํ๋ค.
Control Plain
๊ตฌ์ฑ
kube-apiserver
:ยkubectl
์์ ๋ช ๋ น์ ์ ๋ฌ ๋ฐ์ ์ธ๋ถ์ ํต์ ํ๋ ํ๋ก์ธ์คkube-controller-manager
: ์ปจํธ๋กค๋ฌ๋ฅผ ํตํฉ, ๊ด๋ฆฌ, ์คํํ๋ค.kube-scheduler
:POD
๋ฅผWorker Node
์ ํ ๋นํ๋ค.cloud-controller-manager
: ํด๋ผ์ฐ๋ ์๋น์ค์ ์ฐ๋ํด ์๋น์ค๋ฅผ ์์ฑํ๋ค.etcd
:Cluster
๊ด๋ จ ์ ๋ณด ์ ๋ฐ์ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค.
Worker Node
๊ตฌ์ฑ
kube-let
:Master Node
์ยkube-scheduler
์ ์ฐ๋ํ์ฌWorker Node
์POD
๋ฅผ ๋ฐฐ์น ๋ฐ ์คํํ๋ค.- ์คํ ์ค์ธ
POD
์ ์ํ๋ฅผ ์ ๊ธฐ์ ์ผ๋กMonitoring
ํ์ฌยkube-scheduler
์ ํต์งํ๋ค. kube-proxy
:Network
ํต์ ์Routing
๋ฉ์ปค๋์ฆ
Kubernetes
๋ ํญ์ โ๋ฐ๋์งํ ์ํโ๋ฅผ ์ ์งํ๋ค.
"Container๋ 4๊ฐ, ๋ณผ๋ฅจ์ 4๊ฐ๋ก ๊ตฌ์ฑํ๋ผ"
์ ๊ฐ์ด ์ด๋ค โ๋ฐ๋์งํ ์ํโ๋ฅผยYAML
ย ํ์ผ์ ์ ์ํ๊ณ , ์๋์ผ๋กContainer
๋ฅผ ์์ฑํ๊ฑฐ๋ ์ญ์ ํ๋ฉด์ ์ด ์ํ๋ฅผ ๋ง๋ค๊ณ ์ ์งํ๋ค.Kubernetes
์ ์ ์ ํ์ผ์ ๋ช ๋ น์ด๋ก ์์ ์ด ๊ฐ๋ฅํ๋ฉฐ,ยetcd
ย ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ด๋ฆฌ๋๋ค.- ๋ฐ๋ฉด
Docker-compose
๋Monitoring
๊ธฐ๋ฅ์ด ์์ด์Container
๋ง๋ค ๋ ์ธ์๋ ๊ด์ฌํ์ง๋ ์๊ณ , ๋ช ๋ น์ด๋ก ์์ ๋ ๋ถ๊ฐํ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ด๋ฆฌํ์ง๋ ์๋๋ค. Kubernetes
๊ฐ ์ ์ ํ์ผ์ ์ฝ์ด ๋ค์ธ ํ ๋ช ๋ น์ด๋ก ์ง์ ์ฒ๋ฆฌ๋ฅผ ํ๋ฉด ๊ฐ๊ณ ์๋ ์ ์ ํ์ผ๊ณผยetcd
์ ์ ์ฅ๋ ์ ๋ณด๊ฐ ์ผ์นํ์ง ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค.Container
ํ๋๊ฐ ๋ง๊ฐ์ง๋ฉด ํด๋นContainer
๋ฅผ ์๋ ์ญ์ ํ๊ณ ์Container
๋ก ๋์ฒดํ๋ค.Container
๋ฅผ ํ๋ ์ค์ด๊ณ ์ถ๋ค๋ฉด ์ญ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ ๊ฒ ์๋๋ผ ํ์ผ์์ โ๋ฐ๋์งํ ์ํโ๋ฅผ ์์ ํด์ผ ํ๋ค.- ์ง์ ์ญ์ ํ ์๋ ์์ผ๋
Docker
๋ช ๋ น์ด๋ฅผ ์จ์ ์ญ์ ํ๋ฉดKubernetes
๊ฐContainer
๊ฐ ํ๋ ๋ถ์กฑํ๋ค๋ ๊ฒ์ ํ์งํ๊ณContainer
๋ฅผ ๋ณด์ถฉํด๋ฒ๋ฆฐ๋ค. - ๊ทธ๋ฌ๋ฏ๋ก
Kubernetes
๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ฌ๋์ด ๊ฐ์ ํด์Container
๋ฅผ ๊ด๋ฆฌํด์๋ ์ ๋๋ค.
Load Balancer
์ Cloud Computing
โ
Load Balancer
- ํ ๋์ ์๋ฒ์ ๋ชจ๋ ์์ฒญ์ด ์ง์ค๋์ง ์๋๋ก ์ฌ๋ฌ ๋์ ์๋ฒ๋ฅผ ๊ฐ์ถ๊ณ ์์ฒญ์ ๊ฐ ์๋ฒ์ ๋ถ์ฐํ๋ ์ฅ์น
- ์๋ฒ์ ๋ค์ด์ค๋ ์์ฒญ์ ๋ง์ ๋๋ ์๊ณ ์ ์ ๋๋ ์๋ค.
- ์์ฒญ์ด ๋ง์ ๋ ๊ฐ์ถฐ ๋์ ์๋ฒ๊ฐ ์์ฒญ์ด ์ ์ ๋์๋ ๊ทธ๋งํผ ๋๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ด ๋ญ๋น๋๋ค.
- ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ๋ ๊ฒ์ด
Docker
,Kubernetes
,Cloud Computing
์๋น์ค๋ค.
โ
Cloud Computing
Cloud Computing
์๋น์ค์๋ยAWS
,ย์ ์
,ยGCP
์ด ์๋ค.- ์์ฒญ์ด ๋ง์ ๊ธฐ๊ฐ์
Cloud
์์ ์๋ฒ๋ฅผ ๋๋ฆฌ๋ ์ฒด์ ๋ฅผ ๊ฐ์ถ๋ฉด ๋๋ค. - ์ด๋ ๊ฒ ์๋ฒ๋ฅผ ์ฝ๊ฒ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๋ ๊ตฌ์กฐ๋ฅผย ํ์ฅ์ฑ์ด ์ข๋ค๊ณ ๋งํ๋ค.
Kubernetes
์ ๊ตฌ์ฑ
Kubernetes
์์Container
๋ยPOD
๋ผ๋ ๋จ์๋ก ๊ด๋ฆฌ๋๋ค.POD
๋Container
์ ๋ณผ๋ฅจ์ ํจ๊ป ๋ฌถ์ ๊ฒ์ผ๋ก, ๊ธฐ๋ณธ์ ์ผ๋กPOD
ํ๋๊ฐContainer
ํ๋์ง๋งContainer
๊ฐ ์ฌ๋ฌ ๊ฐ์ธPOD
๋ ์์ ์ ์๋ค.POD
๋ฅผ ๋ชจ์ ๊ฒ์ดยService
์ธ๋ฐ,Load Balancer
์ญํ ์ ์ํํ๋ค.- ๊ฐ
Service
๋ ์๋์ ์ผ๋ก ๊ณ ์ ๋ยIP
ย ์ฃผ์(Cluster IP
)๋ฅผ ๋ถ์ฌ ๋ฐ์ ์ด ์ฃผ์๋ก ๋ค์ด์ค๋ ํต์ ์ ์ฒ๋ฆฌํ๋ค. - ๋ด๋ถ์
POD
๊ฐ ์ฌ๋ฌ ๊ฐ ์์ด๋ ๋ฐ์์๋ ํ๋์ ์ฃผ์๋ง ์กด์ฌํ๋ฉฐ ์ด ์ฃผ์๋ก ๋ค์ด์ค๋ ์์ฒญ์Service
๊ฐ ์ ์ ํ ๋ถ๋ฐฐํ๋ฉฐ,Service
๊ฐ ๋ถ๋ฐฐํ๋ ํต์ ์ ํWorker Node
์์ผ๋ก ๊ตญํ๋๋ค. - ์์ธ์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์
Worker Node
์ ๊ฑธ์ณ ์คํ๋๋๋ผ๋ ๋์ผ ๊ตฌ์ฑ์POD
๋ ํ๋์ ์๋น์ค๊ฐ ๊ด๋ฆฌํ๋ค. - ์ฌ๋ฌ
Worker Node
๊ฐ์ ๋ถ๋ฐฐ๋ ์ค์ Load Balancer
๋๋Ingress
๊ฐ ๋ด๋นํ๋๋ฐ, ์ด๋ค์Master Node
๋Worker Node
๋ ์๋ ๋ณ๋์Node
์์ ๊ตฌ๋๋๊ฑฐ๋ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฉ ํ๋์จ์ด์ด๋ค. Replicaย Sets
๋POD
์ ์๋ฅผ ๊ด๋ฆฌํ๋ค.- ์ฅ์ ๋ฑ์ ์ด์ ๋ก
POD
๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ์ ์ ํ์ผ์ ์ ์๋POD
์ ์๊ฐ ๊ฐ์ํ๋ฉด ์ค์ ๋กPOD
์ ์๋ฅผ ์กฐ์ ํ๋ค. Replicaย Sets
๊ฐ ๊ด๋ฆฌํ๋ ๋์ผํ ๊ตฌ์ฑ์POD
๋ฅผยReplica
๋ผ๊ณ ํ๋ค.- ๊ทธ๋ฌ๋ฏ๋ก
POD
์ ์๋ฅผ ์กฐ์ ํ๋ ๊ฒ์Replica
์ ์๋ฅผ ์กฐ์ ํ๋ค๊ณ ํ๋ค. Replicaย Sets
๋ ๋จ๋ ์ผ๋ก ์ฐ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋๋ฌผ๊ณ ยDeployment
์ ํจ๊ป ์ฐ์ผ ๋๊ฐ ๋ง๋ค.Deployment
๋POD
๊ฐ ์ฌ์ฉํ๋Image
๋ฑPOD
์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ค.POD
, ์๋น์ค,Replicaย Sets
,Deployment
๋ฑ์ยResource
๋ผ๊ณ ํ๋ค.Resource
๋ ๋ชจ๋ 50 ์ฌ ์ข ๋ฅ๊ฐ ์๋๋ฐ ์ธ์ธ ํ์ ์์ด ํ์์ ์ํด ํ์ตํ๋ฉด ๋๋ค.
Object
์ Instance
Resource
๊ฐยetcd
์ ๋ฑ๋ก๋ ์ํ์์๋ โโโ Object
โ ํํ๋ก ๊ด๋ฆฌ๋๋ค.- ๊ทธ๋์
Resource
๋ฅผยObject
๋ผ๊ณ ๋ ํ๋ค. Kubernetes
๋ยetcd
์ ๋ฑ๋ก๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ค์ POD
๋Service
๋ฅผ ์์ฑํ๋๋ฐ, ์ด๋ ์ค์ ๋ก ์์ฑ๋ ๊ฒ์ยInstance
๋ผ๊ณ ํ๋ค.
์๋ฒ ํ ๋๋ก๋ Kubernetes
๋ฅผ ์ฌ์ฉํ ์ ์์๊น?
- ์๊ท๋ชจ ์๋น์ค๋ผ๊ณ
Kubernetes
๊ฐ ๋ถํ์ํ์ง๋ ์๋ค. POD
๊ฐ ์ฅ์ ๋ฑ์ผ๋ก ๋ง๊ฐ์ง ๊ฒฝ์ฐ ์๋์ผ๋กPOD
๋ฅผ ์์ฑํด ๋์ฒดํ๋ฏ๋ก ๊ด๋ฆฌ๊ฐ ํธํด์ง๋ค.- ํนํ
Cloud
ํ๊ฒฝ์์๋ ๊ด๋ฆฌ ์์๊ฐ ์ค์ด ๋ค์ด ์ด๋ฐ ์ฅ์ ์ด ๊ทน๋ํ ๋๋ค.
Kubernetes
ํ์ต ํ๊ฒฝ
Kubernetes
๋ ๋ณธ๋ ๋๊ท๋ชจ ์์คํ ์ด ์ ์ ์กฐ๊ฑด์ด๋ค.- ๋ฐ๋ผ์
Master Node
์Worker Node
๋ ๋ณ๋์ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ๋ก ์ค์ ํ์ง๋ง,Docker Desktop
์ ๋ด์ฅ๋Kubernetes
์๋ ์ปดํจํฐ ํ ๋์Master Node
์Worker Node
๋ฅผ ๋ชจ๋ ๊ตฌ์ถํ๋ค. - ํ์ต ํ๊ฒฝ์์๋ ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- ํ์ง๋ง
Desktop
๋ด์ฅKubernetes
๋ฅผ ์ฌ์ฉํด ๋ช ๋ น์ด๋ ์ ์ ํ์ผ ์์ฑ ์ฐ์ต์ ๊ฐ๋ฅํ์ง๋ง ์ค์ ํ๊ฒฝ๊ณผ ์ฐจ์ด๊ฐ ํฌ๊ธฐ ๋๋ฌธ์Kubernetes
๋ฅผ ๋ชจ๋ ์ตํ๊ธฐ ์ด๋ ต๋ค. Kubernetes
๋ ์ปดํจํฐ์Resource
๋ฅผ ์๋ชจํ๋ฏ๋ก ์ฌ์ฉํ์ง ์์ ๋๋ ํ์ ์์ ์ ์ง์ฅ์ ์ค ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์์ผ๋ฉดKubernetes
๋ฅผ ๋นํ์ฑํ ํด์ผ ํ๋ค.
Manifest File
Kubernetes
๋Manifest File
์ ๊ธฐ์ฌ๋ ๋ด์ฉ์ ๋ฐ๋ผPOD
๋ฅผ ์์ฑํ๋ค.Manifest File
์ ๋ด์ฉ์Kubernetes
์ ์ ๋ก๋ํ๋ฉดยetcd
์ โ๋ฐ๋์งํ ์ํโ๋ก ๋ฑ๋ก๋์ด ์๋ฒ ํ๊ฒฝ์ ์ด ์ํ๋ก ์ ์งํ๋ค.Manifest File
์ยYAML
ย ๋๋ยJSON
ย ํ์์ผ๋ก ๊ธฐ์ฌํ๋ค.JSON
ย ํ์์ ์ปดํจํฐ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ฏ๋ก ์ฌ๋์ด ์ค์ ํ์ผ์ ์ฝ๊ณ ์ด๋ค๋ฉดยYAML
ย ํ์ผ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.Manifest File
๋ช ์ ๋ฐ๋ก ์ ํด์ ธ ์์ง ์์ง๋งย ๋ค๋ฅธ ์ฌ๋๋ ์ดํดํ ์ ์๋ ์ด๋ฆ์ผ๋ก ์ง๋๋ก ํ์.
Manifest File
์ Resource
๋จ์๋ก ์์ฑํ๋ค.
POD
ํญ๋ชฉ์Kubernetes
์ต๋ ์ฅ์ ์ธ ์๋์ผ๋ก ์ค์ ๋ ๊ฐ์๋ฅผ ์ ์งํ๋ ๊ธฐ๋ฅ์ด ์๊ณ ์ ๋งPOD
๋ง์ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ํญ๋ชฉ์ด๋ฏ๋ก ์์ฑํ์ง ์๋๋ค.POD
๋Replicaย Sets
์Deployment
๋ฅผ ํตํด ๊ด๋ฆฌ๋๋๋ฐ,Replicaย Sets
์ญ์Deployment
์ ์ํด ๊ฐ์๊ฐ ๊ด๋ฆฌ๋๋ฏ๋ก ์์ฑํ์ง ์๋๋ค.- ์์ฝํ์๋ฉด
Deployment
ํญ๋ชฉ์ผ๋กReplicaย Sets
์POD
๋ฅผ ๊ด๋ฆฌํ๋ค. Manifest File
์Resource
๋จ์๋ก ๋ถํ ํด ์์ฑํด๋ ๋๊ณ , ํ ํ์ผ์ ํฉ์ณ ์์ฑํด๋ ๋๋ค.- ํ ํ์ผ๋ก ์์ฑํ ๋๋ ๊ฐ
Resource
๋ฅผย---
๋ก ๊ตฌ๋ถํ๋ค.
Manifest File
์์ฑ
- ์ฃผ ํญ๋ชฉ์๋ย
API
ย ๊ทธ๋ฃน ๋ฐ ์ ํ ๋ฑ์Resource
์ค์ ๊ณผMeta Data
,Spec
์ ์์ฑํ๋ค. POD
๋Service
๊ฐ์Resource
์ ์ํ๋Label
์ ๋ถ์ผ ์๋ ์๋ค.Label
์ ๋ถ์ฌํ๋ฉดSelector
๊ธฐ๋ฅ์ ์ฌ์ฉํด ํน์ Label
์ด ๋ถ์ฌ๋POD
๋ง์ ๋ฐฐํฌํ ์ ์๋ค.
POD
์์ Volume
POD
์์Volume
์POD
๋ฐ์์๋ ์ ๊ทผํ ์ ์์ผ๋ฏ๋กContainer
๊ฐ์ ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ์ํด ์ฃผ๋ก ์ฌ์ฉ๋๋ค.- ์๋ฅผ ๋ค์ด ์ฃผ ํ๋ก๊ทธ๋จ์ด ๋ค์ด ์๋
Container
์Log Monitoring Program
์ด ๋ค์ด์๋Container
๋ฅผ ํ๋์POD
๋ก ๊ตฌ์ฑํ์ฌLog
๋ฅผ ์ถ๋ ฅํVolume
์ ๋ง๋ค์ด ์ดVolume
์ ๊ณต์ ํ๊ฒ ํ๋ฉด ๋Container
๊ฐLog
์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋ค.
POD
์ Manifest File
์์ฑ
- ์ค์ ๋ก๋
POD
์Manifest File
์ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ๋๋ฌผ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
apiVersion: v1
kind: Pod
metadata:
name: ์ปจํ
์ด๋๋ช
labels:
app: ๋ ์ด๋ธ๋ช
spec:
containers:
- name: ์ปจํ
์ด๋๋ช
image: httpd
ports:
- containerPort: 80
Deployment
์ Manifest File
์์ฑ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
apiVersion: apps/v1
kind: Deployment
metadata:
name: ์ปจํ
์ด๋๋ช
spec:
selector:
matchLabels:
app: ๋ ์ด๋ธ๋ช
replicas: 3
template:
metadata:
labels:
app: ๋ ์ด๋ธ๋ช
spec:
containers:
- name: ์ปจํ
์ด๋๋ช
image: ์ด๋ฏธ์ง๋ช
ports:
- containerPort: 80
Service
์ Manifest File
์์ฑ
1
2
3
4
5
6
7
8
9
10
11
12
13
apiVersion: v1
kind: Service
metadata:
name: ์ปจํ
์ด๋๋ช
spec:
type: NodePort
ports:
- port: 8099
targetPort: 80
protocol: TCP
nodePort: 30080
selector:
app: ๋ ์ด๋ธ๋ช
Deployment
์์๋Selector
์matchLabels
ํญ๋ชฉ์ ์ฌ์ฉํ์ง๋งService
์์๋ ์ฌ์ฉํ๋ฉด ์ ๋๋ค.Deployment
์matchLabels
ํญ๋ชฉ์ ํด๋น ์กฐ๊ฑด์ ๋ถํฉํ ๊ฒฝ์ฐ๋ฅผ ํฌํจํ์ง๋ง ๋ด๋ถ ๋์์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์Service
์์๋ ์ง์ Resource
๋ฅผ ์ง์ ํ๋ค.
Kubernetes
๋ช
๋ น์ด
1
kubectl ์ปค๋งจ๋ ์ต์
- ์ผ๋ฐ์ ์ธ ํ์์ ์์ ๊ฐ๋ค.
- ๋ช
๋ น์ ํ๋ ํ๋ ์คํํ๋ฉฐ ๋ฐ์ํ๋
Docker
์ ๋ฌ๋ฆฌKubernetes
๋Manifest File
๋ด์ฉ์ ๋ฐ๋ผ ํ ๋ฒ์ ๋ชจ๋Resource
๋ฅผ ์์ฑํ๋ค. - ์ฆ โ๋ฐ๋์งํ ์ํโ๋ฅผ
Kubernetes
๊ฐ ์ง์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์์ ์ผ๋ก ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ์ผ์ ๋๋ฌผ๋ค.
Manifest File
๋ก POD
/Service
์์ฑ ์ค์ต
โ
POD
์์ฑ
1
kubectl apply -f ํ์ผ๊ฒฝ๋ก๋ช
โ ์์ฑ ์ฌ๋ถ ํ์ธ
Deployment
์Manifest File
๋ก ์์ฑ๋๋ ๊ฒ์POD
์ด๋ฏ๋ก ์ง์ ์ ๊ทผํด ๋์์ ํ์ธํ ์ ์๋ค.- ์ด๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์
Service
๋ถํฐ๋ค. - ๋์ ๋ค์๊ณผ ๊ฐ์ด
POD
/Service
์ ๋ชฉ๋ก์ ํ์ธํ ์ ์๋ค.
1
2
3
4
5
# POD ๋ชฉ๋ก ํ์ธ
kubectl get pods
# Service ๋ชฉ๋ก ํ์ธ
kubectl get services
โ ์ ๋ฆฌ
1
2
3
4
5
6
7
8
9
10
11
# Deployment ์ญ์
kubectl delete -f ํ์ผ๊ฒฝ๋ก๋ช
# Deployment ๋ชฉ๋ก ํ์ธ
kubectl get deployment
# Service ์ญ์
kubectl delete -f ํ์ผ๊ฒฝ๋ก๋ช
# Service ๋ชฉ๋ก ํ์ธ
kubectl get service
ํ๊ณ
- ์ฑ
์ ๋๊น์ง ์ฝ์ด์ผ๊ฒ ๋ค๋ ์๊ฐ์ผ๋ก ๋๊น์ง ์ ๋ฆฌํด๋ณด์์ง๋ง,
Kubernetes
๋ ์ฌ์ค ์ค์ต์ ํ๋ฉด์๋ ๋ด์ฉ์ด ํฌ๊ฒ ์๋ฟ์ง ์์๋๋ฐ, ์ถํ ํ๋ก์ ํธ์ ์ ์ฉํ๋ฉด์ ๊ณต๋ถํ๋ ์๊ฐ์ด ํ์ํ ๊ฒ ๊ฐ๋ค.
This post is licensed under CC BY 4.0 by the author.