CKA-5์ผ์ฐจ

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

CKA

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

๐Ÿ“ CKA 4์ผ์ฐจ
๐Ÿ“ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 49-61




51. Manual Scheduling

๋ชจ๋“  ํŒŒ๋“œ์—๋Š” nodeName์ด๋ผ๋Š” ํ•„๋“œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. pod menifast file์„ ๋งŒ๋“ค ๋•Œ ์ด ํ•„๋“œ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ชจ๋“  ํŒŒ๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์ด ์†์„ฑ์ด ์—†๋Š” ํŒŒ๋“œ๋“ค์„ ์ฐพ๋Š”๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰ํ•ด์„œ ํŒŒ๋“œ์˜ ์˜ฌ๋ฐ”๋ฅธ ๋…ธ๋“œ๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.
์ผ๋‹จ ์‹๋ณ„๋˜๋ฉด ๋ฐ”์ธ๋”ฉ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋…ธ๋“œ์˜ ์ด๋ฆ„ ์†์„ฑ์„ ์„ค์ •ํ•ด์„œ ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


๋งŒ์•ฝ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์Šค์ผ€์ค„๋งํ•  ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์—†๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?
ํŒŒ๋“œ๋Š” ์—ฌ์ „ํžˆ pending ์ƒํƒœ์ด๋‹ค.
์ด ๊ฒฝ์šฐ, ์ง์ ‘ ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ํ• ๋‹นํ•ด์ค˜์•ผ ํ•œ๋‹ค.
์Šค์ผ€์ค„๋Ÿฌ ์—†์ด ํŒŒ๋“œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ spec ์˜์—ญ์— nodeName ํ•„๋“œ๋ฅผ ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ด๋ฆ„์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์—๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.


ํŒŒ๋“œ๊ฐ€ ์ด๋ฏธ ์ƒ์„ฑ๋˜์—ˆ๋Š”๋ฐ ๋…ธ๋“œ์— ํ• ๋‹นํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผ ํ• ๊นŒ?
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ƒ์„ฑ๋œ ํŒŒ๋“œ์˜ nodeName์„ ์ˆ˜์ •ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•œ๋‹ค.
๊ทธ๋ž˜์„œ ์ด๋ฏธ ์ƒ์„ฑ๋œ ํŒŒ๋“œ๋ฅผ ๋…ธ๋“œ์— ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฐ”์ธ๋”ฉ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํŒŒ๋“œ์˜ ๋ฐ”์ธ๋”ฉ API์— post ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Š” ์‹ค์ œ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ํ•˜๋Š” ์ผ์„ ๋ชจ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ฐ”์ธ๋”ฉ ๊ฐœ์ฒด์—์„œ ๋…ธ๋“œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋Œ€์ƒ ๋…ธ๋“œ๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ํŒŒ๋“œ์˜ ๋ฐ”์ธ๋”ฉ API์— post ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. ์ด๋•Œ, JSON ํฌ๋งท์˜ ๋ฐ”์ธ๋”ฉ ๊ฐœ์ฒด์˜ data set์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.




53. Solution - Manual Scheduling

๊ธฐ์กด์˜ pod๋ฅผ ์‚ญ์ œํ•˜๊ณ  ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์„ ํ†ตํ•ด pod๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์œผ๋ฉด kubectl replace --force ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

--watch ์˜ต์…˜์„ ๋ถ™์—ฌ์„œ ์กฐํšŒํ•˜๋ฉด ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š”์ง€ ๊ฐ์‹œํ•˜๊ณ  ๋ณ€ํ™”๊ฐ€ ์žˆ์œผ๋ฉด ์ƒํƒœ๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค.




54. Labels and Selectors

label๊ณผ selector๋ฅผ ์ด์šฉํ•ด ๊ฐœ์ฒด๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.


ํŒŒ๋“œ ํŒŒ์ผ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—์„œ labels์ด๋ผ๋Š” ๋ถ€๋ถ„์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ ์•„๋ž˜์— ์ด๋ ‡๊ฒŒ key: value ํ˜•์‹์œผ๋กœ label์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

