๋กœ์ผ“๐Ÿพ
article thumbnail

 

 

EKS ์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ๊ฐ€ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์•„๋‹Œ, ์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์„ค์น˜ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๋ณดํ†ต kubeadm ์ด๋ผ๋Š” ํˆด์„ ์ด์šฉํ•ด์„œ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

Control Plane ์€ kubeadm init ๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋˜๊ณ , Data Plane ์€ kubeadm join ์„ ํ†ตํ•ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ์กฐ์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

kubeadm ํˆด ํ•˜๋‚˜๋ฉด API Server, Scheduler, Control Manager, ETCD ๋“ฑ Control Plane ์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ๋“ค์ด ๋งˆ๋ฒ•์ฒ˜๋Ÿผ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋˜์ฃ .

 

๋ฌผ๋ก  kubelet ๊ทธ๋ฆฌ๊ณ  containerd ์™€ ๊ฐ™์€ cri-๊ตฌํ˜„์ฒด๋Š” ์ด๋ฏธ ์‹คํ–‰๋˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

 

 

์ž๋™์ด๋ž€ ๊ฒƒ์ด ํ™•์‹คํžˆ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ด์ฃผ๊ธด ํ•˜์ง€๋งŒ, ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€๋Š” ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ญ๋‹ˆ๋‹ค.

 

"Control Plane ์€ Data Plane ๊ฐ€ ๋ˆ„๊ตฐ์ง€ ์•Œ๊ณ , ๊ปด์ฃผ๋Š”๊ฑฐ์•ผ?", "Control Plane ์€ ๋ญ˜ ๋ณด๊ณ , Data Plane ์ƒํƒœ๊ฐ€ ๊ดœ์ฐฎ๋‹ค๊ณ  ํŒ๋‹จํ•˜๋Š”๊ฑฐ์•ผ?" ๋ผ๊ณ  ๋ฌผ์–ด๋ดค์„ ๋•Œ "kubeadm ์ด ๋‹ค ์•Œ์•„์„œ ํ•ด์ค˜" ๋ผ๊ณ  ๋‹ตํ•  ์ˆœ ์—†์ž–์•„์š”.

 

 

 

๊ทธ๋ž˜์„œ Control Plane, Data Plane ์˜ ์ƒ์„ฑ๊ณผ ์กฐ์ธ๊นŒ์ง€ ์–ด๋–ค ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ์ง„ํ–‰์ด ๋˜๋Š” ์ง€, ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

๊ธ€์€ ์—ฌ๋Ÿฌ ํŽธ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ง„ํ–‰๋  ์˜ˆ์ •์ด๋ฉฐ, ์—ฌ๊ธฐ์„œ๋Š” Controler Plane ์˜ ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•˜๋Š” kubeadm init ์— ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๋ ›์ธ ๋‘๋”์ฝ”๋“œ~

 

 

kubeadm init options


 

kubeadm init ์€ ์•„๋ž˜์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒƒ๋“ค์„ ์ „๋ถ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

Control Plane ์„ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•œ ์„ค์น˜ ๋ฐ ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด์ค€๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

preflight                    Run pre-flight checks
certs                        Certificate generation
  /ca                          Generate the self-signed Kubernetes CA to provision identities for other Kubernetes components
  /apiserver                   Generate the certificate for serving the Kubernetes API
  /apiserver-kubelet-client    Generate the certificate for the API server to connect to kubelet
  /front-proxy-ca              Generate the self-signed CA to provision identities for front proxy
  /front-proxy-client          Generate the certificate for the front proxy client
  /etcd-ca                     Generate the self-signed CA to provision identities for etcd
  /etcd-server                 Generate the certificate for serving etcd
  /etcd-peer                   Generate the certificate for etcd nodes to communicate with each other
  /etcd-healthcheck-client     Generate the certificate for liveness probes to healthcheck etcd
  /apiserver-etcd-client       Generate the certificate the apiserver uses to access etcd
  /sa                          Generate a private key for signing service account tokens along with its public key
