ArgoCD Cluster ๋ฐ Prefix ๊ด๋ฆฌ - CI/CD ์คํฐ๋ 6์ฃผ์ฐจ
- kkumtree
2025-11-22T20:56:43+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ CI/CD Study 6์ฃผ์ฐจ์๋ ArgoCD๋ฅผ ๋ง์ง๋ง์ผ๋ก ๋ค๋ฃจ์์ต๋๋ค.
Cluster๋ฅผ ์ถ๊ฐํด๋ณด๊ณ Gitea๋ฅผ ๋ถ์ด๊ธฐ ์ ์, ArgoCD๋ฅผ Prefix๋ก ๋ผ์ฐํ
ํ๋ ค๊ณ ํ๋๋ฐ ๋ก๊ทธ์์ํ๊ณ ๋์ ์์น์๋ ๊ฒฝ๋ก๋ก ๋น ์ง๋ ๋ฐ๋์
์ด๊ฒ์ ๊ฒ ์ดํด๋ณด๊ณ ์์ ์ ํ์ฌ ์ํ๋ ๋๋ก ๊ตฌ๋๋๋๋ก ์
์
ํ์ต๋๋ค.
0. ์ค์ต ์ค๋น
ํด๋น ๊ตฌ์ฑ๋ค์ ์๋ GitHub์ ํ์ฌ๋์ด ์์ต๋๋ค.
https://github.com/kkumtree/ci-cd-cloudnet-study ์ 6w ํด๋
์ด์ ํฌ์คํ Tailscale์ ํ๊ณ , ArgoCD์ ์ ๊ทผํด๋ณด๊ธฐ์ ํ์๋ค๋ฉด, ๋ฆฌ์์ค ์ ๋ฆฌ๋ฅผ ํฉ๋๋ค.
kind ๋ฐฐํฌ ์, ํฌํธ ์ ์ ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
sudo tailscale serve --tcp 443 off

Tailscale์ ํ๊ณ , ArgoCD์ ์ ๊ทผํด๋ณด๊ธฐ
- kkumtree
2025-11-17T10:23:03+09:00
์ด์ ๊ฒ์๋ฌผ, ArgoCD with Ingress์ ๋๋ฉ์ธ ์ค์ ์ ํ๋ค๊ฐ ๋ฌธ๋, Tailscale์ serve๊ธฐ๋ฅ์ ํ์ฉํ์ฌ Tailscale ๋ด๋ถ ๋คํธ์ํฌ(์ดํ, tailnet)์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ ArgoCD ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ฉด ๋์ง ์์๊น? ํ์ฌ ๊ตฌ์ฑํด๋ณด์์ต๋๋ค.

kind๋ฅผ ์ด์ฉ ์ค์ธ Host์ ์ ์ํ Client๋ค์ Tailscale ์ค์น๋์ด ์์ด์ผํฉ๋๋ค.
1. Tailscale๊ณผ Serve
์ ํต์ ์ธ ์ค์์ง์ค์(Hub-Spoke) VPN์ด ์๋์ ๊ฐ๋ค๋ฉด,

Tailscale์ ๊ฒฝ์ฐ, Mesh ๋คํธ์ํฌ์ ํํ๋ฅผ ๊ฐ์ง๋ฉฐ Wireguard๋ฅผ ํ์ฉํฉ๋๋ค.

