CKA-10์ผ์ฐจ

YeJi Kimยท2023๋…„ 2์›” 24์ผ
0

CKA

๋ชฉ๋ก ๋ณด๊ธฐ
10/15

๐Ÿ“ CKA 10์ผ์ฐจ
๐Ÿ“ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 116-128




116. Self Healing Applications

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ReplicaSets๊ณผ Replication Controllers๋ฅผ ํ†ตํ•ด self-healing์„ ์ง€์›ํ•œ๋‹ค.
replication controller๋Š” Pod๊ฐ€ ๊ณ ์žฅ๋‚  ๋•Œ๋งˆ๋‹ค Pod๊ฐ€ ์žฌ์‹คํ–‰๋˜๋„๋ก ๋ณด์žฅํ•ด์ค€๋‹ค.
์ฆ‰, ์ถฉ๋ถ„ํ•œ ๋ณต์ œ๋ณธ์ด ํ•ญ์ƒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํŒŒ๋“œ์˜ health๋ฅผ ๊ฒ€์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์ง€์›์„ ์ œ๊ณตํ•œ๋‹ค.
๋˜ํ•œ Liveness์™€ Readiness Probes๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ CKA ์‹œํ—˜์—์„œ ์ด ๋ถ€๋ถ„์€ ์ถœ์ œ ์˜์—ญ์ด ์•„๋‹ˆ๋‹ค.




120. OS Upgrades

๋…ธ๋“œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋‹ค์šด๋˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

ํ•ด๋‹น ๋…ธ๋“œ์˜ ํŒŒ๋“œ์— ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์งˆ ๊ฒƒ์ด๋‹ค.
๋˜ํ•œ ํŒŒ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.
๋งŒ์•ฝ ๋‹ค์šด๋œ ๋…ธ๋“œ์— ๋ฐฐ์น˜๋œ ํŒŒ๋“œ ์ค‘, ํŒŒ๋ž€ ํŒŒ๋“œ๋Š” ๋ณต์ œ๋ณธ์ด ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ๋ž€ ์•ฑ์— ์•ก์„ธ์Šคํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์˜จ๋ผ์ธ์— ์žˆ๋Š” ๋‹ค๋ฅธ ํŒŒ๋ž€ ํŒŒ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๋‹ค์šด๋œ ๋…ธ๋“œ์— ๋ฐฐ์น˜๋œ ํŒŒ๋“œ ์ค‘, ๋…น์ƒ‰ ํŒŒ๋“œ์— ์ ‘์†ํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์˜ํ–ฅ์„ ๋ฐ›์„ ๊ฒƒ์ด๋‹ค.
์ด๋Š” ๋…น์ƒ‰ ํŒŒ๋“œ๊ฐ€ ๋…น์ƒ‰ ์•ฑ์„ ์‹คํ–‰ํ•˜๋Š” ์œ ์ผํ•œ ํŒŒ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋…ธ๋“œ๊ฐ€ ์ฆ‰์‹œ ์˜จ๋ผ์ธ์œผ๋กœ ๋Œ์•„์˜ค๋ฉด kubelet ์ ˆ์ฐจ๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ํŒŒ๋“œ๊ฐ€ ์˜จ๋ผ์ธ์œผ๋กœ ๋Œ์•„์˜จ๋‹ค.

ํ•˜์ง€๋งŒ ๋…ธ๋“œ๊ฐ€ 5๋ถ„ ์ด์ƒ ๋‹ค์šด๋˜๋ฉด ํ•ด๋‹น ๋…ธ๋“œ์—์„œ ํŒŒ๋“œ๊ฐ€ ์ข…๋ฃŒ๋œ๋‹ค.
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋…ธ๋“œ์™€ ๋…ธ๋“œ์˜ ํŒŒ๋“œ๋“ค์ด ์ฃฝ์€ ๊ฒƒ์œผ๋กœ ์—ฌ๊ธด๋‹ค.
ํŒŒ๋“œ๊ฐ€ ๋ ˆํ”Œ๋ฆฌ์นด์…‹์˜ ์ผ๋ถ€๋ผ๋ฉด ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์žฌ์ƒ์„ฑ๋  ๊ฒƒ์ด๋‹ค.