kubeconfig                   Generate all kubeconfig files necessary to establish the control plane and the admin kubeconfig file
  /admin                       Generate a kubeconfig file for the admin to use and for kubeadm itself
  /super-admin                 Generate a kubeconfig file for the super-admin
  /kubelet                     Generate a kubeconfig file for the kubelet to use *only* for cluster bootstrapping purposes
  /controller-manager          Generate a kubeconfig file for the controller manager to use
  /scheduler                   Generate a kubeconfig file for the scheduler to use
etcd                         Generate static Pod manifest file for local etcd
  /local                       Generate the static Pod manifest file for a local, single-node local etcd instance
control-plane                Generate all static Pod manifest files necessary to establish the control plane
  /apiserver                   Generates the kube-apiserver static Pod manifest
  /controller-manager          Generates the kube-controller-manager static Pod manifest
  /scheduler                   Generates the kube-scheduler static Pod manifest
kubelet-start                Write kubelet settings and (re)start the kubelet
upload-config                Upload the kubeadm and kubelet configuration to a ConfigMap
  /kubeadm                     Upload the kubeadm ClusterConfiguration to a ConfigMap
  /kubelet                     Upload the kubelet component config to a ConfigMap
upload-certs                 Upload certificates to kubeadm-certs
mark-control-plane           Mark a node as a control-plane
bootstrap-token              Generates bootstrap tokens used to join a node to a cluster
kubelet-finalize             Updates settings relevant to the kubelet after TLS bootstrap
  /experimental-cert-rotation  Enable kubelet client certificate rotation
addon                        Install required addons for passing conformance tests
  /coredns                     Install the CoreDNS addon to a Kubernetes cluster
  /kube-proxy                  Install the kube-proxy addon to a Kubernetes cluster
show-join-command            Show the join command for control-plane and worker node

 

 

์‹ค์ œ๋กœ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ๋“ค์ž…๋‹ˆ๋‹ค.

/etc/kubernetes

 

 

๋˜ํ•œ kubeadm init ์€ ์˜ต์…˜์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ „๋ฐ˜์ ์ธ ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค๋ฉด, --apiserver-bind-port=6443(default) ๋ฅผ ์ฃผ์–ด API Server ์˜ ํฌํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , --service-dns-domain=cluster.local(default) ๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ๋„๋ฉ”์ธ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

--service-cidr=10.96.0.0/12(default) ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋“ค์ด ํ• ๋‹น ๋ฐ›๋Š” ๊ฐ€์ƒ IP ๋ฒ”์œ„๋„ ์กฐ์ ˆ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

10.96.0.0/12 CIDR ๋ฅผ ๊ฐ€์ง„๋‹ค๋ฉด, 10.96.0.0 ~ 10.111.255.255 ๊นŒ์ง€ IP ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด 1,048,576 ๊ฐœ์˜ IP ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์ฃ .

 

๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ์„œ๋น„์Šค์˜ IP ๋ฅผ ๋ณด๋ฉด ๋ฒ”์œ„ ๋‚ด์—์„œ๋งŒ ํ• ๋‹น๋œ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

service ips

 

 

์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ์˜ต์…˜๋“ค์ด ์žˆ์œผ๋ฉฐ ๊ณต์‹๋ฌธ์„œ์—์„œ ์ง์ ‘ ํ™•์ธํ•ด ๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๋ณธ๊ฒฉ์ ์œผ๋กœ kubeadm init ์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

kubeadm init workflow


 

1. ๋ณธ๊ฒฉ์ ์ธ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์ „์— pre-flight ์ฒดํฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์ฒดํฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ kubeadm ์ด ์‹คํ–‰๋˜๋Š” ํ˜ธ์ŠคํŠธ์˜ ์ƒํƒœ๋ฅผ ์ฒดํฌํ•ด Control Plane ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ์„์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

