MicroK8s๋Š” Kubernetes ๋ฐฐํฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ๊ฒฝ๋Ÿ‰ Kubernetes ๋ฐฐํฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
K3s์™€ ํ•จ๊ป˜ ๊ฐ€๋ฒผ์šฐ๋ฉด์„œ๋„ Production ํ™˜๊ฒฝ์— ์ ํ•ฉํ•œ Kubernetes ๋ฐฐํฌ ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐ€์ง€ Add-on์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์žฅ์ ์ž…๋‹ˆ๋‹ค.
๋‹ค๋งŒ Kubernetes์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋ฉด์„œ๋„ ๋™์ž‘ ๋ฐฉ์‹์ด๋‚˜ ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ณ , ์—…๋ฐ์ดํŠธ์™€ ์ง€์›์ด ์ž˜ ๋˜์ง€ ์•Š๋Š” ํŽธ์ด๋ฉฐ, ์ด๋กœ ์ธํ•ด ๋””๋ฒ„๊น…๊ณผ ์ด์Šˆ ํ•ด๊ฒฐ์ด ์‰ฝ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Known Issues

dqlite ์ •ํ•ฉ์„ฑ ๋ฌธ์ œ

VM ์žฌ๊ธฐ๋™ ์‹œ MicroK8s๊ฐ€ ์ œ๋Œ€๋กœ ๊ธฐ๋™๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋…ธ๋“œ ์—ฐ๊ฒฐ์ด ์•ˆ ๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›์ธ
    • ๋‹ค์ค‘ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ VM์ด ํ•œ๊บผ๋ฒˆ์— ์ข…๋ฃŒ๋˜๋ฉด์„œ Lost quorum์ด ๋ฐœ์ƒํ•˜๊ณ  dqlite ์ •ํ•ฉ์„ฑ์ด ๊นจ์ง12
    • microk8s stop ๋ช…๋ น์–ด ์—†์ด OS ์—…๋ฐ์ดํŠธ/๊ฐ•์ œ ์ข…๋ฃŒ ๋“ฑ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์ข…๋ฃŒ๋กœ ๋ฐ์ดํ„ฐ ์†์ƒ
  • ํ•ด๊ฒฐ
    • ๊ฐ ๋…ธ๋“œ์˜ MicroK8s์™€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” Add-on์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
    • ์ผ๋ถ€ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์†์ƒ๋œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ๋นˆ ํŒŒ์ผ๋กœ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ctr์„ ํ†ตํ•ด ์ง์ ‘ ํ”„๋กœ์„ธ์Šค์— ์ ‘๊ทผํ•˜์—ฌ ์–ด๋А ์ •๋„ ๋ฐฑ์—…์„ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฐฉ: ๊ฐ ๋…ธ๋“œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜, VM ์ข…๋ฃŒ/์‹œ์ž‘ ์ „ํ›„๋กœ microk8s stop/start ์‹คํ–‰

๋„คํŠธ์›Œํฌ ๋ฌธ์ œ

MicroK8s๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž ์žฌ์ ์ธ ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡๋ช‡ ๋ฌธ์ œ๋Š” Known Issue์ž„์—๋„ ์ˆ˜์ •๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์›์ธ์„ค๋ช…
iptables-legacy vs nftables ํ˜ธํ™˜MicroK8s๋Š” iptables-legacy, ์ตœ๊ทผ OS๋Š” nftables๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
IP table ๋ฏธ์ œ๊ฑฐ์ค‘์ง€/์ œ๊ฑฐ ์‹œ์ ์—์„œ IP table์ด ์ œ๊ฑฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Calico Pod CIDR ์ถฉ๋ŒCIDR ์ถฉ๋Œ๋กœ ์ธํ•ด Calico๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฉํ™”๋ฒฝ ์ฐจ๋‹จfirewalld/UFW ๋“ฑ์˜ ๋ฐฉํ™”๋ฒฝ์ด Calico ์ธํ„ฐํŽ˜์ด์Šค ์ฐจ๋‹จ ๊ฐ€๋Šฅ

๊ธฐํƒ€

  • MicroK8s๋Š” ๋””์Šคํฌ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ด์ง€๋ฉด ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ด๋ฏธ์ง€๋ฅผ ์ œ์™ธํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ง€์›Œ ์šฉ๋Ÿ‰์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. (์ผํšŒ์„ฑ ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋„ ํฌํ•จ)
  • microk8s ctr image import๋Š” ์‹คํ–‰ํ•œ ๋…ธ๋“œ์—๋งŒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • MicroK8s์˜ Add-on๊ณผ ๋ช…๋ น์–ด๋“ค์€ ์Šคํฌ๋ฆฝํŠธ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ  GitHub์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • NTP ์„œ๋ฒ„ ์„ค์ •์ด ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋…ธ๋“œ ๊ฐ„ ์‹œ๊ฐ„์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•„ ์•ฑ์—์„œ ๊ด€๋ จ๋œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWS, Azure ๋“ฑ์˜ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์—๋Š” NTP ์„œ๋ฒ„๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

Footnotes

  1. https://discuss.kubernetes.io/t/recovery-of-ha-microk8s-clusters/12931 โ†ฉ

  2. https://microk8s.io/docs/restore-quorum โ†ฉ