--selector ์˜ต์…˜์„ ํ†ตํ•ด label์— ํ•ด๋‹นํ•˜๋Š” ํŒŒ๋“œ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋Š” ๋‚ด๋ถ€์—์„œ label๊ณผ selector๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค.
์•„๋ž˜ ์˜ˆ์‹œ๋Š” ์„ธ ๊ฐœ์˜ ๋‹ค๋ฅธ ํŒŒ๋“œ๋กœ ๊ตฌ์„ฑ๋œ ReplicaSet์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋จผ์ € template์— ํŒŒ๋“œ ์ •์˜๋ฅผ label๊ณผ ReplicaSet์˜ selector๋ฅผ ์ด์šฉํ•ด ํŒŒ๋“œ๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ๋Š”๋‹ค.
1. ๋งจ ์œ„์— ๋ณด์ด๋Š” label์€ ReplicaSet ์ž์ฒด์˜ label์ด๋‹ค. ReplicaSet์ด pod๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํ•ด๋‹น label์€ ์ง€๊ธˆ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
2. ReplicaSet์˜ label์€ ReplicaSet์„ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐœ์ฒด๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋  ๊ฒƒ์ด๋‹ค.
3. ReplicaSet์„ pod์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ReplicaSet์˜ spec ์˜์—ญ์˜ selector ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. pod์—์„œ ์ •์˜๋œ label๊ณผ ์ผ์น˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.
์ œ์ž‘ ๋‹จ๊ณ„์—์„œ label์ด ์ผ์น˜ํ•˜๋ฉด ReplicaSet์€ ์„ฑ๊ณต์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค.


์„œ๋น„์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ReplicaSet ์ •์˜ ํŒŒ์ผ์˜ pod์— ์žˆ๋Š” label๊ณผ ์ผ์น˜ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค ์ •์˜ ํŒŒ์ผ์— ์ •์˜๋œ selector๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


๋งˆ์ง€๋ง‰์œผ๋กœ annotaions ํ•„๋“œ๋Š” ์ •๋ณด ์ˆ˜์ง‘ ๋ชฉ์ ์œผ๋กœ ๋‹ค๋ฅธ ์„ธ๋ถ€์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฆ„, ๋ฒ„์ „, ๋นŒ๋“œ ์ •๋ณด ๊ฐ™์€ ์„ธ๋ถ€ ์ •๋ณด๋‚˜ ์—ฐ๋ฝ์ฒ˜, ์ด๋ฉ”์ผ ๋“ฑ์ด ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ๋‹ค.




56. Solutions - Labels and Selectors

๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ธฐ ์–ด๋ ค์šธ ๊ฒฝ์šฐ, --no-headers ์˜ต์…˜์œผ๋กœ ํ—ค๋”๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ช…๋ น์–ด์ธ wc -l๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ฐœ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.


label์„ ์—ฌ๋Ÿฌ๊ฐœ ์ง€์ •ํ•˜์—ฌ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.


์‹คํ—˜ํ•ด๋ณด์ž!

๐Ÿง ReplicaSet์˜ label์„ ๋ถ™์ด์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ

๐Ÿง ReplicaSet์˜ label์„ ๋ถ™์ธ ๊ฒฝ์šฐ

tier=nginx label์„ selector๋กœ ์ง€์ •ํ•˜์—ฌ ReplicaSet์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.




57. Taints and Tolerations

Taints์™€ Tolerations๋Š” ํŒŒ๋“œ๋ฅผ ์–ด๋–ค ๋…ธ๋“œ๋กœ ์Šค์ผ€์ค„๋งํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ œํ•œ์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

๋งŒ์•ฝ ์ œํ•œ์ด๋‚˜ ํ•œ๊ณ„๊ฐ€ ์—†๋‹ค๋ฉด ์Šค์ผ€์ฅด๋Ÿฌ๊ฐ€ ๋ชจ๋“  ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ๋ฐฐ์น˜ํ•ด ๊ท ํ˜•์ด ๋งž๋„๋ก ํ•œ๋‹ค.


๋งŒ์•ฝ Node1์— Taints๊ฐ€ ์„ค์ •๋˜์—ˆ๊ณ  Pod D๋งŒ Tolerations๋ฅผ ๊ฐ€์กŒ๋‹ค๋ฉด ๋‹ค๋ฅธ Pod๋“ค์€ Node1์— ๋ฐฐ์น˜๋˜์ง€ ๋ชปํ•˜๊ณ  Pod D๋งŒ Node1์— ๋ฐฐ์น˜๋  ๊ฒƒ์ด๋‹ค.
์ด์ฒ˜๋Ÿผ Taints๋Š” ๋…ธ๋“œ์— ์„ธํŒ…ํ•˜๊ณ  Tolerations๋Š” Pod์— ์„ค์ •ํ•œ๋‹ค.


kubectl ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด Taints๋ฅผ Node์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
kubectl taint nodes node-name key=value:taint-effect ๋ช…๋ น์–ด ํ˜•์‹์ด๋‹ค.
taint-effect์—๋Š” ์„ธ ๊ฐ€์ง€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

  • NoSchedule: ํŒŒ๋“œ๋ฅผ ๋…ธ๋“œ์— ์˜ฌ๋ฆด ์˜ˆ์ •์ด ์—†๋‹ค.
  • PreferNoSchedule: ์ผ์ •์ด ์—†๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•œ๋‹ค. ํ•˜์ง€๋งŒ NoSchedule์„ ์žฅ๋‹ดํ•  ์ˆ˜ ์—†๋‹ค.
  • NoExecute: ์‹คํ–‰ ๋ถˆ๊ฐ€. ์ƒˆ ํŒŒ๋“œ๊ฐ€ ๋…ธ๋“œ์—์„œ ์ง€์ •๋˜์ง€ ์•Š๊ณ  ๋…ธ๋“œ ์œ„์— ๊ธฐ์กด ํŒŒ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋ถ€ํ•˜๋ฉด ํ‡ด๊ฑฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.


