๐ CKA 4์ผ์ฐจ
๐ Udemy-Certified Kubernetes Administrator (CKA) with Practice Tests 49-61
๋ชจ๋ ํ๋์๋ nodeName์ด๋ผ๋ ํ๋๊ฐ ์๋๋ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ด ์์ง ์๋ค. pod menifast file์ ๋ง๋ค ๋ ์ด ํ๋๋ฅผ ์ง์ ํ์ง ์์๋ ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋์ผ๋ก ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ผ์ค๋ฌ๋ ๋ชจ๋ ํ๋๋ฅผ ์ดํด๋ณด๊ณ ์ด ์์ฑ์ด ์๋ ํ๋๋ค์ ์ฐพ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์คํํด์ ํ๋์ ์ฌ๋ฐ๋ฅธ ๋
ธ๋๋ฅผ ์๋ณํ๋ค.
์ผ๋จ ์๋ณ๋๋ฉด ๋ฐ์ธ๋ฉ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋
ธ๋์ ์ด๋ฆ ์์ฑ์ ์ค์ ํด์ ๋
ธ๋์ ํ๋๋ฅผ ์ง์ ํฉ๋๋ค.
๋ง์ฝ ๋
ธ๋๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ค์ผ์ค๋งํ ์ค์ผ์ค๋ฌ๊ฐ ์๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
ํ๋๋ ์ฌ์ ํ pending ์ํ์ด๋ค.
์ด ๊ฒฝ์ฐ, ์ง์ ๋
ธ๋์ ํ๋๋ฅผ ํ ๋นํด์ค์ผ ํ๋ค.
์ค์ผ์ค๋ฌ ์์ด ํ๋๋ฅผ ํ ๋นํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ํ๋ ์ ์ ํ์ผ์ spec ์์ญ์ nodeName ํ๋๋ฅผ ํด๋น ๋
ธ๋์ ์ด๋ฆ์ผ๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ ํ๋๋ฅผ ์์ฑํ ๋์๋ง ์ง์ ํ ์ ์๋ค.
ํ๋๊ฐ ์ด๋ฏธ ์์ฑ๋์๋๋ฐ ๋
ธ๋์ ํ ๋นํ๊ณ ์ถ์ผ๋ฉด ์ด๋ป๊ฒํด์ผ ํ ๊น?
์ฟ ๋ฒ๋คํฐ์ค๋ ์์ฑ๋ ํ๋์ nodeName์ ์์ ํ์ง ๋ชปํ๊ฒ ํ๋ค.
๊ทธ๋์ ์ด๋ฏธ ์์ฑ๋ ํ๋๋ฅผ ๋
ธ๋์ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ ๋ฐ์ธ๋ฉ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ํ๋์ ๋ฐ์ธ๋ฉ API์ post ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ด๋ค.
์ด๋ ์ค์ ์ค์ผ์ค๋ฌ๊ฐ ํ๋ ์ผ์ ๋ชจ๋ฐฉํ๋ ๊ฒ์ด๋ค.
๋ฐ์ธ๋ฉ ๊ฐ์ฒด์์ ๋
ธ๋ ์ด๋ฆ์ ๊ฐ์ง ๋์ ๋
ธ๋๋ฅผ ์ง์ ํ๋ค. ๊ทธ๋ฐ ๋ค์ ํ๋์ ๋ฐ์ธ๋ฉ API์ post ์์ฒญ์ ๋ณด๋ธ๋ค. ์ด๋, JSON ํฌ๋งท์ ๋ฐ์ธ๋ฉ ๊ฐ์ฒด์ data set์ ์ฌ์ฉํด์ผ ํ๋ค.
๊ธฐ์กด์ pod๋ฅผ ์ญ์ ํ๊ณ ํ๋ ์ ์ ํ์ผ์ ํตํด pod๋ฅผ ์๋ก ์์ฑํ๊ณ ์ถ์ผ๋ฉด kubectl replace --force
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
--watch
์ต์
์ ๋ถ์ฌ์ ์กฐํํ๋ฉด ๋ณํ๊ฐ ์๋์ง ๊ฐ์ํ๊ณ ๋ณํ๊ฐ ์์ผ๋ฉด ์ํ๋ฅผ ๋ฐ๊ฟ์ค๋ค.
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 ํ๋๋ ์ ๋ณด ์์ง ๋ชฉ์ ์ผ๋ก ๋ค๋ฅธ ์ธ๋ถ์ฌํญ์ ๊ธฐ๋กํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฆ, ๋ฒ์ , ๋น๋ ์ ๋ณด ๊ฐ์ ์ธ๋ถ ์ ๋ณด๋ ์ฐ๋ฝ์ฒ, ์ด๋ฉ์ผ ๋ฑ์ด ๊ธฐ๋ก๋ ์ ์๋ค.
๊ฐ์๋ฅผ ์ธ๊ธฐ ์ด๋ ค์ธ ๊ฒฝ์ฐ, --no-headers
์ต์
์ผ๋ก ํค๋๋ฅผ ์ ์ธํ๊ณ ํ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ๋ช
๋ น์ด์ธ wc -l
๋ฅผ ํตํด ์ํ๋ ๊ฐ์๋ฅผ ์ฝ๊ฒ ์ป์ ์ ์๋ค.
label์ ์ฌ๋ฌ๊ฐ ์ง์ ํ์ฌ ์กฐํํ ์ ์๋ค.
์คํํด๋ณด์!
๐ง ReplicaSet์ label์ ๋ถ์ด์ง ์์์ ๊ฒฝ์ฐ
๐ง ReplicaSet์ label์ ๋ถ์ธ ๊ฒฝ์ฐ
tier=nginx label์ selector๋ก ์ง์ ํ์ฌ ReplicaSet์ ์กฐํํ ์ ์๋ค.
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์๋ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์๋ค.
ํ๋์ 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๋ฅผ ํ์ธํ ์ ์๋ค.
kubectl taint --help
๋ฅผ ํตํด์ taint ๋ช
๋ น์ ์์ธํ ์ต์
๋ค๊ณผ ์์๋ฅผ ํ์ธํ ์ ์๋ค.
taint๋ฅผ ์ค์ ํ๋ ๋ช
๋ น์ด
pod์ tolerations ์ถ๊ฐ
taint ๋ช
๋ น์ -
๋ฅผ ๋งจ ๋ค์ ๋ถ์ด๋ฉด taint๋ฅผ ์ญ์ ํ๋ ๋ช
๋ น์ด ๋๋ค.
ํน์ ๋
ธ๋์์๋ง ์๋ํ๋๋ก ํ๋์ ํ๊ณ๋ฅผ ์ค์ ํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ Node Selector์ด๋ค.
nodeSelector๋ผ๋ ์ ์์ฑ์ ํ๋ ์ ์ ํ์ผ์ spec ์์ญ์ ์ถ๊ฐํ๊ณ ๋
ธ๋์ ํ ๋น๋ label์ ๋ช
์ํ๋ฉด ๋๋ค.
๋
ธ๋์ ๋ผ๋ฒจ์ ๋ถ์ด๋ ๋ช
๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
Node Selector๋ ์ ์ฉํ์ง๋ง ํ๊ณ๊ฐ ์๋ค.
ํ๋์ label๊ณผ selector์ ํตํด ๋์ํ๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ๋ณต์กํ ์๊ตฌ์ฌํญ์ ๋ค์ด์ค ์ ์๋ค.
Node Affinity๋ ํน์ ๋ ธ๋์ ํ๋ ๋ฐฐ์น๋ฅผ ์ ํํ๋ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์๋ ์ฌ์ง์ ์ข์ธก์ nodeSelector๋ฅผ ์ ์ํ๊ณ ์ฐ์ธก์ nodeAffinity๋ฅผ ์ ์ํ๋ค.
๋ค์์ ์์ ํฌ๊ธฐ๊ฐ ์๋ ํฌ๊ธฐ์ ๋
ธ๋์ ์ผ์นํ๋ nodeAffinity๊ฐ ์ ์๋์ด ์๋ค.
๋ค์์ key=size ๋ผ๋ฒจ์ด ์กด์ฌํ๋์ง ํ์ธํ๋ nodeAffinity๊ฐ ์ ์๋์ด ์๋ค.
nodeAffinity์ ์ผ์นํ๋ ๋
ธ๋๊ฐ ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
์ด ๋ชจ๋ ๊ฑด nodeAffinity ์๋ ์์ฑ์ธ ๊ธด ๋ฌธ์์ด์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค.
- DuringScheduling: required(ํ์), ์ง์ ๋ nodeAffinity ๊ท์น๊ณผ ํจ๊ป ํ๋๋ฅผ ๋ ธ๋์ ๋ฐฐํฌํด์ผ ํ๋ค. ๋ง์ฝ nodeAffinity์ ์ผ์นํ๋ ๋ ธ๋๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด schedule์ด ๋ ์ ์๋ค.
- DuringExecution: ignored(๋ฌด์), ํ๋๋ ๊ณ์ํด์ ์คํ๋๊ณ nodeAffinity์ ๋ณํ๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
- DuringScheduling: preferred(์ต์ ), ์ผ์นํ๋ ๋ ธ๋๊ฐ ์์ ๊ฒฝ์ฐ scheduler๋ nodeAffinity๋ฅผ ๋ฌด์ํ๊ณ ํด๋น ํ๋๋ฅผ ๊ฐ๋ฅํ ์๋ฌด ๋ ธ๋์ ๋ฐฐ์นํ๋ค.
- DuringExecution: ignored(๋ฌด์), ํ๋๋ ๊ณ์ํด์ ์คํ๋๊ณ nodeAffinity์ ๋ณํ๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
- DuringScheduling: required(ํ์), ์ง์ ๋ nodeAffinity ๊ท์น๊ณผ ํจ๊ป ํ๋๋ฅผ ๋ ธ๋์ ๋ฐฐํฌํด์ผ ํ๋ค. ๋ง์ฝ nodeAffinity์ ์ผ์นํ๋ ๋ ธ๋๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด schedule์ด ๋ ์ ์๋ค.
- DuringExecution: required(ํ์), nodeAffinity ๊ท์น์ด ๋ณ๊ฒฝ๋๋ฉด ์ด์ ๋ถํฉํ์ง ์๋ ๋ ธ๋์์ ์คํ ์ค์ธ ํ๋๋ฅผ ํด์ถํ๊ฑฐ๋ ์ข ๋ฃํ๋ค.