New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. ๊ธ์ ์ ์น๊ตฌ์๊ฒ ๋น๋ ธ๋๋ฐ ์ค๋์ด ๋์ ์ฃผ๊ธฐ๋ก ํ๋ .. ๊ทธ๋ฐ๋ฐ ์นด๋๊ฐ์ ๋ด์ผํ๋ ๋ ๋ ์ค๋์ธ๋ฐ... ์ด๊ฑธ ์ด์ฉ๋...
4. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค์ํ ์์ฌ ๊ฒฐ์ ์ ํ ๋?
5. ์ด์ฌํ ์ผํ ๋๋ฅผ ์ํ ์ ๋ฌผ์ ์ฃผ๊ณ ์ถ๋ค. ์ด๋ค๊ฒ ์ข์๊น?
6. ์ํ์์ ํฌ์์ํ์ ์ถ์ฒ๋ฐ์๋ค. ์ด๋ค๊ฑธ ๊ฐ์ ํ์ง?
7. ํ์ฌ์์์ ๋๋?
8. ๊ฟ์์ ๊นจ์ด๋๋ 20๋ ์ ์ผ๋ก ๋์๊ฐ๋ค. ๋น์ ์ด ์ ์ผ ๋จผ์ ํ๋์ผ์?
9. ๋ด๊ฐ ์ธ์ฌ ๋ด๋น์๋ผ๋ฉด ์ ๊ท ์ ์ฌ์ ์ฑ์ฉ ์ ์ ์ผ ์ค์ํ๊ฒ ๋ณด๋๊ฒ์?
10. ํ์ฌ์ ์ ๋ง ์ซ์ดํ๋ ๋๋ฃ๊ฐ ์๋ค๋ฉด?
11. ๊ฐ๋ํ ์ง์ ๊ฐ์ฅ์ด ๋์๋ค.. ์๋ ์ ์์ผ ๋ ์ ๋ฌผ์?
12. ํ์ ํ์ฌ ์ถ๊ทผ ์คํ์ผ์?
13.ํ์ฌ ์ฒด์ก๋ํ ํ๋ ๋ ์ด๋ค. ์ค๋ ๋ญํ์ง?
14. ๋์ ์ ๋ฌด ์คํ์ผ์?
ArgoCD v2.14.2
2025๋ 2์ ๊ธฐ์ค ArgoCD์ ์ต์ ์์ ํ ๋ฒ์ ์ v2.14.2๋ก, 2025๋ 2์ 6์ผ ๊ณต์ ๋ฆด๋ฆฌ์ฆ๋์์ต๋๋ค. ๋ณธ ๋ฒ์ ์ ๋ค์ค ํด๋ผ์ฐ๋ ํ๊ฒฝ์์์ ๋ฐฐํฌ ์ ๋ขฐ์ฑ ๊ฐํ์ ๋๊ท๋ชจ ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์ฑ๋ฅ ๊ฐ์ ์ ์ด์ ์ ๋ง์ถ ์ ์ด ํน์ง์ ๋๋ค. ํนํ 1,000๋ ธ๋ ์ด์์ ์ด๋ํ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์์ ๋ฆฌ์์ค ๋๊ธฐํ ์๊ฐ์ 40% ๋จ์ถํ ๊ฒ์ผ๋ก ๋ณด๊ณ ๋์์ต๋๋ค.
ํต์ฌ ์ค์น ๋ฐฉ๋ฒ
# ๋น๊ณ ๊ฐ์ฉ์ฑ ์ค์น
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.2/manifests/install.yaml
# ๊ณ ๊ฐ์ฉ์ฑ ์ค์น
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.2/manifests/ha/install.yaml
v2.14.2 ๊ณต์ ์ค์น ๋ช ๋ น์ด
์ฃผ์ ๊ธฐ๋ฅ ๊ฐ์ ์ฌํญ
1. ๊ธ๋ก๋ฒ ๋๊ธฐํ ํ์์์ ๊ธฐ๋ฅ
controller.sync.timeout.seconds ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ํด๋ฌ์คํฐ ์ ์ฒด ๋๊ธฐํ ์์ ์ ์ต๋ ์คํ ์๊ฐ์ ์ค์ ํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด๋ ๋ฌดํ ์ฌ์๋๋ก ์ธํ ๋๊ธฐํ ํ๋ก์ธ์ค ์ ์ง ๋ฌธ์ ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ 180์ด(3๋ถ)๋ก ์ค์ ๋์์ต๋๋ค.
# argocd-cmd-params-cm ConfigMap ์ค์ ์์
data:
controller.sync.timeout.seconds: "300"
๊ธ๋ก๋ฒ ํ์์์ ์ค์ ์์
2. Helm 3.16.2 ์ ๊ทธ๋ ์ด๋
์ธ๋ถ ์คํค๋ง ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ์คํ๋ผ์ธ ํ๊ฒฝ์ ์ํด --skip-schema-validation ํ๋๊ทธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ Istio 1.24 ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ์ ๋ณด์ฅํ๋ฉฐ, Application CRD ์คํ์์ ์ง์ ์ค์ ๊ฐ๋ฅํฉ๋๋ค.
3. ๋ฆฌ์์ค ์ญ์ ๋ณดํธ ๋ฉ์ปค๋์ฆ
ํ๋ก๋์ ํ๊ฒฝ์์์ ์น๋ช ์ ์ญ์ ๋ฐฉ์ง๋ฅผ ์ํด ์๋ก์ด ์ฃผ์์ด ๋์ ๋์์ต๋๋ค:
argocd.argoproj.io/sync-options: Prune=confirm
: ๋ฆฌ์์ค ์ ๋ฆฌ ์ ์๋ ์น์ธ ํ์argocd.argoproj.io/sync-options: Delete=confirm
: ์ ํ๋ฆฌ์ผ์ด์ ์ญ์ ์ ํ์ธ ์ ์ฐจ ๊ฐ์ ํ
4. ์๋ฒ์ฌ์ด๋ ์ ์ฉ(SSA) ๊ฐ์
๊ฐ๋ณ ๋ฆฌ์์ค ๋จ์๋ก ์๋ฒ์ฌ์ด๋ ์ ์ฉ ๊ธฐ๋ฅ์ ๋นํ์ฑํํ ์ ์๋ ์ ์ฐ์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค. ํนํ Legacy ์์คํ ๊ณผ์ ํธํ์ฑ์ด ํ์ํ ๊ฒฝ์ฐ์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.
์ค์ ๋ฒ๊ทธ ์์ ๋ด์ญ
1. ํ๋ก์ ๋ ์ง์คํธ๋ฆฌ ํค ๊ด๋ฆฌ ๊ฐ์
๋์ ์๋ฒ์ ์ด๋ฆ ๊ธฐ๋ฐ์ ํ๋ก์ ๋ ์ง์คํธ๋ฆฌ ํค ๊ด๋ฆฌ ๋ฐฉ์์ ์ฌ์ค๊ณํ์ฌ, ๋ค์ค ๋ ์ง์คํธ๋ฆฌ ํ๊ฒฝ์์์ ์ด๋ฏธ์ง ํ ์คํจ์จ์ 27% ๊ฐ์์์ผฐ์ต๋๋ค. ์ด๋ ํนํ ํ๋ผ์ด๋น ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ ์ค์ํ ๊ฐ์ ์ฌํญ์ ๋๋ค.
# ์์ ์
registry.proxy: global-key
# ์์ ํ
registry.proxy.<destination-server>: server-specific-key
๋ ์ง์คํธ๋ฆฌ ํค ๊ด๋ฆฌ ๋ฐฉ์ ๋ณ๊ฒฝ
2. ์ ํ๋ฆฌ์ผ์ด์ ์๋ก๊ณ ์นจ ์ฑ๋ฅ ๊ฐ์
controller.cluster.cache.batch.events.processing ๋ฐ controller.cluster.cache.events.processing.interval ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐฐ์น ํฌ๊ธฐ๋ฅผ ์ต์ ํํ ์ ์๊ฒ ๋์์ต๋๋ค. 10,000๊ฐ ์ด์์ ํ๋๋ฅผ ๊ฐ์ง ํด๋ฌ์คํฐ์์ UI ์๋ต ์๋๊ฐ 300% ํฅ์๋์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ์ ๊ณ ๋ ค์ฌํญ
1. Redis/Haproxy ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ ๋ณ๊ฒฝ
DockerHub ๋์ AWS ECR์ ๊ธฐ๋ณธ ๋ ์ง์คํธ๋ฆฌ๋ก ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ๋์์ผ๋ฉฐ, Cosign ์๋ช ๊ฒ์ฆ ์ ์ฑ ์ ์ฌ์ฉํ๋ ํ๊ฒฝ์์๋ ECR ๋ ์ง์คํธ๋ฆฌ ํ์ดํธ๋ฆฌ์คํธ ๋ฑ๋ก์ด ํ์์ ๋๋ค.
2. ApplicationSet ์ ํ์ ๋์ ๋ณ๊ฒฝ
์ค์ฒฉ ์ ํ์(nested selectors)๊ฐ ํญ์ ์ ์ฉ๋๋๋ก ๋์ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๊ธฐ์กด applyNestedSelectors: false ์ค์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ๋์ ๋งค๋ํ์คํธ๋ฅผ ์์ ํด์ผ ํ๋ฉฐ, ๊ฒ์ถ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
kubectl get appsets -o=json | jq -r '.items[] | select(.spec.applyNestedSelectors != true) | .metadata.name'
ํธํ์ฑ ๊ฒ์ฌ ๋ช ๋ น์ด
์งํ ๋ฐฉํฅ์ฑ
v2.14.2๋ AI ๊ธฐ๋ฐ ์์ธก ๋๊ธฐํ ๊ธฐ๋ฅ์ ํฌํจํ v3.0 ๋๋น ์ค๋น ๋จ๊ณ๋ก, ํฅํ ๋ฒ์ ์์๋ eBPF ๊ธฐ์ ์ ํ์ฉํ ์ค์๊ฐ ๋คํธ์ํฌ ํธ๋ํฝ ๋ถ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ์์ ์ ๋๋ค. ํ์ฌ 78%์ Fortune 500 ๊ธฐ์ ์ด ํ๋ก๋์ ํ๊ฒฝ์ ArgoCD๋ฅผ ํ์ค ํ๋ซํผ์ผ๋ก ์ฑํํ ์ํ์์, ์ง์์ ์ธ ์์ ์ฑ ๊ฐํ๊ฐ ๊ฐ๋ฐ ๋ก๋๋งต์ ์ต์ฐ์ ๊ณผ์ ๋ก ์ค์ ๋์์ต๋๋ค.
์ด๋ฒ ๋ฒ์ ์ ๊ทธ๋ ์ด๋๋ ํนํ ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์์ ์ด์ ํจ์จ์ฑ ์ฆ๋์ ์ด์ ์ ๋ง์ถ๊ณ ์์ต๋๋ค. 2025๋ 1์ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด, v2.14.2๋ ๋์ผ ํ๋์จ์ด ์ฌ์์์ v2.13 ๋๋น ์ต๋ 150%์ ์ฒ๋ฆฌ๋ ํฅ์์ ๋ฌ์ฑํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.