ํŒŒ๋“œ์— Tolerations๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์„ ์—ด๊ณ  spec ์˜์—ญ์— tolerations ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
์ด ๋ชจ๋“  ๊ฐ’๋“ค์€ ๋”๋ธ”๋กœ ์ธ์ฝ”๋”ฉ ๋˜์–ด์•ผ ํ•œ๋‹ค.


์ข€ ๋” ๋ช…ํ™•ํ•œ ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋‹ค์Œ ์˜ˆ์ œ์ด๋‹ค.
์–ด๋–ค Taints๋‚˜ Tolerations๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด์™€ ๊ฐ™์ด ๊ท ํ˜•์ ์œผ๋กœ ์Šค์ผ€์ฅด๋˜์–ด ์žˆ๋‹ค.

ํŠน๋ณ„ํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•ด 1๋ฒˆ ๋…ธ๋“œ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ๋กœ ํ•œ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ด๋ฆ„์œผ๋กœ 1๋ฒˆ ๋…ธ๋“œ๋ฅผ Taintํ•˜๊ณ  ๊ทธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์†ํ•œ ํŒŒ๋“œ์ธ D์— Tolerance๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
Taint-effect๋Š” NoExecute๋กœ ์„ค์ •ํ•œ๋‹ค.
Taint-effect๊ฐ€ ๋…ธ๋“œ์—์„œ ๋ฐœ์ƒํ•˜๋ฉด CํŒŒ๋“œ๋ฅผ ๋…ธ๋“œ1์—์„œ ์ซ“์•„๋‚ธ๋‹ค.
ํŒŒ๋“œD๋Š” ๋…ธ๋“œ1์—์„œ ๊ณ„์† ๋‹ฌ๋ฆฐ๋‹ค. ์ด๋Š” ํŒŒ๋“œD์— Toleration์ด ์„ค์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Taint-blue๋ฅผ ์ˆ˜์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด ๊ฒฝ์šฐ ๋…ธ๋“œ1์€ ํŒŒ๋“œD๋งŒ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ํŒŒ๋“œD๊ฐ€ ํ•ญ์ƒ ๋…ธ๋“œ1์— ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ๋…ธ๋“œ์— ์ ์šฉ๋œ Taints๋‚˜ Tolerations๊ฐ€ ์—†์œผ๋‹ˆ ํŒŒ๋“œD๋Š” ๋‹ค๋ฅธ ๋‘ ๋…ธ๋“œ ์ค‘ ํ•˜๋‚˜์— ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
์ด์ฒ˜๋Ÿผ Taints์™€ Tolerations๋Š” ํŒŒ๋“œ๊ฐ€ ํŠน์ • ๋…ธ๋“œ๋กœ ๊ฐ€๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋Œ€์‹  ๋…ธ๋“œ๊ฐ€ ํŠน์ • ํŒŒ๋“œ๋งŒ ์ˆ˜์šฉํ•˜๋„๋ก ํ•œ๋‹ค.
ํŒŒ๋“œ๊ฐ€ ํŠน์ • ๋…ธ๋“œ์— ์Šค์ผ€์ฅด๋˜๋„๋ก ์ œํ•œํ•˜๋Š” ๊ฒŒ ์š”๊ตฌ์‚ฌํ•ญ์ด๋ผ๋ฉด ์ดํ›„์— ๋ฐฐ์šธ Node Affinity๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๋‹ค.


ํด๋Ÿฌ์Šคํ„ฐ์—๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ์–ด๋–ค ํŒŒ๋“œ๋„ ์Šค์ผ€์ค„๋ง ํ•  ์ˆ˜ ์—†๋‹ค.
์™œ๋ƒํ•˜๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ฒ˜์Œ ์„ค์ •๋˜๋ฉด ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— Taint ์„ค์ •์ด ์ž๋™์œผ๋กœ ๋˜์–ด์„œ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ํŒŒ๋“œ๊ฐ€ ์ง€์ •๋˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š”๋‹ค.
ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด ๋™์ž‘์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ๋ฐฐํฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ชจ๋ฒ” ์‚ฌ๋ก€์ด๋‹ค.

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ์˜ Taint๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




59. Solution - Taints and Tolerations

kubectl taint --help๋ฅผ ํ†ตํ•ด์„œ taint ๋ช…๋ น์˜ ์ž์„ธํ•œ ์˜ต์…˜๋“ค๊ณผ ์˜ˆ์‹œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
taint๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ช…๋ น์–ด