๋…ธ๋“œ๊ฐ€ ์ฃฝ์—ˆ๋‹ค๊ณ  ๊ฐ„์ฃผ๋˜๋Š” ์‹œ๊ฐ„(pod-eviction-timeout)์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์„ค์ •๋  ์ˆ˜ ์žˆ๋‹ค.
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํ•ด๋‹น ์‹œ๊ฐ„ ๋™์•ˆ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋…ธ๋“œ๊ฐ€ ์ฃฝ์—ˆ๋‹ค๊ณ  ๊ฐ„์ฃผํ•œ๋‹ค.

ํ›„์— ๋…ธ๋“œ๊ฐ€ ๋‹ค์‹œ ์˜จ๋ผ์ธ์œผ๋กœ ๋Œ์•„์˜ค๋ฉด ๋…ธ๋“œ๋Š” ๊ณต๋ฐฑ ์ƒํƒœ์ด๋‹ค.

drain ์ž‘์—…์„ ํ†ตํ•ด ๋…ธ๋“œ์˜ ํŒŒ๋“œ๋“ค์„ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒํ•˜๊ณ  ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์žฌํ˜„์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
๋…ธ๋“œ์˜ ์ œํ•œ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ์Šค์ผ€์ค„ํ•  ์ˆ˜ ์—†๋‹ค.
์ด์ œ ๋…ธ๋“œ์— ํ• ๋‹น๋œ ํŒŒ๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์žฌ๋ถ€ํŒ…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์žฌ๋ถ€ํŒ… ํ›„์—๋„ ์ œํ•œ์ด ์—ฌ์ „ํžˆ ๊ฑธ๋ ค์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ๊ณ„ํšํ•  ์ˆ˜ ์—†๋‹ค.

ํŒŒ๋“œ๋ฅผ ๋‹ค์‹œ ๋…ธ๋“œ์— ์Šค์ผ€์ค„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” uncordonํ•ด์•ผ ํ•œ๋‹ค.
๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์˜ฎ๊ฒจ์ง„ ํŒŒ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ๋Œ์•„์˜ค์ง€ ์•Š๋Š”๋‹ค. ํ•ด๋‹น ํŒŒ๋“œ๊ฐ€ ์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ํด๋Ÿฌ์Šคํ„ฐ์— ์ƒˆ ํŒŒ๋“œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์ด ๋…ธ๋“œ์— ์Šค์ผ€์ค„๋  ์ˆ˜ ์žˆ๋‹ค.

drain, uncordon ์ด์™ธ์—๋„ cordon ๋ช…๋ น์–ด๊ฐ€ ์กด์žฌํ•œ๋‹ค.
cordon์€ drain๊ณผ ๋‹ฌ๋ฆฌ ๊ธฐ์กด ๋…ธ๋“œ์—์„œ ํŒŒ๋“œ๋ฅผ ์ข…๋ฃŒ์‹œํ‚ค๊ฑฐ๋‚˜ ์ด๋™์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
cordon์€ ๋‹จ์ˆœํžˆ ํ•ด๋‹น ๋…ธ๋“œ์— ์ƒˆ ํŒŒ๋“œ๊ฐ€ ์Šค์ผ€์ค„๋ง๋˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.


  • drain: ๋ฐฐ์ˆ˜๊ตฌ, ๋ฌผ๋น ์ง

    • kubectl drain์€ ๋…ธ๋“œ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํŒŒ๋“œ๋“ค์„ ์ œ๊ฑฐํ•˜์—ฌ ๋…ธ๋“œ๋ฅผ ๋น„์šฐ๊ณ , ํŒŒ๋“œ๋“ค์„ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ์ƒˆ๋กญ๊ฒŒ ์Šค์ผ€์ค„๋งํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
    • kubectl drain์ด ์ ์šฉ๋œ ๋…ธ๋“œ๋Š” SchadulingDisabled ์ƒํƒœ๊ฐ€ ๋˜๋ฉฐ, ์ดํ›„ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ์–ด๋–ค ํŒŒ๋“œ๋„ ํ•ด๋‹น ๋…ธ๋“œ์— ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • cordon: ๊ฒฝ๊ณ„์„ 

    • kubectl cordon์€ ํ˜„์žฌ ๋…ธ๋“œ์— ๋ฐฐํฌ๋œ ํŒŒ๋“œ๋“ค์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ์ถ”๊ฐ€์ ์ธ ํŒŒ๋“œ์˜ ๋ฐฐํฌ๋ฅผ ์ œํ•œํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
  • uncordon

    • kubectl drain์ด๋‚˜ kubectl cordon ๋ช…๋ น์–ด๋ฅผ ์ ์šฉํ•œ ๋…ธ๋“œ๋Š” SchedulingDisabled ์ƒํƒœ๊ฐ€ ๋˜์–ด ๋” ์ด์ƒ ํŒŒ๋“œ๊ฐ€ ์Šค์ผ€์ค„๋ง๋˜์ง€ ์•Š๋Š”๋‹ค.
    • kubectl uncordon์€ ๋…ธ๋“œ์˜ ์ด๋Ÿฌํ•œ SchedulingDisabled ์ƒํƒœ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋…ธ๋“œ์— ํŒŒ๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์Šค์ผ€์ค„๋ง๋  ์ˆ˜ ์žˆ๋„๋ก ๋ณต๊ตฌํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

