Vault HA λ° Metric μμ§ μ€μ - CI/CD μ€ν°λ 8μ£Όμ°¨
- kkumtree
2025-12-07T05:59:10+09:00
CloudNet@μμ μ§ννκ³ μλ CI/CD Study 8μ£Όμ°¨μλ Vaultμ HA(High Availability)μ λν΄ λ€λ£¨μμ΅λλ€.
κ΅¬μ± λ°©λ²μ μ΄λ‘ μ λΆλΆμ λ¨μνμΌλ, μμν κ΅¬μ± λ°©λ²κ³Ό λ¬λΌμ μ κ° λμ€μ μ°Έκ³ νλ €κ³ λΆμ°μ€λͺ μ ν΄λλ €κ³ ν©λλ€.
λλΆμ΄ λμ보λμμ Vault κ΄λ ¨ λ©νΈλ¦μ λ³΄κ³ μΆμ΄μ, Datadogκ³Ό μ°λνμ¬ κ΄μΈ‘νμμ΅λλ€.
0. μ€μ΅ νκ²½ μ€λΉ
ν΄λΉ ꡬμ±λ€μ μλ GitHubμ νμ¬λμ΄ μμ΅λλ€.
https://github.com/kkumtree/ci-cd-cloudnet-study μ 8w ν΄λ Helm v4 μΆμ ν ν λ¬λ μλ μμ μ μμ±λμκΈ°μ, v3μ νΈνλλ μ°¨νΈ λ²μ μ λͺ μνμ¬ λ°°ν¬νμ΅λλ€.
kind λ°°ν¬μ ingress-nginx, κ·Έλ¦¬κ³ vault-worker κΉμ§ λ°°ν¬νλ©΄, μλμ κ°μ ꡬμ±λκ° λ©λλ€.
Vault 101 in Kubernetes - CI/CD μ€ν°λ 7μ£Όμ°¨
- kkumtree
2025-11-30T08:59:34+09:00
CloudNet@μμ μ§ννκ³ μλ CI/CD Study 7μ£Όμ°¨μλ Vaultλ₯Ό λ€λ£¨μμ΅λλ€.
μμΈν μ€λͺ μ ν΄λΉ 곡μ νμ΄μ§μμ ν΄μ£Όκ³ μμ§λ§, κ·Έμ 1password κ°μ ν¨μ€μλ κ΄λ¦¬ μλΉμ€κ° μλμ μ λμμ΄λΌλ©΄ Vaultλ μΈνλΌ κ΄λ¦¬μ λμμΌλ‘ μ¬μ©λλ κ²μΌλ‘ μκ³ μλ μ κ²λ ν₯λ―Έλ‘μ΄ μ£Όμ°¨μμ΅λλ€.
μ΄λ² μ€ν°λμμλ κ³μν΄μ kindλ‘ λ‘컬 Kubernetes(k8s)λ₯Ό νμ©νκΈ°μ, μ΄λ²μλ λΉμ·νκ² λ°°ν¬ν΄λ³΄κ² μ΅λλ€.
0. μ€μ΅ νκ²½ μ€λΉ - kind ν΄λ¬μ€ν° λ°°ν¬
ν΄λΉ ꡬμ±λ€μ μλ GitHubμ νμ¬λμ΄ μμ΅λλ€.
https://github.com/kkumtree/ci-cd-cloudnet-study μ 7w ν΄λ
kind create cluster --name vault --image kindest/node:v1.32.8 --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
labels:
ingress-ready: true
extraPortMappings:
- containerPort: 80
hostPort: 30080
EOF
echo "[Provisoning..] ingress-nginx in vault cluster"
kubectl config use-context kind-vault
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
kubectl wait --namespace ingress-nginx \
--for=condition=ready pod \
--selector=app.kubernetes.io/component=controller \
--timeout=90s
sudo tailscale serve -bg localhost:30080
kubectl apply -f whoami.yaml
μ΄λ²μλ UI κ΄λ ¨ν΄μ 80ν¬νΈ νλλ§ λ«μ΄λκ³ μ¬μ©νκ³ μΆμλλ°, λκ° νλμ© λ§νλ μ€μ
λλ€.
κ·Έλμ traefik/whoami μ΄λ―Έμ§λ₯Ό νμ©νμ¬ λλ²κΉ
μ νκΈ°λ‘ νμ΅λλ€.