pod์— tolerations ์ถ”๊ฐ€


taint ๋ช…๋ น์— -๋ฅผ ๋งจ ๋’ค์— ๋ถ™์ด๋ฉด taint๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์ด ๋œ๋‹ค.




60. Node Selectors

ํŠน์ • ๋…ธ๋“œ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ํŒŒ๋“œ์˜ ํ•œ๊ณ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.
์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ Node Selector์ด๋‹ค.
nodeSelector๋ผ๋Š” ์ƒˆ ์†์„ฑ์„ ํŒŒ๋“œ ์ •์˜ ํŒŒ์ผ์˜ spec ์˜์—ญ์— ์ถ”๊ฐ€ํ•˜๊ณ  ๋…ธ๋“œ์— ํ• ๋‹น๋œ label์„ ๋ช…์‹œํ•˜๋ฉด ๋œ๋‹ค.


๋…ธ๋“œ์— ๋ผ๋ฒจ์„ ๋ถ™์ด๋Š” ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Node Selector๋Š” ์œ ์šฉํ–ˆ์ง€๋งŒ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.
ํ•˜๋‚˜์˜ label๊ณผ selector์„ ํ†ตํ•ด ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋” ๋ณต์žกํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋“ค์–ด์ค„ ์ˆ˜ ์—†๋‹ค.




61. Node Affinity

Node Affinity๋Š” ํŠน์ • ๋…ธ๋“œ์— ํŒŒ๋“œ ๋ฐฐ์น˜๋ฅผ ์ œํ•œํ•˜๋Š” ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

์•„๋ž˜ ์‚ฌ์ง„์˜ ์ขŒ์ธก์€ nodeSelector๋ฅผ ์ •์˜ํ–ˆ๊ณ  ์šฐ์ธก์€ nodeAffinity๋ฅผ ์ •์˜ํ–ˆ๋‹ค.


๋‹ค์Œ์€ ์ž‘์€ ํฌ๊ธฐ๊ฐ€ ์•„๋‹Œ ํฌ๊ธฐ์˜ ๋…ธ๋“œ์™€ ์ผ์น˜ํ•˜๋Š” nodeAffinity๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค.

๋‹ค์Œ์€ key=size ๋ผ๋ฒจ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” nodeAffinity๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๋‹ค.


nodeAffinity์™€ ์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ๊ฐ€ ์—†์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?
์ด ๋ชจ๋“  ๊ฑด nodeAffinity ์•„๋ž˜ ์†์„ฑ์ธ ๊ธด ๋ฌธ์ž์—ด์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค.

  • Available
    • requiredDuringSchedulingIgnoredDuringExecution
      • DuringScheduling: required(ํ•„์ˆ˜), ์ง€์ •๋œ nodeAffinity ๊ทœ์น™๊ณผ ํ•จ๊ป˜ ํŒŒ๋“œ๋ฅผ ๋…ธ๋“œ์— ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ nodeAffinity์™€ ์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด schedule์ด ๋  ์ˆ˜ ์—†๋‹ค.
        • DuringExecution: ignored(๋ฌด์‹œ), ํŒŒ๋“œ๋Š” ๊ณ„์†ํ•ด์„œ ์‹คํ–‰๋˜๊ณ  nodeAffinity์˜ ๋ณ€ํ™”๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.
    • preferredDuringSchedulingIgnoredDuringExecution
      • DuringScheduling: preferred(์ตœ์„ ), ์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ scheduler๋Š” nodeAffinity๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ํ•ด๋‹น ํŒŒ๋“œ๋ฅผ ๊ฐ€๋Šฅํ•œ ์•„๋ฌด ๋…ธ๋“œ์— ๋ฐฐ์น˜ํ•œ๋‹ค.
      • DuringExecution: ignored(๋ฌด์‹œ), ํŒŒ๋“œ๋Š” ๊ณ„์†ํ•ด์„œ ์‹คํ–‰๋˜๊ณ  nodeAffinity์˜ ๋ณ€ํ™”๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.
  • Planned
    • requiredDuringSchedulingRequiredDuringExecution
      • DuringScheduling: required(ํ•„์ˆ˜), ์ง€์ •๋œ nodeAffinity ๊ทœ์น™๊ณผ ํ•จ๊ป˜ ํŒŒ๋“œ๋ฅผ ๋…ธ๋“œ์— ๋ฐฐํฌํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ nodeAffinity์™€ ์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋ฉด schedule์ด ๋  ์ˆ˜ ์—†๋‹ค.
      • DuringExecution: required(ํ•„์ˆ˜), nodeAffinity ๊ทœ์น™์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ด์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํŒŒ๋“œ๋ฅผ ํ‡ด์ถœํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ•œ๋‹ค.

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

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