์ฐธ์กฐ: https://velog.io/@koo8624/Kubernetes-Drain-Cordon-and-Uncordon




122. Solution - OS Upgrades

'--ignore-daemonsets' ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด daemonset์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.


uncordon ์ดํ›„์—๋„ ๋…ธ๋“œ๋Š” ๋น„์–ด์ ธ ์žˆ๋‹ค.


drain ๋ช…๋ น ํ›„ node01์˜ ์ƒํƒœ๊ฐ€ 'Ready,SchedulingDisabled'์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
uncordon ๋ช…๋ น ํ›„์—๋Š” node01์˜ ์ƒํƒœ๊ฐ€ 'Ready'์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet๊ฐ€ ์•„๋‹Œ ํŒŒ๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๋…ธ๋“œ์— kubectl drain ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด drain์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
์ด๋Š” drain ๋ช…๋ น์œผ๋กœ ์ธํ•ด, ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet๊ฐ€ ์•„๋‹Œ ํŒŒ๋“œ๋Š” ์˜์›ํžˆ ์‚ญ์ œ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋Ÿผ์—๋„ drain์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด '--force' ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ•์ œ๋กœ drain์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.




123. kubernetes Software Versions

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๋ฒ„์ „์€ ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ์ฒซ ๋ฒˆ์งธ๊ฐ€ ์ฃผ ๋ฒ„์ „์ด๊ณ  ๊ทธ ๋‹ค์Œ์ด ๋งˆ์ด๋„ˆ ๋ฒ„์ „ ๊ทธ ๋‹ค์Œ์ด ํŒจ์น˜ ๋ฒ„์ „์ด๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋„ ํ‘œ์ค€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฆด๋ฆฌ์ฆˆ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฅธ๋‹ค.
๋ช‡ ๋‹ฌ์— ํ•œ ๋ฒˆ์”ฉ ์†Œ๊ทœ๋ชจ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์„ ๋ณด์ธ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋ฒ ํƒ€์™€ ์•ŒํŒŒ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์ •์‹์œผ๋กœ ๋ฆด๋ฆฌ์ฆˆ๋œ๋‹ค.

์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์—๋Š” ๋ฒ„์ „ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์ด ์žˆ๋‹ค.
ETCD Cluster์™€ CoreDNS๋Š” ๊ฐ๊ฐ ๋…์ž์ ์ธ ๋ฒ„์ „์„ ๊ฐ–๋Š”๋‹ค.




125. Cluster Upgrade Process

์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

kube-api server๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ†ต์‹ ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์ด๋‹ค.
๋‹ค๋ฅธ ์–ด๋–ค ๊ตฌ์„ฑ ์š”์†Œ๋„ kube-api server๋ณด๋‹ค ๋†’์€ ๋ฒ„์ „์— ์žˆ์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

controller-manager์™€ kube-scheduler๋Š” kube-api server๋ณด๋‹ค ํ•œ ๋ฒ„์ „ ์•„๋ž˜์— ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
kubelet๊ณผ kube-proxy๋Š” kube-api server๋ณด๋‹ค ๋‘ ๋ฒ„์ „ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.
ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ถ€ํ’ˆ๋ณ„๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ๋‹ค.

kubectl์€ kube-api server๋ณด๋‹ค 1์ด ๋‚ฎ๊ฑฐ๋‚˜ ๋™์ผํ•˜๊ฑฐ๋‚˜ 1์ด ๋†’์€ ๋ฒ„์ „์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์ธ ์ผ๋ถ€ ๋ฒ„์ „๋งŒ ์ง€์›ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•œ ๋ฒˆ์— ๋งˆ์ด๋„ˆ ๋ฒ„์ „์„ ํ•˜๋‚˜์”ฉ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์„ค์ •์— ๋‹ฌ๋ ธ๋‹ค.
๊ตฌ๊ธ€๊ณผ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๊ณต๊ธ‰์ž์— ์˜ํ•ด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋ฐฐํฌ๋˜์—ˆ๋‹ค๋ฉด ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ๋‹ค.
kubeadm๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์ด์šฉํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ–ˆ๋‹ค๋ฉด ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
์ฒ˜์Œ๋ถ€ํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ–ˆ๋‹ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•œ๋‹ค.