| ๊ตฌ๋ถ | ์ ํต์ ์ค์์ง์ค์ VPN | Tailscale (๋ฉ์ฌ VPN) |
|---|---|---|
| ๋คํธ์ํฌ ๊ตฌ์กฐ | ์ค์ ์๋ฒ๋ฅผ ํตํ ๋ชจ๋ ํธ๋ํฝ ๊ฒฝ์ โ | P2P ์ง์ ์ฐ๊ฒฐ, ๋ถ์ฐํ ๋ฉ์ฌ ๋คํธ์ํฌโ |
| ๋ฐ์ดํฐ ๊ฒฝ๋ก | ํด๋ผ์ด์ธํธ โ VPN ์๋ฒ โ ๋ชฉ์ ์งโ | ํด๋ผ์ด์ธํธ โ ๋ชฉ์ ์ง (์ง์ ์ฐ๊ฒฐ)โ |
| ํ๋กํ ์ฝ | OpenVPN(TCP/UDP), IKEv2, L2TP | WireGuard(UDP ๊ธฐ๋ฐ) |
| ์ฑ๋ฅ | ์ค์ ์๋ฒ ๋ณ๋ชฉ ๋ฐ์, ์ง์ฐ ์ฆ๊ฐโ | ์ง์ ์ฐ๊ฒฐ๋ก ์ง์ฐ ์ต์ํ, ๋น ๋ฅธ ์๋ |
| ์ค์ ๋ณต์ก๋ | ์๋ฒ ๊ตฌ์ถ, ํฌํธ ํฌ์๋ฉ ํ์โ | ๋ก๊ทธ์ธ๋ง์ผ๋ก ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅโ |
| NAT ํต๊ณผ | ์๋ ํฌํธ ํฌ์๋ฉ ํ์โ | ์๋ NAT Traversal ์ง์ |
| ํ์ฅ์ฑ | ์๋ฒ ์ฉ๋์ ๋ฐ๋ผ ์ ํโ | ๊ฐ ๋ ธ๋ ๋ ๋ฆฝ์ , ํ์ฅ ์ฉ์ด |
| ๋ณด์ | ์ค์ ์๋ฒ๊ฐ ๋ชจ๋ ํธ๋ํฝ ํ์ธ ๊ฐ๋ฅโ | ์ข ๋จ ๊ฐ ์ํธํ, P2P ์ ์กโ |
Tailscale์ serve์ ๊ฐ์ ๊ฒฝ์ฐ๋, ngrok์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๊ณผ ์ ์ฌํ funnel๊ณผ ๋ฌ๋ฆฌ
tailnet์ ์ํ ๊ธฐ๊ธฐ๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
ArgoCD with Ingress - CI/CD ์คํฐ๋ 5์ฃผ์ฐจ
- kkumtree
2025-11-16T17:38:34+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ CI/CD Study 5์ฃผ์ฐจ์๋ ArgoCD๋ฅผ ์ข๋ ๋ค๋ฃจ์์ต๋๋ค.
0. ์ค์ต ์ค๋น
ํด๋น ๊ตฌ์ฑ๋ค์ ์๋ GitHub์ ํ์ฌ๋์ด ์์ต๋๋ค. https://github.com/kkumtree/ci-cd-cloudnet-study ์ 5w ํด๋
์ฐ์ 80/443 ํฌํธ๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ํ์ธํ์ฌ์ผํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ, ๋ค๋ฅธ ํฌํธ๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
์ค์ ๋ก ํด๋ณด์์ ๊ฒฝ์ฐ tailscale์ด ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์ค์ธํ์ฌ ํด๋น ์๋น์ค๋ฅผ ์ค์งํด๋ณด์์ต๋๋ค.
๋ค๋ง, ๋จ์ํ kind YAML์ ์๋ชป ์์ฑํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.

(1) kind ๋ฐ kube-ops-view
์ด๋ฒ์๋ Ingress์ ๋ฐฐํฌ๋ฅผ ํ๊ธฐ ์ํ ๋ฐ์์
์ผ๋ก
Control Node์ ๋ผ๋ฒจ๋ง์ ์งํํฉ๋๋ค.
์ด๋ ๋ค์์ ์ด์ด์ง ingress-nginx ๋ฐฐํฌ ์, nodeSeletor ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
ArgoCD 101 - CI/CD ์คํฐ๋ 4์ฃผ์ฐจ
- kkumtree
2025-11-09T08:44:34+09:00
CloudNet@์์ ์งํํ๊ณ ์๋ CI/CD Study 4์ฃผ์ฐจ์๋ ArgoCD๋ฅผ ๋ค๋ฃจ๊ธฐ ์์ํ์ต๋๋ค.
Kubernetes(์ดํ, k8s) ์์์ ArgoCD๋ Controller๋ณด๋ค๋ Operator์ ๊ฐ๊น์ด ํฌ์ง์
์ ๊ฐ๋๋ค๊ณ ํ์ฌ,
์ด๋ฒ ๊ธฐํ์ ์ค์ต์ ํ๋ฉด์ ์ฒด๊ฐ์ ํ๋ ๊ฒ์ ๋ชฉ์ ์ ๋์์ต๋๋ค.
- Controller: live state(์ค์ ์ํ)์ desired state(์ํ๋ ์ํ)๊ฐ ์ผ์นํ๋์ง ๊ด์ฐฐ ๋ฐ ์ง์์ ์กฐ์
- Operator: Controller๊ฐ k8s ๋ด๋ถ object์์ ๋์ํ๋ค๋ฉด, Operator๋ k8s ์ธ์ ๊ฒ๋ค๋ ๋ค๋ฃฐ ์ ์์
ํด๋น ๊ตฌ์ฑ๋ค์ ์๋ GitHub์ ํ์ฌ๋์ด ์์ต๋๋ค.
https://github.com/kkumtree/ci-cd-cloudnet-study ์ 4w ํด๋
0. ์ค์ต ์ค๋น
์ด์ ๊ฒ์๋ฌผ, Jenkins, git and kubernetes์ kind ๋ฐ kube-ops-view ์ค์ ๊ณผ ๋์ผํ์ฌ ์๋ตํฉ๋๋ค.