44BIT๋์ [์ด๋ณด๋ฅผ ์ํ ์ฟ ๋ฒ๋คํฐ์ค ์๋ด์] ์ฟ ๋ฒ๋คํฐ์ค ์ํคํ ์ฒ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
์ํ๋ ์ํ(desired stats)๋ฅผ ๋ค์ํ ์ค๋ธ์ ํธ(objects)๋ก ์ ์(spec)ํ๊ณ API ์๋ฒ์ yaml
ํ์์ผ๋ก ์ ๋ฌํ๋ค.
์ ๊ทธ๋ฆผ์ ์ง๋ ๊ธ์์ ๋ฐฐ์ด ReplicaSet์ ์์ฑํ๋ ํ๋ฆ์ ๋ํ๋ด๊ณ ์๋๋ฐ, ์ฌ์ค ์ด ๊ณผ์ ์ด ์ฟ ๋ฒ๋คํฐํธ์ ์ ๋ถ๋ผ๊ณ ๋ด๋ ๋๋ค. ์ด ๊ณผ์ ์์์ ์ด๋ค ์ค๋ธ์ ํธ๊ฐ ์๊ณ , ์ด๋ค ์คํ์ด ์๋์ง, ๊ทธ๋์ ๋์ฐ๋ฉด ์ด๋ป๊ฒ ๋๋์ง๋ฅผ ์ดํดํ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด pod ์ค๋ธ์ ํธ๋ฅผ ๋์ฐ๊ณ ์ถ์ ๋ spec์ ์ด๋ป๊ฒ yaml
ํ์์ผ๋ก ์์ฑํ๋์ง ์์๋ณด์.
apiVersion: v1
kind: Pod
metadata:
name: example
spec:
containers:
- name: busybox
image: busybox:1.25
key:value
ํ์์ผ๋ก ์ด๋ ๊ฒ ๋ช
์ธ๋ฅผ ์์ฑํ๋ฉด, API ์๋ฒ๊ฐ ์ด ๋ช
์ธ๋ฅผ ๋ณด๊ณ ectd์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ฐ ์ปจํธ๋กค๋ฌ๋ค์ด ๋์์ ํ๋ ๊ฒ์ด๋ค. ๊ฒ์๊ธ ์ต์๋จ์ ๊ทธ๋ฆผ์ ReplicaSet์ ์คํ์ ์์ฑํ๋ ์์์ด๋ค.
์๋๋ ArgoCD ๋ผ๋ ์ปค์คํ
๋ฆฌ์์ค๋ฅผ ์ด๋ป๊ฒ ํธ์ถํ๋์ง์ ๋ํ ์์์ธ๋ฐ, ์ด๋ค ์ค๋ธ์ ํธ์ด๋์ง apiVersion
, kind
, metadata
๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ข
๋ฅ์ ๋ฐ๋ผ spec
์ ๊ทธ์ ๋ง๊ฒ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
์ธ ์ข
๋ฅ์ API๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์์๋ดค๋๋ฐ, ๋ณด๋ค์ํผ ํ์ ์์ฒด๋ ๋์ผํ๋ค. spec
๋ง ๊ฐ ์ค๋ธ์ ํธ์ ์คํ์ผ๋ก ์์ฑํด์ฃผ๋ฉด ๋๋ ๊ฒ์ด๋ค.
yaml ํฌ๋งท์ ๋ค์ด๊ฐ๋ ๋ด์ฉ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด์.
์ด์ ์ฟ ๋ฒ๋คํฐ์ค ์๋ด์์ ์๋ํ๋ ์ค ๋ฐฐํฌ ์ค์ต์ ํด๋ณด๋ฉด ์กฐ๊ธ ๋ ๊ฐ์ด ์ฌ ๊ฒ ๊ฐ๋ค.