์ด๋ฒˆ ๊ฐ•์˜์—์„œ๋Š” kubeadm์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•œ ๊ฒฝ์šฐ์— ์–ด๋–ป๊ฒŒ ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š”์ง€ ์•Œ์•„๋ณธ๋‹ค.
ํด๋Ÿฌ์Šคํ„ฐ ์—…๊ทธ๋ ˆ์ด๋“œ์—์„œ ๋จผ์ € ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•ด์•ผ ํ•œ๋‹ค.


๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋Š” ๋™์•ˆ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ž ์‹œ ๋‹ค์šด๋œ๋‹ค.
๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋œ๋‹ค๊ณ  ์ž‘์—…์ž ๋…ธ๋“œ์™€ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
์ž‘์—…์ž ๋…ธ๋“œ์— ํ˜ธ์ŠคํŠธ๋œ ๋ชจ๋“  ์ž‘์—…์€ ํ‰์†Œํ„ฐ๋Ÿผ ์‚ฌ์šฉ์ž๋ฅผ ๋•๋Š”๋‹ค. ๋งˆ์Šคํ„ฐ๊ฐ€ ๋‹ค์šด๋˜์—ˆ์œผ๋‹ˆ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ๋„ ๋‹ค์šด๋œ๋‹ค.
kube-controller์ด๋‚˜ ๋‹ค๋ฅธ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์ด์šฉํ•ด ํด๋Ÿฌ์Šคํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.
์ƒˆ ์•ฑ์„ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์•ฑ์„ ์‚ญ์ œ, ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์—†๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ ๋งค๋‹ˆ์ €๋„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.
ํŒŒ๋“œ๊ฐ€ ๋ง๊ฐ€์ง€๋ฉด ์ƒˆ ํŒŒ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค.

ํ•˜์ง€๋งŒ ์ž‘์—…์ž ๋…ธ๋“œ์™€ ํŒŒ๋“œ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ž‘๋™ํ•ด์•ผ ํ•˜๊ณ  ์‚ฌ์šฉ์ž๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋ฐฑ์—…๋˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.


๋‹ค์Œ์œผ๋กœ ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ฐจ๋ก€์ด๋‹ค.
์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์ „๋žต์ด ์žˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ์ „๋žต์€ ์ „๋ถ€ ํ•œ ๋ฒˆ์— ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ํŒŒ๋“œ๊ฐ€ ์ „๋ถ€ ๋‹ค์šด๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋…ธ๋“œ๊ฐ€ ๋ฐฑ์—…๋˜๊ณ  ์ƒˆ ํŒŒ๋“œ๊ฐ€ ์Šค์ผ€์ค„๋œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์•ฑ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋Š” ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ์ „๋žต์ด๋‹ค.


๋‘ ๋ฒˆ์งธ ์ „๋žต์€ ํ•œ ๋ฒˆ์— ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด๋‹ค.(kubeadm์˜ ์ „๋žต)
์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์•ฑ์ด ๋‘๋ฒˆ์งธ์™€ ์„ธ๋ฒˆ์งธ ๋…ธ๋“œ์—์„œ ํ˜ธ์ŠคํŒ…๋œ๋‹ค.
์ผ๋‹จ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๊ฐ€ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋ฉด ๋‘ ๋ฒˆ์งธ ๋…ธ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ์•ฑ์€ ์ฒซ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ๋…ธ๋“œ์—์„œ ํ˜ธ์ŠคํŒ…๋œ๋‹ค.
๋์œผ๋กœ ์„ธ ๋ฒˆ์งธ ๋…ธ๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.



