Node
Node๋?
Kubernetes๋ container๋ฅผ pod ๋ด์ ๋ฐฐ์นํ๊ณ , node์์ ์คํํจ์ผ๋ก์จ workload๋ฅผ ๊ตฌ๋ํ๋ค
node๋ cluster์ ๋ฐ๋ผ
๊ฐ์ or ๋ฌผ๋ฆฌ์ ๋จธ์
์ผ ์ ์๋ค๊ฐ node๋
control plane
์ ์ํด ๊ด๋ฆฌ๋๋ฉฐ pod๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ์๋น์ค๋ฅผ ํฌํจํ๋คnode์ ์ปดํฌ๋ํธ์๋
kubelet
,kube-proxy
,์ปจํ ์ด๋ ๋ฐํ์
์ด ์๋คโ Cluster ์ฐธ๊ณ !
Node์ ๊ด๋ฆฌ
Kubernetes API ์๋ฒ์ node๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง๊ฐ ์๋ค
Node์
kubelet
์ผ๋ก control plane์ ์์ฒด ๋ฑ๋ก์ฌ์ฉ์ (or ๋ค๋ฅธ ์ฌ์ฉ์)๊ฐ
node object
๋ฅผ ์๋์ผ๋ก ์ถ๊ฐ
Kubelet or node object๋ก ๋ฑ๋กํ ํ control plane์ ์์ฑ๋ node object๊ฐ ์ ํจํ์ง ํ์ธ
ํ๋ค
ex)
Flow
Kubernetes๋ ๋ด๋ถ์ ์ผ๋ก
node object
๋ฅผ ์์ฑํ๋คKubernetes๋
kubelet
์ด node์metadata.name
ํ๋์ ์ผ์นํ๋ API ์๋ฒ์ ๋ฑ๋ก๋์ด ์๋์ง ํ์ธํ๋คnode๊ฐ ์ ์์ด๋ฉด,
pod๋ฅผ ์คํํ ์ ์๊ฒ ๋๋ค
์ ์์ด ์๋๋ฉด,
ํด๋น node๋ ์ ์์ด ๋ ๋๊น์ง ๋ชจ๋ cluster ํ๋์ ๋ํด ๋ฌด์๋๋ค
๐ก Kubernetes๋ ์ ํจํ์ง ์์ `node object` ๋ฅผ `์ ์ง` ํ๊ณ , node๊ฐ `์ ์์ธ์ง ํ์ธ` ํ๋ค
โ ์ํ ํ์ธ์ ์ค์งํ๋ ค๋ฉด ์ฌ์ฉ์ or ์ปจํธ๋กค๋ฌ์์ node object๋ฅผ ๋ช ์์ ์ผ๋ก ์ญ์ ํด์ผ ํ๋ค
Node ์ด๋ฆ์ ๊ณ ์ ์ฑ
๋ node๋ ๋์์ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์ ์๋ค
kubernetes๋
๊ฐ์ ์ด๋ฆ
์ ๋ฆฌ์์ค๊ฐ๋์ผํ ๊ฐ์ฒด
๋ผ๊ณ ๊ฐ์ ํ๋ค!
Node์ ๊ฒฝ์ฐ, ๋์ผํ ์ด๋ฆ์ ์ฌ์ฉํ๋ ์ธ์คํด์ค๊ฐ
๋์ผํ ์ํ
(ex. ๋คํธ์ํฌ ์ค์ , root disk contents)์ node label๊ณผ ๊ฐ์๋์ผํ ์์ฑ
์ ๊ฐ๋๋ค๊ณ ์์์ ์ผ๋ก ๊ฐ์ ํ๋ค๋ง์ฝ ์ธ์คํด์ค๊ฐ ์ด๋ฆ์ ๋ณ๊ฒฝํ์ง ์๊ณ ์์ ๋ ๊ฒฝ์ฐ, ์ด๋ก ์ธํด ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ์ ์๋ค!
๋๋ฌธ์ ๋ ธ๋๋ฅผ ๊ต์ฒดํ๊ฑฐ๋ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๊ฒฝ์ฐ,
๊ธฐ์กด node object๋ฅผ ๋จผ์ API ์๋ฒ์์ ์ ๊ฑฐ
ํ๊ณ ์ ๋ฐ์ดํธ ํ ๋ค์ ์ถ๊ฐํด์ผ ํ๋ค!
Node์ ์ํ
Node์ ์ํ๋ ์๋์ ์ ๋ณด๋ฅผ ํฌํจํ๋ค
์ฃผ์
์ปจ๋์
์ฉ๋๊ณผ ํ ๋น ๊ฐ๋ฅ์ฌ๋ถ
์ ๋ณด
Kubectl์ ์ด์ฉํ์ฌ node ์ํ์ ์ธ๋ถ ์ฌํญ ํ์ธํ๊ธฐ
์์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ๋๋ ์ ๋ณด๋ ์๋๊ณผ ๊ฐ์ด ์ฃผ์, ์ปจ๋์ , ์ฉ๋๊ณผ ํ ๋น ๊ฐ๋ฅ์ฌ๋ถ, ์ ๋ณด์ด๋ค.
์ฃผ์
addresses
ํ๋๋ cloud provider or bare metal ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋ํ๋๋ค
HostName
๋ ธ๋์ ์ปค๋์ ์ํด ์๋ ค์ง ํธ์คํธ๋ช ์ด๋ค
-hostname-override
parameter๋ฅผ ํตํด ์นํ๋ ์ ์๋ค
ExternalIP
์ผ๋ฐ์ ์ผ๋ก ๋ ธ๋์ IP ์ฃผ์๋ ์ธ๋ถ๋ก ๋ผ์ฐํธ ๊ฐ๋ฅํ๋ค
์ฆ, ํด๋ฌ์คํฐ ์ธ๋ถ์์ ์ด์ฉ ๊ฐ๋ฅํ๋ค
InternalIP
์ผ๋ฐ์ ์ผ๋ก ๋ ธ๋์ IP ์ฃผ์๋ ํด๋ฌ์คํฐ ๋ด์์๋ง ๋ผ์ฐํธ ๊ฐ๋ฅํ๋ค
์ปจ๋์
conditions
field๋ ๋ชจ๋Running
์ํ์ node๋ฅผ ๊ธฐ์ ํ๋ค
Ready
๋ ธ๋๊ฐ ์ํ ์ํธํ๋ฉฐ ํ๋๋ฅผ ์์ฉํ ์ค๋น๊ฐ ๋์ด ์๋ ๊ฒฝ์ฐ True, ๋ ธ๋์ ์ํ๊ฐ ๋ถ๋ํ์ฌ ํ๋๋ฅผ ์์ฉํ์ง ๋ชปํ ๊ฒฝ์ฐ False, ๋ ธ๋ ์ปจํธ๋กค๋ฌ๊ฐ ๋ง์ง๋ง node-monitor-grace-period (๊ธฐ๋ณธ๊ฐ 40 ๊ธฐ๊ฐ ๋์ ๋ ธ๋๋ก๋ถํฐ ์๋ต์ ๋ฐ์ง ๋ชปํ ๊ฒฝ์ฐ) Unknown
DiskPressure
๋์คํฌ ์ฌ์ด์ฆ ์์ ์๋ฐ์ด ์๋ ๊ฒฝ์ฐ, ์ฆ ๋์คํฌ ์ฉ๋์ด ๋๋์น ์์ ๊ฒฝ์ฐ True, ๋ฐ๋์ ๊ฒฝ์ฐ False
MemoryPressure
๋ ธ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์๋ฐ์ด ์๋ ๊ฒฝ์ฐ, ์ฆ ๋ ธ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๋์น ์์ ๊ฒฝ์ฐ True, ๋ฐ๋์ ๊ฒฝ์ฐ False
PIDPressure
ํ๋ก์ธ์ค ์์ ์๋ฐ์ด ์๋ ๊ฒฝ์ฐ, ์ฆ ๋ ธ๋ ์์ ๋ง์ ํ๋ก์ธ์ค๋ค์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ True, ๋ฐ๋์ ๊ฒฝ์ฐ False
NetworkUnavailable
๋ ธ๋์ ๋ํด ๋คํธ์ํฌ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ง ์์ ๊ฒฝ์ฐ True, ๋ฐ๋์ ๊ฒฝ์ฐ False
์ฉ๋๊ณผ ํ ๋น ๊ฐ๋ฅ ์ฌ๋ถ
node ์์
์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆฌ์์ค
๋ฅผ ๋ํ๋ธ๋ค๋ฆฌ์์ค์๋ CPU, ๋ฉ๋ชจ๋ฆฌ ๊ทธ๋ฆฌ๊ณ node ์์ผ๋ก ์ค์ผ์ค ๋์ด์ง ์ ์๋ ์ต๋ pod ์๊ฐ ์๋ค
์ฉ๋ ๋ธ๋ก์ ํ๋๋
node์ ์๋ ๋ฆฌ์์ค์ ์ด๋
์ ๋ํ๋ธ๋คํ ๋น๊ฐ๋ฅ ๋ธ๋ก์ ์ผ๋ฐ pod์์ ์ฌ์ฉํ ์ ์๋ node์ ๋ฆฌ์์ค ์์ ๋ํ๋ธ๋ค
์ ๋ณด
์ปค๋ ๋ฒ์
,์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์
(kubelet๊ณผ kube-proxy ๋ฒ์ ),์ปจํ ์ด๋ ๋ฐํ์ ์์ธ ์ ๋ณด
๋ฐ๋ ธ๋๊ฐ ์ฌ์ฉํ๋ ์ด์ ์ฒด์
๊ฐ ๋ฌด์์ธ์ง์ ๊ฐ์ ๋ ธ๋์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๋ณด๊ฐ ๊ธฐ์ ๋๋ค์ด ์ ๋ณด๋ kubelet์ด node์์ ์์งํ์ฌ kubernetes API๋ก ์ ์กํ๋ค
Last updated
Was this helpful?