Operations
운영 작업은 render 확인, Argo CD 상태 확인, Kubernetes rollout 확인 순서로 진행합니다.
문제가 생겼을 때는 먼저 Git에 선언된 상태가 맞는지 확인하고, 그 다음 Argo CD가 그 상태를 sync했는지, 마지막으로 Kubernetes workload가 정상인지 확인합니다.
1. Render Checks
로컬에서 Kustomize output을 먼저 확인합니다.
kubectl kustomize clusters/dev/k3s/apps
kubectl kustomize clusters/dev/k3s/applications
kubectl kustomize clusters/stg/k3s/apps
kubectl kustomize clusters/stg/k3s/applications
Client-side dry-run으로 Kubernetes schema 수준의 오류를 더 확인할 수 있습니다.
kubectl kustomize clusters/dev/k3s/apps | kubectl apply --dry-run=client -f -
2. Argo CD Checks
Argo CD Application이 원하는 revision을 보고 있는지 확인합니다.
argocd app get tirosh-guide-dev --grpc-web
argocd app get tirosh-guide-stg --grpc-web
필요하면 수동 sync를 실행합니다.
argocd app sync tirosh-guide-dev --grpc-web
3. Kubernetes Checks
Workload 상태는 namespace 기준으로 확인합니다.
kubectl -n tirosh-guide-dev get deploy,pod,svc,ingress
kubectl -n tirosh-guide-stg get deploy,pod,svc,ingress
Image pull 실패는 describe pod 이벤트를 먼저 확인합니다.
kubectl -n tirosh-guide-dev describe pod <pod-name>
4. Docs Endpoint Checks
Docs portal은 아래 path를 확인합니다.
curl -I https://docs.dev-guide.internal.tirosh.ai/
curl -I https://docs.dev-guide.internal.tirosh.ai/source-repo/
curl -I https://docs.dev-guide.internal.tirosh.ai/cd-repo/
세 endpoint가 모두 200을 반환해야 docs image와 ingress가 정상입니다.