์„ธ ๋ฒˆ์งธ ์ „๋žต์€ ํด๋Ÿฌ์Šคํ„ฐ์— ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ๊ฐ€์ง„ ์ƒˆ ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด ์ „๋žต์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ํŽธ๋ฆฌํ•˜๋‹ค. ์ƒˆ ๋…ธ๋“œ๋ฅผ ํ”„๋กœ๋น„์ „ํ•˜๊ณ  ์˜ค๋ž˜๋œ ๊ฒƒ์„ ํ•ด์ฒดํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ƒˆ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์˜ ๋…ธ๋“œ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์— ์ถ”๊ฐ€๋˜๋ฉด ์•ฑ์„ ์ƒˆ ๋…ธ๋“œ๋กœ ์˜ฎ๊ฒจ์„œ ํ˜ธ์ŠคํŒ…ํ•œ๋‹ค.
์˜›๋‚  ๋…ธ๋“œ๋Š” ์ œ๊ฑฐํ•œ๋‹ค.
๋ชจ๋‘ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ๊ฐ–๊ฒŒ ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ์ž‘์—…์„ ๋ฐ˜๋ณตํ•œ๋‹ค.


์ด์ œ kubeadm์ด ๋ฒ„์ „ 1.11์—์„œ 1.13์œผ๋กœ ์–ด๋–ป๊ฒŒ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜๋Š”์ง€ ๋ณด์ž.

kubeadm upgrade plan ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋Œ€ํ•œ ๋งŽ์€ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— kubeadm ๋„๊ตฌ๋ถ€ํ„ฐ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•œ๋‹ค.
kubeadm์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ ๊ฐ™์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ๋‹ค.


๋จผ์ € kubeadm์„ 1.12๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ 1.12๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค. ํ•„์š”ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ๋ถ€ํ’ˆ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ํ๋ธŒ ์ปจํŠธ๋กค ๋ถ€ํ’ˆ์€ 1.12๊ฐ€ ๋œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ํ๋ธŒ ์ปจํŠธ๋กค์˜ ๋ฒ„์ „์ด 1.12์ธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์™œ๋ƒํ•˜๋ฉด ๊ฐ๊ฐ์˜ ๋…ธ๋“œ์—์„œ kube-api server์˜ ๋ฒ„์ „์ด ์•„๋‹Œ kubelet์˜ ๋ฒ„์ „์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋”ฐ๋ผ์„œ, kubelet์„ 1.12๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์ค˜์•ผ ํ•œ๋‹ค.
์šฐ๋ฆฌ์˜ ์…‹์—…์— ๋”ฐ๋ผ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— kubelet์ด ์‹คํ–‰๋  ์ˆ˜๋„ ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค.
kubeadm์œผ๋กœ ๋ฐฐํฌ๋œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— kubelet์ด ์žˆ๋‹ค.
๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ kubelet์€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.


๋‹ค์Œ์€ ์ž‘์—…์ž ๋…ธ๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค.
๋จผ์ € ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์ž ๋…ธ๋“œ์˜ ์ž‘์—…์„ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์˜ฎ๊ธฐ๊ธฐ ์œ„ํ•ด kubectl drain ๋ช…๋ น์„ ์‹คํ–‰ํ•œ๋‹ค.
๊ทธ ๋‹ค์Œ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘์—…์ž ๋…ธ๋“œ์—์„œ kubeadm๊ณผ kubelet ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒˆ kubelet ๋ฒ„์ „์„ ์œ„ํ•œ ๋…ธ๋“œ ๊ตฌ์„ฑ์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ kubelet ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ๋…ธ๋“œ๊ฐ€ ์ƒˆ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์˜ฌ๋ผ๊ฐ„๋‹ค.

ํ•˜์ง€๋งŒ ์ „์— ์‹คํ–‰ํ•œ drain ๋ช…๋ น์œผ๋กœ ์ธํ•ด ๋…ธ๋“œ๋ฅผ ์Šค์ผ€์ค„๋งํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— kubectl uncordon ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์„œ ์Šค์ผ€์ค„๋ง์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ณต๊ตฌํ•ด์•ผ ํ•œ๋‹ค.

๋‹ค๋ฅธ ์ž‘์—…์ž ๋…ธ๋“œ์—๋„ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฒ„์ „์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•œ๋‹ค.




128. Solution: Cluster Upgrade

alias๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ช…๋ น์–ด


ํ‹€๋ฆฐ ๋ฌธ์ œ1. controlplane ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ

ํ•ด๋‹ต!


ํ‹€๋ฆฐ ๋ฌธ์ œ2. worker node ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ

ํ•ด๋‹ต!

profile
์ด์ „์˜ ๊ธฐ๋ก๋“ค ๐Ÿ‘‰ https://blog.naver.com/reviewerkyj

0๊ฐœ์˜ ๋Œ“๊ธ€