Warning ์ด ์•„๋‹Œ ์—๋Ÿฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด kubeadm ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณง ๋ฐ”๋กœ ์ค‘๋‹จํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์—๋Ÿฌ์˜ ์˜ˆ๋กœ๋Š” IsPrivilegedUser,Swap ๋“ฑ ์ด ์žˆ๊ณ  --ignore-preflight-errors ์˜ต์…˜์„ ํ†ตํ•ด ๋ช…์‹œ๋œ ์—๋Ÿฌ๋Š” ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปดํฌ๋„ŒํŠธ๋ผ๋ฆฌ ์•ˆ์ „ํ•œ TLS ํ†ต์‹ ์„ ์œ„ํ•ด ๊ฐ ์ปดํฌ๋„ŒํŠธ๋งˆ๋‹ค ํ•„์š”ํ•œ crt, key ๋ฅผ --cert-dir=/etc/kubernetes/pki(default) ์— ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋˜๋Š” crt, key ๋“ค

 

3. API Server ์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ kubelet, controller manager, scheduler ์˜ kubeconfig ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ API Server ์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก admin.conf ๋„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

cp -i ./etc/kubernetes/admin.conf ~/.kube/config ๋ฅผ ํ†ตํ•ด kubectl ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ admin ์œ ์ €๋กœ API Server ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ kubeconfig ๋Š” RBAC ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

kubeconfig

 

์•„๋ž˜๋Š” scheduler ์— ๋Œ€ํ•œ kubeconfig ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

scheduler kubeconfig

 

clusters[].cluster.certificate-authority-data ์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ๊ฑด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ž์ฒด ca.crt ์ž…๋‹ˆ๋‹ค. 

๋””์ฝ”๋”ฉ ํ•ด์„œ ๋‚ด์šฉ์„ ๋ณด๋ฉด Issuer, Subject ๋ชจ๋‘ kubernetes ์ด๋ฏ€๋กœ ์ž์ฒด ์‚ฌ์ธํ•œ CRT ๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์ฃ .

์ž์ฒด ์‚ฌ์ธํ•œ ca.crt

 

 

๊ทธ๋ฆฌ๊ณ  kubelet, controller manager, scheduler ๋ชจ๋‘ Issuer ๊ฐ€ kubernetes ์ธ ๊ฒƒ์„ ๋ณด์•„ ca.crt ์˜ ํ•˜์œ„ crt ๋ผ๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dkubelet, controller manager, scheduler ์˜ crt

kube-scheduler ๊ฐ€ ๋ณธ์ธ์˜ Private Key ๋ฅผ ํ†ตํ•ด CN ์ด system:kube-scheduler ์ธ CertificateSigningRequest(CSR) ์„ ๋งŒ๋“ค๊ณ , ์ด CSR ์€ CA ์˜ CRT ์— ์Šน์ธ๋˜์–ด CRT ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  scheduler.conf ์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์ด ์ด CRT ์ž…๋‹ˆ๋‹ค.

์ด CRT ์™€ system:kube-scheduler cluster role ์„ ํ†ตํ•ด  API Server ์™€ ํ†ต์‹ ์„  ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ „ํ˜•์ ์ธ RBAC ํ”Œ๋กœ์šฐ๋ฅผ ๋”ฐ๋ฅด๊ณ , ๋‚˜๋จธ์ง€ ์ปดํฌ๋„ŒํŠธ๋“ค๋„ ๊ฐ™์€ ๋ฐฉ์‹์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

 

 

4. API Server, Controller Manager, Scheduler, ETCD ์— ๋Œ€ํ•œ Static Pod Manifest ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 

์ด๋กœ์จ Control Plane ์ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Static Pod ๋Š” ํŠน์ • ๊ฒฝ๋กœ ์œ„์— manifest ๋ฅผ ์ž‘์„ฑํ•ด๋†“์œผ๋ฉด API Server ๊ฐ€ ์•„๋‹Œ kubelet ์ด ์ง์ ‘ ๊ด€๋ฆฌํ•˜๋Š” ํŒŒ๋“œ์ž…๋‹ˆ๋‹ค.

