๋ฉ๋ชจ. ๋ฒ์ญ: ์ด ํ ์คํธ์ ์๋ณธ์ ๋ฐํ๋ ํ๋ก์ ํธ์ ๊ฐ๋ฐ ๋ฐฐํ์ ์๋ ReactiveOps์ ์์ SRE ์์ง๋์ด์ธ Rob Scott์ด ์์ฑํ์ต๋๋ค. ์ฐ๋ฆฌ๋ Kubernetes์ ๋ฐฐํฌ๋ ๊ฒ์ ๋ํ ์ค์ ์ง์ค์ ์ ํจ์ฑ ๊ฒ์ฌ ์์ด๋์ด์ ๋งค์ฐ ๊ฐ๊น๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ด๋์ ํฐ๋ธ๋ฅผ ๊ด์ฌ์ ๊ฐ์ง๊ณ ๋ฐ๋ฅด๊ณ ์์ต๋๋ค.
์๊ฐํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌ์ํ ๊ตฌ์ฑ ๊ฒฐํจ์ด ์์ง๋์ด๊ฐ ๋ฐค์ ์ ์ ์ด๋ฃจ์ง ๋ชปํ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ก ์ด์ด์ง๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ๋งค์ฐ ๊ฐ๋จํ ๊ฒ - ์๋ฅผ ๋ค์ด ๊ฑด๋ง์ฆ์ผ๋ก ์ธํด ๊ฐ๊ณผ๋ ๋ฆฌ์์ค ์์ฒญ ๊ตฌ์ฑ (์์ ์์ฒญ) - ์๋ ํฌ๊ธฐ ์กฐ์ ์ด ์ค๋จ๋ ์ ์์ผ๋ฉฐ ์ํฌ๋ก๋์ ๋ฆฌ์์ค๊ฐ ์๋ ์ํ๋ก ๋จ๊ฒ ๋ ์๋ ์์ต๋๋ค. ์ด์ ์๋ ์ฌ์ํ ๊ตฌ์ฑ ์ค์๋ก ์ธํด ์์ฐ ์ค๋จ์ด ๋ฐ์ํ๋ค๋ฉด ์ด์ Polaris๋ฅผ ํตํด ์ด๋ฅผ ์์ ํ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
Polaris๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ, ์ ๋ขฐ์ฑ, ํ์ฅ์ฑ ๋ฐ ๋ณด์์ ์ํฅ์ ๋ฏธ์น๋ ๊ตฌ์ฑ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋๋ก ๋์์ค๋๋ค. ๋ฐฐํฌ ๊ตฌ์ฑ์ ์ฝ์ ์ ์ฝ๊ฒ ์๋ณํ๊ณ ํฅํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค. Polaris๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ ์คํธ๋ ํ์ค ์งํฉ์ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐฐํฌ๋๋ค๋ ์ฌ์ค์ ์๊ณ ์์ฌํ ์ ์์ต๋๋ค.
Polaris๋ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ํด๋ฌ์คํฐ์ ๊ธฐ์กด ๋ฐฐ์น๊ฐ ์ผ๋ง๋ ์ ๊ตฌ์ฑ๋์ด ์๋์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋์๋ณด๋
- ํ์ฉ๋ ํ์ค์ ์ถฉ์กฑํ์ง ์๋ ๋ฐฐํฌ๊ฐ ๋กค์์๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ์คํ์ ํ ์คํธ ์นํํฌ์ ๋๋ค.
ํด๋ผ๋ฆฌ์ค ๋์๋ณด๋
Polaris ๋์๋ณด๋๋ Kubernetes ๋ฐฐํฌ์ ํ์ฌ ์ํ๋ฅผ ํ์ธํ๊ณ ๊ฐ์ ์ ์ํ ๊ถ์ฅ ์ฌํญ์ ์ป์ ์ ์๋ ๊ฐ๋จํ๊ณ ์๊ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ํ ์ ์ฒด ๊ฐ์๋ฅผ ์ ๊ณตํ๊ณ ๋ฒ์ฃผ, ๋ค์์คํ์ด์ค ๋ฐ ๋ฐฐํฌ๋ณ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฅํฉ๋๋ค.
Polaris๊ฐ ์ค์ ํ ๊ธฐ๋ณธ ๊ธฐ์ค์ ์๋นํ ๋์ผ๋ฏ๋ก ์ ์๊ฐ ์์๋ณด๋ค ๋ฎ์๋ ๋๋ผ์ง ๋ง์ญ์์ค. Polaris์ ์ฃผ์ ๋ชฉํ๋ ๋์ ๊ธฐ์ค์ ์ค์ ํ๊ณ ํ๋ฅญํ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ์ํด ๋
ธ๋ ฅํ๋ ๊ฒ์
๋๋ค. ์ ์๋ ๊ตฌ์ฑ์ด ๋๋ฌด ๊ฒฝ์ง๋ ๊ฒ ๊ฐ์ผ๋ฉด ๋ฐฐํฌ ๊ตฌ์ฑ ํ๋ก์ธ์ค ์ค์ ์์ ํ์ฌ ํน์ ์ํฌ๋ก๋์ ์ต์ ํํ ์ ์์ต๋๋ค.
Polaris ์ถํ๋ฌผ์ ์ผ๋ถ๋ก ์ฐ๋ฆฌ๋ ๋๊ตฌ ์์ฒด๋ฅผ ์ ์ํ ๋ฟ๋ง ์๋๋ผ ์ฌ๊ธฐ์ ํฌํจ๋ ํ ์คํธ๋ฅผ ์์ธํ ์ค๋ช ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ฐ ๊ฒํ ์๋ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ์ด์ ๋ฅผ ์ค๋ช ํ๋ ๊ด๋ จ ๋ฌธ์์ ๋ํ ๋งํฌ์ ์ฃผ์ ์ ๋ํ ์ถ๊ฐ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
ํด๋ผ๋ฆฌ์ค ์นํ
๋์๋ณด๋๊ฐ โโ๋ฐฐํฌ์ ํ์ฌ ๊ตฌ์ฑ์ ๋ํ ๊ฐ์๋ฅผ ์ป๋ ๋ฐ ๋์์ด ๋๋ ๊ฒฝ์ฐ Webhook์ ํด๋ฌ์คํฐ์๋ง ๋กค์์๋๋ ๋ชจ๋ ๋ฐฐํฌ์ ๋ํ ํ์ค์ ์ ์ฉํฉ๋๋ค.
๋์๋ณด๋์์ ์๋ณ๋ ๋ฌธ์ ๊ฐ ์์ ๋ ํ ์นํํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ด ๋ค์๋ ์ค์ ๋ ํ์ค ์๋๋ก ๋จ์ด์ง์ง ์๋๋ก ํ ์ ์์ต๋๋ค. Webhook์ ๊ตฌ์ฑ์ ์๋นํ ํธ์ฐจ("์ค๋ฅ" ์์ค)๊ฐ ํฌํจ๋ ํด๋ฌ์คํฐ์ ๋ฐฐํฌ ๋ฐฐํฌ๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.
์ด ์นํํฌ์ ์ ์ฌ๋ ฅ์ ๊ณ ๋ฌด์ ์ด์ง๋ง ์์ฐ ์ค๋น๊ฐ ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ ค๋ฉด ์ฌ์ ํ ๊ด๋ฒ์ํ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค. ํ์ฌ ์คํ์ ๊ธฐ๋ฅ์ด๋ฉฐ ์๋ก์ด ์คํ ์์ค ํ๋ก์ ํธ์ ์ผ๋ถ์ ๋๋ค. ๋ฐฐํฌ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐฉํดํ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํ์ฌ ์ฌ์ฉํ์ญ์์ค.
์์ํ๊ธฐ
์ด ๋ฐํ๋ฅผ ์ฝ๋ ๋์ Polaris๊ฐ ์ ์ฉํ ๋๊ตฌ๊ฐ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋์๋ณด๋๋ฅผ ์ง์ ์ฌ์ฉํด ๋ณด๊ณ ์ถ์ต๋๊น? ํด๋ฌ์คํฐ์ ํจ๋์ ๋ฐฐํฌํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค. ์ต์ํ์ ๊ถํ(์ฝ๊ธฐ ์ ์ฉ)์ผ๋ก ์ค์น๋๋ฉฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๋ด๋ถ์ ๋จ์ ์์ต๋๋ค. kubectl์ ์ฌ์ฉํ์ฌ ๋์๋ณด๋๋ฅผ ๋ฐฐํฌํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml
์ด์ ๋ก์ปฌ ํฌํธ โโ8080์ ํตํด ๋์๋ณด๋์ ์ก์ธ์คํ๋ ค๋ฉด ํฌํธ ํฌ์๋ฉ์ ์ค์ ํด์ผ ํฉ๋๋ค.
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80
๋ฌผ๋ก Helm์ ํฌํจํ์ฌ Polaris๋ฅผ ์ฌ์ฉํ๊ณ ๋ฐฐํฌํ๋ ๋ค๋ฅธ ๋ง์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๊ฒ๊ณผ ํจ์ฌ ๋ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค
์ด๊ฒ์ ์์์ ๋ถ๊ณผํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฏธ Polaris์ ๊ตฌ์ถํ ๊ฒ์ ๋ง์กฑํ์ง๋ง ์ด์ผ๊ธฐ๋ ์ฌ๊ธฐ์ ๋๋์ง ์์ต๋๋ค. ๊ธฐ๋ฅ์ ํ์ฅํ๊ธฐ ์ํด ์ถ๊ฐํ๊ณ ์ถ์ ์๋ก์ด ํ
์คํธ๊ฐ ๋ง์ด ์์ต๋๋ค. ๋ํ ๋ค์์คํ์ด์ค ๋๋ ๋ฆฌ์์ค ์์ค์์ ์์ธ ํ์ธ ๊ท์น์ ๊ตฌํํ๋ ๋ ๋์ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ต๋๋ค. ๊ณํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค.
Polaris๊ฐ ์ ์ฉํ ์ ์๋ค๋ ์ธ์์ ๋ฐ์๋ค๋ฉด ์๊ฐ์ ๋ด์ด ์ฌ์ฉํด ๋ณด์ญ์์ค. ์์ด๋์ด, ํผ๋๋ฐฑ, ์ง๋ฌธ ๋๋ ํ ์์ฒญ์ ํ์ํฉ๋๋ค. ๋น์ ์ ์ ํฌ์๊ฒ ์ฐ๋ฝํ์ค ์ ์์ต๋๋ค
๋ฒ์ญ๊ฐ์ ์ถ์
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
Kubernetes ํ์ฅ ๋ฐ ๋ณด์(๊ฐ์ ๋ฐ ๋์์ ๋ณด๊ณ ์) "; - ยซ
์ฟ ๋ฒ๋คํฐ์ค ์ด์์ ์ฌ๋ฏธ์๋ ์์คํ ๋ฒ๊ทธ 6๊ฐ์ง [๋ฐ ํด๋น ์๋ฃจ์ ] "; - ยซ
9 Kubernetes ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก "; - ยซ
Kubernetes ๋ฆฌ์์ค ๋ชจ๋ํฐ๋ง์ ์ํ kubedog ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๊ฐ ".
์ถ์ฒ : habr.com