๊ฐ์ ๊ณ ๊ฐ์ฌ์์ coreDNS ์ชฝ ์ง์๊ฐ ์ ๋๋ค๋ ์์ฒญ์ ๋ฐ๋ค๋ณด๋ ์๊ฒ ๋ ์ ๋ณด๋ค์ ์ ๋ฆฌํฉ๋๋ค..! ํ๋์์ FQDN ์์ฒญ ์, coreDNS๋ ์ด๋ป๊ฒ ๋์ํ ๊น? ํ๋ ๋ด์์ {๋๋ฉ์ธ}์ผ๋ก ์ง์๋ฅผ ํ๊ฒ ๋๋ฉด ํ๋ ๋ด์ /etc/resolv.conf์ search ๋ฆฌ์คํธ๋ฅผ ๋ถ์ฌ๊ฐ๋ฉฐ coreDNS์ ์ง์๋ฅผ ํ๊ฒ ๋ฉ๋๋ค. ์ง์ ์์ {๋๋ฉ์ธ}.ingress-nginx-system.svc.cluster.local {๋๋ฉ์ธ}.svc.cluster.local {๋๋ฉ์ธ}.cluster.local {๋๋ฉ์ธ}.tail3cceb.ts.net ๋ค๋ ์์ต๋๋ค. ๋ฆฌ์์ค ๋จ์ CPU CPU ๋จ์๋ ์ฝ์ด๋ก ์ ์ ๋ฉ๋๋ค. ์์ 1 = 1์ฝ์ด 0.5 = 0.5์ฝ์ด 500m = 0.5์ฝ์ด ์ฟ ๋ฒ๋คํฐ์ค์์ CPU ๋ฆฌ์์ค๋ฅผ 1m๋ณด๋ค ๋ ์ ๋ฐํ ๋จ์๋ก ํ๊ธฐํ ์ ์์ต๋๋ค. ๋๋ฌธ
https://metallb.universe.tf/concepts/layer2/ metalLB ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. Metal...LB..? layer 2๋ชจ๋์์๋ ์๋น์ค IP์ ๋ํ ๋ชจ๋๋ ํธ๋ํฝ์ด ํ๋์ ๋ ธ๋๋ก ๊ฐ๊ฒ ๋๋ค. ๊ทธ ํ, kube-proxy์ ์ํด ํธ๋ํฝ๋ค์ด ์๋น์ค ํ๋๋ก ๋ถ์ฐ๋๊ฒ ๋๋ค. ๋ฐ๋ผ์ layer 2๋ชจ๋์์๋ load balaner์ด๋ผ๊ณ ๋ณด๊ธฐ๋ ์ด๋ ต์ง๋ง, failover ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋์ธ ๋ ธ๋์ ํน์ ํ ์ด์ ๋ก ์ฅ์ ๊ฐ ๋ ์ง๋ผ๋ ๋ค๋ฅธ ๋ ธ๋๋ก ์๋์ผ๋ก ๋ฆฌ๋ ์ญํ ์ด ๋์ด๊ฐ๊ฒ ๋๋ค. memberlist์ ์ํด ์ฅ์ ๋ ธ๋๊ฐ ๊ฐ์ง ๋๊ณ , ์๋ก์ด ๋ ธ๋๋ ์ฅ์ ๋ ธ๋๋ก๋ถํฐ IP๋ฅผ ๊ฐ์ ธ์ค๊ฒ ๋๋ค. layer 2 mode์ ํ๊ณ layer 2 ๋ชจ๋์์๋ 2๊ฐ์ง์ ์ฃผ์ํ ํ๊ณ๊ฐ ์์ต๋๋ค. single-node bottlenecking potentially slow failover ์์์ ์ธ๊ธํ๋ฏ์ด layer 2 ๋ชจ๋์ ๋จ์ผ ๋ฆฌ
๊ฐ์ master ๋ค์คํ๊ฐ ๋์ด ์๋ kubernetes cluster์ etcd cluster save ๋ฐ restore ๋ฐฉ๋ฒ ์ฌ์ ์๊ตฌ์ฌํญ etcd pod์ ์ง์ execํ์ฌ ์คํํ ์ ์์ง๋ง, kubectl cp๊ฐ ๋ถ๊ฐ๋ฅ ํ ๊ฒฝ์ฐ snapshot ํ์ผ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ etcdctl binary ํ์ผ์ด ํ์ํฉ๋๋ค. etcdctl ์ค์น๋ฐฉ๋ฒ etcdctl ์ค์ etcdctl์ etcd ์ธ์ฆ์๋ฅผ ์ฐธ์กฐํ์ฌ etcd์ ํต์ ํ์ฌ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์คํํ ๋๋ง๋ค ์์ฑํ๋ฉด ๋ฒ๊ฑฐ๋ก์ฐ๋ alias๋ก ๋ฑ๋กํด์ค์๋ค. ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ snapshot ์ ์ฅ snapshot ์ํํ์ธ snapshot ๋ณต๊ตฌ ๋ง์คํฐ๋ ธ๋์์ ๊ฐ๊ฐ ์งํํฉ๋๋ค. ์ฐธ๊ณ ๋ฌธ์ etcdctl ์ค์น [https://etcd.io/docs/v3.4/op-guide/recov
์๋ฌ์ํฉ ํ์ดํ๋ผ์ธ์ ์คํํ๋ ๊ณผ์ ์์ podman-build ํ์คํฌ๊ฐ ์คํ์กฐ์ฐจ ๋์ง ์์ ํ์ธํ ๊ฒฐ๊ณผ,more than one PersistentVolumeClaim is bound ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ์์์ต๋๋ค. ์์ธ ํ์ดํ๋ผ์ธ ๊ตฌ์กฐ ํ์คํฌ ์ฝ๋ git-clone podman-build workspace ์ ์ ๋ ๊ฐ ์ด์์ workspace์์ ํ๋์ pvc๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํด์ ์๊ธฐ๋ ๋ฌธ์ ์ ๋๋ค. git-clone ํ์คํฌ์์ ์ด๋ฏธ s2i workspace ( cicd-pvc )๋ฅผ ์ฌ์ฉํ๋๋ฐ, podman-build ํ์คํฌ์์ ๋ ๋ค์ s2i workspace ( cicd-pvc )๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ์ฌ ์๋ฌ๊ฐ ๋ ์ํฉ์ ๋๋ค. ํด๊ฒฐ๋ฐฉ๋ฒ
๊ฐ์ kubelet์ ์ ์ฅ ๊ฐ๋ฅํ ๋ก๊ทธ ํ์ผ์ ํฌ๊ธฐ๋ default๋ก 10Mi๋ก ์ค์ ๋์ด ์์ด, 10Mi๊ฐ ๋๋ ๋ก๊ทธ๋ ์ ์ฒด ๋ก๊ทธ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ค์ ๋ณ๊ฒฝ vi /etc/kubernetes/kubelet-config.yaml ์ ์คํํฉ๋๋ค. ContainerLogMaxSize ํ๋๋ฅผ ์ํ๋ ์ฉ๋์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค. systemctl restart kubelet kubelet ์๋น์ค๋ฅผ ์ฌ๊ธฐ๋ํฉ๋๋ค.
๊ฐ์ ์ ๊ฒ ์, Running ์ํ๊ฐ ์๋ ํ๋ ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก describe๋ฅผ ํ์ธํ์ฌ Event ํ์ธ์ด ํ์ํฉ๋๋ค. 1, 2๊ฐ์ผ ๊ฒฝ์ฐ ์์์ ์ผ๋ก ํ์ธ์ด ์ฝ์ง๋ง, pod๋ node๊ฐ ๋ง์ ๊ฒฝ์ฐ ์ด๋ ค์์ด ์์ด pod๋ running, completed ์ํ๊ฐ ์๋๋ฉด, node๋ Ready ์ํ๊ฐ ์๋๋ฉด describe ํ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ ์ฅํ๋๋ก shell scripts ๋ฅผ ์์ฑํ์์ต๋๋ค.
0. ๊ฐ์ kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ต์ด ์ค์น ์, ์์ฑ๋๋ ์ธ์ฆ์์ ๊ธฐํ์ 1๋ ์ ๋๋ค. ์ด ์ธ์ฆ์ ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋๋ฉด kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ด, ์ธ์ฆ์๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ํด์ผ ํฉ๋๋ค. 0.1. ํ๊ฒฝ Master Node 3๋, Worker Node 2๋ k8s ๋ฒ์ 1.19.4 1. ์์ ์ ๋ฐฑ์ etcd ๋ฐฑ์ >๋ฒ์ ์ ๋ฐ๋ผ ์ธ์ฆ์์ ๊ฒฝ๋ก๊ฐ ssl์ด ์๋ pki์ธ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ธ์ฆ์ ๋ฐฑ์ ์์ง๋์ด๋ผ๋ฉด ํญ์ ๋ฐฑ์ ์ ํ์ โโ > ๊ฐ Master Node์ ์ธ์ฆ์๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, ๋ชจ๋ Master Node์์ ๊ฐ๊ฐ ๋ฐฑ์ ํ์ฌ์ผ ํฉ๋๋ค. 2. ์ธ์ฆ์ ๊ฐฑ์ kubernetes version <= 1.19 ์ดํ kubernetes verion ์ธ์ฆ์ ๋ ์ง ๊ฐฑ์ ํ์ธ static pod ์ฌ๊ธฐ๋ kube-scheduler, kube-apiserver, kube-controller-manager
0. ๊ฐ์ 0.1. ํ๊ฒฝ 0.1.1. OS ๋ฒ์ CentOS Linux 7.9 OS๋ rpm ํ์ผ ๋ค์ด ์ ์ํฅ์ด ์์ต๋๋ค. 0.1.2. cluster ํ๊ฒฝ maseter/woker 1๋, worker 2๋๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. CONTAINER-RUNTIME์ cri-o๋ฅผ ์ฌ์ฉํฉ๋๋ค. 0.2. ์์ ๋ชฉํ kubernetes 1.19.x๋ฅผ 1.21.x๋ก ์ ๊ทธ๋ ์ด๋ ํ๊ธฐ 0.3. ํ์ํ ๋ด์ฉ ๋ฐฑ์ vi /etc/kubernetes/manifests/kube-apiserver.yaml๊ฐ ์ด๊ธฐํ ๋๊ธฐ ๋๋ฌธ์ ์ค์ 1. Setting 1.1. kubernetes repo ์ถ๊ฐ kubernetes 1.20.1๊ณผ 1.21.14 ํจํค์ง๋ฅผ ๋ฐ๊ธฐ ์ํ repo๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ [install-kubectl-linux](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#in
๋ช ๋ น์ด๋ก ์กฐํ ์, EXTERNAL-IP์ IP๊ฐ ํ ๋น ๋์ด์ผ ํ์ง๋ง Pending ์ํ์ธ ์๋น์ค๊ฐ ์์์ต๋๋ค. metallb-controller ํ๋์ ๋ก๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ์ธ ๊ฒฐ๊ณผ data.config.address-pools.addresses ์คํ์์ 192.168......-192.168.... ์ฒ๋ผ ๋์ญ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฌธ์ ๊ฐ ์์ง๋ง - 192.168..... ์ ๊ฐ์ด ํ๊ฐ์ ip๋ง ์ง์ ํ๋ค๋ฉด prefix (/32) ๋ฅผ ์ง์ ํด์ฃผ์ด์ผํฉ๋๋ค.
ํ๋๊ฐ Terminating ์ํ๊ฐ ๋์์. ๋ ธ๋ ์กฐํ ํด๋ณด๋ ๋ ธ๋ NotReady์ํ ํด๋น ๋ ธ๋ VM์ด ๊บผ์ ธ ์์์ --> os ๊ฐ ๊บผ์ง๊ณ VM์ด ๊บผ์ ธ์ผํ๋๋ฐ, VM์ ๋ฐ๋ก ๊บผ๋ฒ๋ ค์ ๋ฌธ์ ๊ฐ ์๊น VM ์ฌ๊ธฐ๋ ํ๊ณ kubelet, crio ์ฌ๊ธฐ๋ ํ๋๊ฐ ์ฌ๋ผ์ง๊ณ ์ปจํ ์ด๋๋ ์ฌ๋ผ์ง deploy 0/1์ด๊ณ rs๋ ์์ฑ๋์ด ์๋ ์ํ deploy replicas 0์ผ๋ก ๋ด๋ฆฌ๊ณ rs ์ญ์ ํ, replicas 1๋ก ๋ค์ ์ฌ๋ฆฌ๋ฉด ์ ์ํ 6-7 ๊ณผ์ ์คํจ ์, mutator ์ด์ ํ์ธ ํ์
Error ์ํฉ Error ์์ธ calico-node๊ฐ nic๊ฐ ๋ ๊ฐ์ผ ๋ ์ด๋ค ์ธํฐํ์ด์ค๋ฅผ ์ฐพ์๊ฐ์ผ ํ ์ง ๋ชฐ๋ผ์ ์๊ธฐ๋ ์๋ฌ ์ ํ๊ฒฝ ๊ฐ์ ๊ฒฝ์ฐ์์๋ ens192 ์ธํฐํ์ด์ค์ ip๋ก ์ง์ ๋์ด์ผ ํ๋๋ฐ 10๋ฒ๋ ip๋ฅผ ๊ฐ์ง cni0 ์ธํฐํ์ด์ค๋ก calico-node๊ฐ ์ ํ์ ํด 192๋ฒ๋ ip์ BGP๊ฐ ๋ถ๊ฐ๋ฅํ์๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ calico version์ด 3.13.* ๋ฒ์ ์ด๋ผ cidr ์ ํตํ ~ ๋ ๋ถ๊ฐ๋ฅํ์ฌ cni ์ธํฐํ์ด์ค๋ฅผ ์ฐธ์กฐํ์ง ์๋๋ก calico-node์ daemonset env ๋ฅผ ์์ ํ์ฌ์ ํด๊ฒฐํ์์ต๋๋ค. Excluding matching interfaces ์๋์ Including matching interfaces์ ๊ฐ์ด ์ธํฐํ์ด์ค๋ช ์ ์ง์ ์ง์ ํ๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅํ์ง๋ง ํ ๋ ธ๋์์ master1์ ์ธํฐํ์ด์ค ์ด๋ฆ์ด ๋ค๋ฅด๊ณ ens๋ก ์์ํ๋ ์ธํฐํ์ด์ค๊ฐ ๋ ๊ฐ๋ผ \*๊ณผ ๊ฐ์ ์ ๊ท์์ผ๋ก ์ธํฐํ์ด์ค
์ํฉ calico.yaml์ ํตํด calico๋ฅผ ๋ฐฐํฌํ๋ ๊ณผ์ ์์ calico pod๊ฐ ํด๋น ์๋ฌ๋ฅผ ์ถ๋ ฅํ๋ฉฐ pod ์ํ๊ฐ ContainerCreating ์ํ๋ก ์ ์ง๋๋ ์ํฉ ํ๊ฒฝ |ํจํค์ง|๋ฒ์ | |---|---| |CentOS|7.7 |cri-o|1.17.4 -> 1.19.2 ์์ธ cri-o version 1.17.4์์ cri-o 1.19.2๋ก ์ฌ์ค์น ํ์์ผ๋ ์ธ๋ถ ์ฐ๊ฒฐ์ด ๋์ง ์์ ํ์๋ง ํ๊ฒฝ์ด๊ธฐ ๋๋ฌธ์ ์์กด์ฑ ํจํค์ง๋ค์ด ์ ๋ฐ์ดํธ ๋์ง ์์ ์๊ธด์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ 1.19.2์ ๋ง๋ containerd ๋ฒ์ ์ ์๋ก ์ค์นํ๋, ์ ์์ ์ผ๋ก pod ์๋ ์ ์ฐจ cri-o ๋ฒ์ ์ ๋ง๋ containerd rpm ํ์ผ ๋ค์ด๋ก๋ ํฉ๋๋ค. https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ rpm ํ์ผ์ ์ด์ฉํ์ฌ containerd๋ฅผ ์ ๋ฒ์ ์ผ๋ก ์ค์นํฉ๋๋ค. ํจํค์ง ์ ๊ทธ๋ ์ด๋
kubeadm init ์ผ๋ก ํด๋ฌ์คํฐ ์์ฑ ์, join์ ํ์ํ token, hash์ ํจ๊ป join ์ปค๋งจ๋๊ฐ ๋์ค์ง๋ง, ์ด token์ ์ ํจ๊ธฐ๊ฐ์ด 24์๊ฐ์ด๊ณ , ๊ฐ์ ๋ฐ๋ก ๋ณต์ฌํด๋์ง ์์ผ๋ฉด join์ ํ ์ ์๊ฒ ๋ฉ๋๋ค. ์์ Step 1. kubernetes api-server์ token, hash ํ์ธ ํด๋ฌ์คํฐ์ main master node๋ก ์ ์ํฉ๋๋ค. ํด๋ฌ์คํฐ์ ํ ํฐ์ ํ์ธํฉ๋๋ค. ํ ํฐ์ด ์๋ค๋ฉด ํ ํฐ์ ์์ฑํฉ๋๋ค. hash ๊ฐ์ ์กฐํํฉ๋๋ค. Step 2. node๋ฅผ ํด๋ฌ์คํฐ์ joinํ์ฌ ์ถ๊ฐ joinํ node๋ก ์ ์ํฉ๋๋ค. ์กฐํํ token๊ฐ๊ณผ hash ๊ฐ์ ์ฌ์ฉํ์ฌ join ํฉ๋๋ค. master node๋ก ๋์๊ฐ node๊ฐ ์ถ๊ฐ ๋์๋์ง ํ์ธํฉ๋๋ค. > ํ ํฐ ์์ฑ ์, --print-join-command ์ต์ ์ ์ฌ์ฉํ๋ฉด Step 1์ ๊ณผ์ ์ ์๋ตํ๊ณ ๋ฐ๋ก join ์ปค๋งจ๋๋ฅผ ํ์ธ
๋ชฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ๋๋ก ์คํ์ธ ํด๋ฌ์คํฐ์์ master node / woker node๋ฅผ ์ ๊ฑฐ ํ๊ธฐ ์ํจ ํ๊ฒฝ ํด๋น ๋ฌธ์์์ ์ฌ์ฉ๋ ์ปจํ ์ด๋ ๋ฐํ์์ cri-o์ ๋๋ค. |ํจํค์ง|๋ฒ์ | |---|---| |cri-o|1.17.4| |kubernetes|v1.17.6| ์์ Step 1. ์ ๊ฑฐํ node๋ฅผ ์ค์ผ์ค ๋ถ๊ฐ๋ก ํ์ node ๋ชฉ๋ก์ ์กฐํํ์ฌ ์ ๊ฑฐํ node๋ฅผ ํ์ธํฉ๋๋ค. cordon์ ์คํํ์ฌ node๋ฅผ ์ค์ผ์ค ๋ถ๊ฐ๋ก ํ์ํฉ๋๋ค. ๋ ธ๋๋ฅผ ์ค์ผ์ค ๋ถ๊ฐ๋ก ํ์ํ๋ฉด ์ค์ผ์ค๋ฌ๊ฐ ํด๋น ๋ ธ๋์ ์ ํ๋๋ฅผ ๋ฐฐ์นํ ์ ์์ง๋ง, ๋ ธ๋์ ์๋ ๊ธฐ์กด ํ๋์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. node ๋ชฉ๋ก์ ์กฐํํ์ฌ ์ ๊ฑฐํ node๊ฐ SchedulingDisabled ์ํ์ธ์ง ํ์ธํฉ๋๋ค. Step 2. drain ํ์ฌ pod๋ฅผ ์ ์งํ node๋ก ์ด๋ Node์ PDB๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. PDB๊ฐ ์๋ค๋ฉด, PDB ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์
Control plane์ ์ฌ๋ฌ๊ฐ๋ก ํ๋ ์ด์ Kubernetes์์ Control plane(์ดํ CP)์ ๋ ธ๋๋ค์ ๊ด๋ฆฌํฉ๋๋ค. ์์คํ ์ ์ฅ์ ๊ฐ ์๊ธฐ๋ฉด ์๋ฌด๊ฒ๋ ๊ด๋ฆฌ ํ ์ ์๊ธฐ ๋๋ฌธ์ Sigle Point of Failure ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ณ ๊ฐ์ฉ์ฑ์ ์ํด CP๋ฅผ ์ฌ๋ฌ ๊ฐ ๋๋๋ฐ ์ด ๋ ์ง์๊ฐ๋ก ์์ฑํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. Control plane์ ํ์๊ฐ๋ก ๊ตฌ์ฑํ๋ ์ด์ Control plane์๋ etcd๋ผ๋ ์คํ ๋ฆฌ์ง๊ฐ ์์ต๋๋ค. ๋ฉํฐ ํด๋ฌ์คํฐ๋ง์ ํ๊ฒ ๋๋ฉด etcd๋ ๋ถ์ฐ ํด๋ฌ์คํฐ๊ฐ ๋ฉ๋๋ค. ์ด๋ etcd๋ RAFT ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ฒ ๋ฉ๋๋ค. RAFT ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ ์์ฒญ์ ์ํํ ๋ Yes/No๋ก ํฌํ๋ฅผ ํ๊ฒ ๋๊ณ , ๊ณผ๋ฐ์ ์ด์์ ๋ ธ๋๊ฐ ์๋ ์ชฝ์ ์์ฒญ์ ์ ํจํ ์์ฒญ์ผ๋ก ์ํํ๊ฒ ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. etcd๋ RAFT ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ด๋ค ํด๋ฌ์คํฐ๊ฐ primary์ธ์ง ๊ฒฐ์ ํ๊ฒ ๋ฉ๋๋ค. ๋ ธ๋ ํ๋์ ์ฌ๋ณธ์ ์คํ -> ํ ํ๋ฆฟ ์คํ ๋ฐ๋ชฌ์ ์ DS -> ๋ณต์ ๋ณธ์ด๋ผ๋ ๊ฐ๋ ์ ์์ ๋ฐ๋์ ํ๋์ ๋ ธ๋์ ํ๋์ฉ ๋ฌด์กฐ๊ฑด์ ์ผ๋ก ํ๋์ฉ ์์ -> ๋ถ์ฐ์ ๋ณด์ฅ ๋ ธ๋์์ ์์ ์ ํด์ผํ๋ ์ฑ๋ค์์ ์ฌ์ฉ EX) ์คํ ๋ฆฌ์ง ์ดํ๋ฆฌ์ผ์ด์ ์์ปค๋ ธ๋์ ์คํ ๋ฆฌ์ง(๋์คํฌ) ํ๋์๊ฒ ์ ๊ณตํ๊ธฐ ์ํด์ ๊ทธ๋ฅ ์ ๊ณต ๊ฐ๋ฅ? --> ๊ทธ๊ฑด ์๋ kubernetes๊ฐ ์ฐ๊ฒฐํ ์ ์๋ ์ปจํ ์ด๋ ์คํ ๋ฆฌ์ง ์ธํฐํ์ด์ค๋ผ๋๊ฒ ์์ CRI CNI CSI ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ ๊ทผํด์ผํจ -> Rook ceph ์ฌ์ฉ ์ด๋ฐ์ ๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ๋ฐ๋ชฌ์ด ํ์ํจ(์คํ ๋ฆฌ์ง๋ฅผ ๊ด๋ฆฌํ ) RS์์ ์ฐจ์ด ![](https://velog.velcdn.c