์๋ ํ์ธ์ ๊ตฌ๋ ์๋, DevOps ์์๊ณผ ๊ธฐ์ ์ง์์ ์ ๋ฆฌํด์ ๊ณต์ ํด๋๋ฆฌ๋ DevOps ์ฌํ์ ์ํ ์์์ง์ ๋๋ค.
์ง๋ 8์์ Kubernetes v1.31์ด ๋ฆด๋ฆฌ์ฆ๋์์ต๋๋ค. ํ๋ก์ ํธ ๋ค์์ Elli์ธ๋ฐ์.
Kubernetes 10์ฃผ๋ ์ดํ ์ฒ์ ๋ฆด๋ฆฌ์ฆ๋๋ ์ด๋ฒ ๋ฒ์ ์์๋ ๋ค์ํ ๊ธฐ๋ฅ์ด ์์ ํ๋๊ณ ์๋ก์ด ๊ธฐ๋ฅ๋ ์ถ๊ฐ๋์์ต๋๋ค.
๊ทธ์ค ์๋ ์ฃผ์ ์ ๋ฐ์ดํธ์ ๋ํด ์๊ฐํด๋๋ฆฌ๊ฒ ์ต๋๋ค.
- AppArmor ์ง์ ๊ธฐ๋ฅ Stable ๋จ๊ณ๋ก ์ํฅ
- PersistentVolume์ lastTransitionTime Stable ๋จ๊ณ๋ก ์ํฅ
- ์ด๋ฏธ์ง ๋ณผ๋ฅจ ์ง์ ๊ธฐ๋ฅ ์ถ๊ฐ (Alpha ๋จ๊ณ)
๐ก๏ธAppArmor ์ง์ ๊ธฐ๋ฅ Stable ๋จ๊ณ๋ก ์ํฅ
AppArmor๋ ๋ฆฌ๋ ์ค ์๋ฒ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋คํธ์ํฌ๋ ํ์ผ ๋ฑ์ ์ ๊ทผํ๋ ๊ฒ์ ์ ํํ๋ ๋ณด์ ๋ชจ๋์ ๋๋ค. Ubuntu๋ SUSE ๋ฑ ๋ง์ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์์ AppArmor๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ์ฉ๋์ด ์๋๋ฐ์.
ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๊ตฐ๊ฐ ์ ์์ ์ผ๋ก ์นจํฌํด์ ๋์ ์ค์ธ ๋ฆฌ๋ ์ค ํธ์คํธ๋ก ์ ๊ทผํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด AppArmor๊ฐ ์ฌ์ฉ๋๋ ๊ฑฐ์ฃ .
AppArmor์ ๋ณดํธ ๋์์ผ๋ก์ ์ ๊ทผ์ด ์ ํ๋๋ ๋ฆฌ์์ค๋ฅผ ์ ์ํ ๊ฒ์ Profile์ด๋ผ๊ณ ํ๋๋ฐ์. ๋ฆฌ๋ ์ค ํธ์คํธ์๋ ์ฌ๋ฌ ๊ฐ์ Profile์ ์ ์ํด์ ๊ด๋ฆฌํ ์๋ ์์ต๋๋ค.
์ด์ ๋ถํฐ AppArmor์ Profile์ Kubernetes ์์์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ ์ ์ฉํ ์ ์๋๋ก securityContext์ appArmorProfile ํ๋๋ฅผ ์ง์ํ๊ณ ์์๋๋ฐ์.
๊ทธ๋์ Beta ๋จ๊ณ์๋ AppArmor ์ง์ ๊ธฐ๋ฅ์ด ์ด๋ฒ Kubernetes 1.31 ๋ฒ์ ๋ฆด๋ฆฌ์ฆ๋ถํฐ Stable ๋จ๊ณ๋ก ์ํฅ๋์๊ณ , ์ด์ Kubernetes์์ AppArmor๋ฅผ ์์ ์ ์ผ๋ก ์ง์ํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๋ง์ฝ Kubernetes ํด๋ฌ์คํฐ์ ๋ฐฐํฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์คํธ ๋ฆฌ์์ค ์ ๊ทผ์ ์ ํํ๊ณ ์ถ๋ค๋ฉด AppArmor๋ฅผ ๊ณ ๋ คํด๋ณด๋ ๊ฑด ์ด๋ ์ ๊ฐ์?
โฑ๏ธPersistentVolume์ lastTransitionTime ๊ธฐ๋ฅ Stable ๋จ๊ณ๋ก ์ํฅ
Persistent Volume(PV)์ Pod์์ ๋ก์ปฌ์ด๋ ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ง Kubernetes ๋ฆฌ์์ค์ ๋๋ค. PV๋ ์๋ 3๊ฐ์ง ์ค ํ๋์ ์ํ๋ฅผ ๊ฐ์ง๋๋ค.
- Pending: PV์ Pod๊ฐ ์ฐ๋๋๊ธฐ ์ํด ์ค๋นํ๋ ์ํ
- Bound: PV์ Pod๊ฐ ์ฐ๋๋ ์ํ
- Released: Pod๊ฐ ์ข ๋ฃ๋๊ฑฐ๋ ๊ธฐํ ์ด์ ๋ก PV๋ฅผ ์ฌ์ฉํ์ง ์์ Pod์ PV๊ฐ์ ์ฐ๋์ด ๋์ด์ง ์ํ
Kubernetes v1.28๋ถํฐ ์ด๋ฐ PV์ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ์์ ์ ๊ธฐ๋กํ๋ lastTransitionTime ํ๋๊ฐ ๋์ ๋์๋๋ฐ์. lastTransitionTime ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด PV๊ฐ ์ํ๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ์ ๋ฐ์ดํธ๋์ด PV์ ์ต๊ทผ ์ํ ๋ณ๊ฒฝ ์์ ์ ์ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
- Retention(๋ฐ์ดํฐ ๋ณด์กด ๋ฐ ์ญ์ ) ์ ์ฑ ๊ตฌํ
- ์: ํน์ ๊ธฐ๊ฐ ๋์ ๊ณ์ Released ์ํ์ธ PV ์ญ์
- ์คํ ๋ฆฌ์ง์ Health ๋ชจ๋ํฐ๋ง
- ์: ๋น์ ์์ ์ผ๋ก ๊ธด ์๊ฐ ๋์ Pending ์ํ์ธ PV ๊ฐ์ง ๋ฐ ์กฐ์น
๋ง์ฝ PV ๊ด๋ฆฌ์ ๊ด๋ จ๋ ์ ์ฑ ์ด๋ ๋ชจ๋ํฐ๋ง์ด ํ์ํ๋ค๋ฉด PV์ lastTransitionTime ํ๋๊ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
๐ฟ์ด๋ฏธ์ง ๋ณผ๋ฅจ ์ง์ ๊ธฐ๋ฅ ์ถ๊ฐ (Alpha ๋จ๊ณ)
v1.31 ๋ฒ์ ๋ถํฐ Alpha ๋จ๊ณ๋ก ์๋ก ์ถ๊ฐ๋ ๊ธฐ๋ฅ๋ ๋ค์ํ๋ฐ์. ๊ทธ ์ค ์ด๋ฒ์ ์๊ฐ๋๋ฆด ๊ธฐ๋ฅ์ ์ด๋ฏธ์ง ๋ณผ๋ฅจ ์ง์ ๊ธฐ๋ฅ์ ๋๋ค.
์ด๋ฏธ์ง ๋ณผ๋ฅจ ์ง์ ๊ธฐ๋ฅ์ด๋, Pod๊ฐ PV๋ก ์ผ๋ฐ์ ์ธ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ Container Image๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํจ์ ์๋ฏธํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ํนํ ์ธ๊ณต์ง๋ฅ ๊ฐ๋ฐ ๋ถ์ผ์์ ํ์ฉ๋ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค๊ณ ํ๋๋ฐ์. ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ ์๋ฒ ์ปจํ ์ด๋๊ฐ ๋ชจ๋ธ Weight๊ฐ ๋ด๊ธด ์ด๋ฏธ์ง๋ฅผ ๋ณผ๋ฅจ ๋ง์ดํธํ๋ค๋ฉด, ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ์ ์๋น์คํ๋ ์ด๋ฏธ์ง์ ๋ชจ๋ธ์ด ์ ์ฅ๋ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฆฌํด์ ์ด์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ธ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ ๊ฒ์ด๋ผ๊ณ ํฉ๋๋ค.
๊ทธ ์ธ์๋ ์ฌ๋ฌ ์ปจํ ์ด๋์ ๊ณต์ฉ์ผ๋ก ํ์ํ ๋ฐ์ดํฐ๊ฐ ๋ด๊ธด ์ด๋ฏธ์ง๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ๋ง์ดํธํด์ ๋ณด์ ์ฌ๊ณ ๊ฐ๋ฅ์ฑ๊ณผ ์ ์ฒด์ ์ธ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ํจ๊ป ์ค์ด๋ ๋ฑ, ๋ค์ํ๊ฒ ํ์ฉํ ์ ์์ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
๐ญ๋ง์น๋ฉฐ...
์ด๋ฒ ์์์ง์์ ์ต๊ทผ Kubernetes v1.31 ๋ฆด๋ฆฌ์ฆ์ ์ฃผ์ ์ ๋ฐ์ดํธ์ ๋ํด ์์๋ดค์ต๋๋ค.
ํน์ ์ด๋ฒ ๋ด์ฉ ๊ด๋ จํด์ ๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ์๋ ๋ฉ์ผ๋ฆฌ ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.๐
๊ทธ๋ผ, ๋ค์ ์์์ง์์ ๋ณด๋ค ์์ฐจ๊ณ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ์ผ๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค.
์ค๋๋ ๊ฐ์ฌํฉ๋๋ค, ๊ตฌ๋ ์๋ ๐บ
๐References
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์