Seungwoo Hong
Front-end developer
๐ย ์ฟ ๋ฒ๋คํฐ์ค๋ ๋ฌด์์ธ๊ฐ?
๐ค ย ํด๋ฌ์คํธ์ ๋ ธ๋
๐ฝย ๋ค์์คํ์ด์ค
๐ณ ํ๋
๐ฆ ๋ ํ๋ฆฌ์นด์ธํธ
๐ ๋ํด๋ก์ด๋จผํธ
๐ ์๋น์ค
๐ธ ์ธ๊ทธ๋ ์ค
์ฟ ๋ฒ๋คํฐ์ค๋ ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ ์ปจํ ์ด๋ ์ด์์ ์๋ํํ๊ธฐ ์ํ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ
๐ค ย ํด๋ฌ์คํธ์ ๋ ธ๋
๐ฝย ๋ค์์คํ์ด์ค
๐ณ ํ๋
๐ฆ ๋ ํ๋ฆฌ์นด์ธํธ
๐ ๋ํด๋ก์ด๋จผํธ
๐ ์๋น์ค
๐ธ ์ธ๊ทธ๋ ์ค
๐คย ์ปจํผ๊ทธ๋งต
๐ฝย ํผ์์คํดํธ๋ณผ๋ฅจ
๐ณ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์
๐ฆ ์คํ ๋ฆฌ์งํด๋์ค
๐ ์คํ
์ดํธํด์ธํธ
๐ ์ก
๐ธ ์ธํฌ๋ก ์ก
๐ค ย ํด๋ฌ์คํธ์ ๋ ธ๋
๐ฝย ๋ค์์คํ์ด์ค
๐ณ ํ๋
๐ฆ ๋ ํ๋ฆฌ์นด์ธํธ
๐ ๋ํด๋ก์ด๋จผํธ
๐ ์๋น์ค
๐ธ ์ธ๊ทธ๋ ์ค
+ ๐ฆ๋ ์ด๋ธ๊ณผ ์ ๋ ํฐ
Kubernetes install
Kubernetes install
๋นจ๊ฐ๋ฐ์ค ์ฒดํฌ ํ Apply ํด๋ฆญ!
Kubernetes install
์ผ์ชฝ ํ๋จ ๋ฌ๋ ํ์ ํ์ธ!
kubectl์ ์ฟ ๋ค๋นํฐ์ค ๋ฆฌ์์ค๋ค์ ๋ค๋ฃจ๊ธฐ ์ํ CLI ์ ๋๋ค.
kubectl install
kubectl install
์ค์น ๋ฐฉ๋ฒ
2. homebrew๋ฅผ ํตํ ์ค์น
kubectl install
์ค์น ๋ฐฉ๋ฒ
2. homebrew๋ฅผ ํตํ ์ค์น
kubectl install
$ brew install kubectl2. homebrew๋ฅผ ํตํ ์ค์น
Cluster Achitecture
1๊ฐ์ ๋ง์คํฐ ๋ ธ๋์ 1๊ฐ ์ด์์ ์์ปค ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง ๋ ผ๋ฆฌ์ ์ธย ์งํฉ
Cluster Achitecture
๐โโ๏ธ๋ง์คํฐ ๋ ธ๋ - ์์ปค๋ ธ๋์๊ฒ API๋ฅผ ํตํด ๋ช ๋ น๋ฅผ ๋ด๋ฆฐ๋ค.
๐จโ๐ญ ์์ปค๋ ธ๋ - ํ๋์ ๋ฌผ๋ฆฌ์ ์ธ ์ปดํจํฐ๋ก ๋ง์คํฐ๋ ธ๋์ ๋ช ๋ น์ ๋ฐ์ ํ๋๋ฅผ ๋ฐฐ์นํ๋ค. ex) EC2, GCE ์ธ์คํด์ค
Kubernetes components
Kubernetes components
ย ์ฟ ๋ฒ๋คํฐ์ค ์ปดํฌ๋ํธ
๐โโ๏ธ ์ปจํธ๋กค ํ๋ ์ธ ์ปดํฌ๋ํธ
๐จโ๐ญ ๋ ธ๋ ์ปดํฌ๋ํธ
Kubernetes components
ย ์ฟ ๋ฒ๋คํฐ์ค ์ปดํฌ๋ํธ
๐โโ๏ธ ์ปจํธ๋กค ํ๋ ์ธ ์ปดํฌ๋ํธ = ๋ง์คํฐ ๋ ธ๋
๐ทโโ๏ธ ๋ ธ๋ ์ปดํฌ๋ํธ = ์์ปค ๋ ธ๋
Kubernetes components
์ปจํธ๋กค ํ๋ ์ธ ์ปดํฌ๋ํธ ๊ตฌ์ฑ์์?
๐ถ kube-apiserver
๐ฑ etcd
๐น kube-scheduler
๐ฆ kube-controller-manager
๐ป cloud-cotroller-manager
Kubernetes components
ํด๋ฌ์คํฐ ๋ฆฌ์์ค๋ฅผ ์ ์ดํ๊ณ ๊ด๋ฆฌํ๋ API๋ก์จ API๋ฅผ ์ธ๋ถ๋ก ๋ ธ์ถ์ํจ ์ปดํฌ๋ํธ์ธ kubectl๋ฅผ ๊ฐ์ง๊ณ ์กฐ์์ด ๊ฐ๋ฅํ๋ค.
Kubernetes components
key / value ๋ฐ์ดํฐ ์คํ ์ด์ด๋ค. ํด๋ฌ์คํฐ ๋ฆฌ์์ค์ ์ ๋ฐ์ ์ธ ๋ฐ์ดํฐ(pod name, ..)๋ฅผ ๊ฐ์ง๊ณ ์๊ณ API๊ฐ ์ด ์คํ ์ด๋ฅผ ์ฐธ์กฐํ๋ค.
Kubernetes components
์๋ก์ด ํ๋๊ฐ ์๊ธฐ๋ฉด ๋ฐฐ์น๋ ๋ ธ๋๋ฅผ ์ ํ๊ณ ์คํํ๋ค.
Kubernetes components
ย API๋ก๋ถํฐ ๋ช ๋ น์ ๋ฐ์ ๋ฆฌ์์ค๋ฅผ ์ ์ดํ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํํ๋ค.
Kubernetes components
Cloud ์ปจํธ๋กค ๋ก์ง์ ํฌํจํ๊ณ ์ญํ ์ kube-controller-manager์ ๊ฐ์ผ๋ฉฐ, ํด๋ผ์ฐ๋ ์ ์ฉ์ด๋ค
Kubernetes components
๐ถ kubelet
๐ฑ kube-proxy
๐น ์ปจํ ์ด๋ ๋ฐํ์
Kubernetes components
ํ๋์ ์ปจํ ์ด๋ ๋์์ ๊ด๋ฆฌํ๊ณ ๋ง์คํฐ ๋ ธ๋๋ apiserver๋ฅผย ํตํด ๊ฐ ์์ปค๋ ธ๋์ kubelet์ ์ ๊ทผํ์ฌ ํ๋๋ฅผ ๊ด๋ฆฌํ๋ค.
Kubernetes components
kube-proxy๋ ํด๋ฌ์คํฐ์ ๊ฐ ๋ ธ๋์์ ์คํ๋๋ ๋คํธ์ํฌ ํ๋ก์๋ก ๋ ธ๋์ ๋คํธ์ํฌ๋ฅผ ์ ์งํ๊ณ ๊ด๋ฆฌํ๋ค.
Kubernetes components
์ปจํ ์ด๋ ๋ฐํ์์ ์ปจํ ์ด๋ ์คํ์ ๋ด๋นํ๋ ์ํํธ์จ์ด์ด๋ค.
ย ์ฟ ๋ฒ๋คํฐ์ค๋ ๋์ปค ์ธ containerd, CRI-Oย ๊ทธ๋ฆฌ๊ณ Kubernetes CRI ๋ค์ํ๊ฒ ์ง์ํ๋ค.
ย namespace
ย namespace
+ Docker namespace
ย namespace
Docker for mac ์ ํตํด ๋จ์ผ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ๋ฉด docker namespace๋ ์๊ธด๋ค
ย namespace
ย namespace
ย namespace
--all-namespaces ์ต์ ์ผ๋ก ๋ชจ๋ ๋ค์์คํ์ด์ค ๋ด์ฉ ํ์ธ
ย namespace
ย namespace
ย namespace
ย namespace
pod
์ปจํ ์ด๋๊ฐ ๋ชจ์ธ ์งํฉ์ฒด๋ก, ํ๋ ์ด์์ ์ปจํ ์ด๋๋ก ์ด๋ฃจ์ด์ง๋ค. nginx๋ ์น์ดํ๋ฆฌ์ผ์ด์ (react-app) ์ฒ๋ผ ๊ฐํ ๊ฒฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง๋ ๊ฒ๋ค์ ์ปจํ ์ด๋ 2๊ฐ ์ด์์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค ์ค ๊ฐ์ฅ ์์ ๋จ์
pod
๋ค๋ฅธ ๋ ธ๋์ ์ปจ๋ค์ดํฐ๋ ํ๋๋ก ๊ฒฐํฉ์ ํ ์ ์๋ค.
pod
์ ์ ๊ตฌ์ฑ ์์
pod
pod
pod
pod
pod
pod
--overwrite ์ต์ ์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ ์ถ๊ฐ๋ ๋ ์ด๋ธ์์ ๊ฐ๋ฅ
label ๋ช ๋ น์ ์ด์ฉํ์ฌ key=value ํํ๋ก ์ถ๊ฐ ๊ฐ๋ฅ
ํค ๋ค์ -๋ฅผ ๋ถ์ด๋ฉด ๋ ์ด๋ธ์ด ์ญ์ ๋๋ค
--show-labels ์ต์ ์ ์ด์ฉํ์ฌ ๋ ์ด๋ธ ์กฐํ ๊ฐ๋ฅ
๋ ์ด๋ธ์ด ๋ง์์ง๋ฉด ๋ณด๊ธฐ ์ด๋ ค์ธ ์ ์๋๋ฐ, -L์ต์ ์ ์ฌ์ฉํ๋ฉด ํน์ ์ปฌ๋ผ๋ง ์กฐํ ๊ฐ๋ฅํ๋ค.
์๋ฌธ์ -l์ ์ฌ์ฉํ๋ฉด ๋ฆฌ์์ค ํํฐ๋ง์ด ๊ฐ๋ฅํ๋ค.
replicaset
replicaset
replicaset
replicaset
replicaset
replicaset
replicaset
scale ๋ช ๋ น์ ์ด์ฉํ ์ค์ผ์ผ๋ง
replicaset
edit ๋ช ๋ น์ ์ด์ฉํ ์ค์ผ์ผ๋ง
ย deployment
ย deployment
By Seungwoo Hong