manifests

 

์•„๋ž˜๋Š” kube-apiserver.yaml ์˜ ๋‚ด์šฉ์ธ๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ํ”ํ•œ ํŒŒ๋“œ์˜ ๋ชจ์Šต์ด์ฃ .

kube-apiserver.yaml

 

kubeadm ์€ 4๋ถ„ ๋™์•ˆ API Server ์˜ Liveness Probe ๊ฐ€ localhost:6443/healthz ์—์„œ 200 ok ์‘๋‹ต ์ฝ”๋“œ๊ฐ€ ์˜ค๋Š” ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด kubelet ์˜ Liveness Probe, Readiness Probe ๋ฅผ ๊ฐ๊ฐ localhost:10255/healthz,
localhost:10255/healthz/syncloop ์„ ํ†ตํ•ด ์ฒดํฌํ•˜๊ณ  40~60 ์ดˆ ๋‚ด์— ์‘๋‹ต์ด ์˜ค์ง€ ์•Š์œผ๋ฉด ๋น ๋ฅด๊ฒŒ ์‹คํŒจ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜์ฃ .

Static Pod ์ธ API Server ๊ฐ€ Kubelet ์— ์˜ํ•ด ์‹คํ–‰, ๊ด€๋ฆฌ๋˜๊ณ  ํ•ด๋‹น Kubelet ์„ ๊ฐ€์ง€๋Š” ๋…ธ๋“œ๊ฐ€ Control Plane ์œผ๋กœ ๋“ฑ๋ก๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ์ž๋ฃŒ] 

 

5. ๋ ˆ์ด๋ธ”๊ณผ Taints ๋ฅผ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋” ์ด์ƒ์˜ ์›Œํฌ๋กœ๋“œ(ex. ๋””ํ”Œ๋กœ์ด๋จผํŠธ, ๋ฐ๋ชฌ์…‹) ๋“ฑ ์ด ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋˜๋Š” ๋ ˆ์ด๋ธ”๊ณผ ํ…Œ์ธํŠธ

 

6. ์ถ”๊ฐ€์ ์ธ Data Plane ์ด Control Plane ์— ์Šค์Šค๋กœ ๋“ฑ๋ก๋  ์ˆ˜ ์žˆ๋„๋ก ํ† ํฐ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋™์œผ๋กœ ์œ ์ €๊ฐ€ kubeadm token create --print-join-command --ttl 60 ๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

7. Bootstrap Tokens ์™€ TLS Bootstrap ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ด์šฉํ•ด์„œ Data Plane ์กฐ์ธ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 

์ด ๋ถ€๋ถ„์€ ๋‹ค์Œ ์˜ˆ์ • ๊ธ€์ธ kubeadm join ์„น์…˜์—์„œ ๋” ์ž์„ธํžˆ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

8. ์ถ”๊ฐ€์ ์ธ ์ปดํฌ๋„ŒํŠธ์ธ CoreDNS, Kube Proxy ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋“œ ๊ฐ„ ํ†ต์‹ ์— ํ•„์š”ํ•œ CNI ๋Š” ๋”ฐ๋กœ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํ†ตํ•ด Control Plane ์ด ์ƒ์„ฑ๋˜๊ณ , Data Plane ์„ ์กฐ์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์ค€๋น„๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

(Data Plane ์กฐ์ธ์— ๋Œ€ํ•ด์„  ๋‹ค์Œ ๊ธ€์—์„œ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค)

 

 

์ถ”๊ฐ€์ ์œผ๋กœ kubeadm init ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ํŒŒ์ผ๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹ค์ˆ˜๋กœ ์ง€์› ๋‹คํ•˜๋”๋ผ๋„ kubeadm init phase ๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์ƒ์„ฑ ๋ฐ ์ปค์Šคํ…€์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

kubeadm init phase

 

 

 

๋‹ค์Œ ๊ธ€๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค!

๊ทธ๋Ÿผ ์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€!

profile on loading

Loading...