이 문서는 운영 중인 서비스의 ingress, 도메인, 이미지 태그, 환경 변수를 바꿀 때 따르는 공통 절차를 정리한다.
이 종류의 변경은 작은 diff처럼 보여도 실제 영향 범위가 넓기 때문에, 변경 전 확인과 변경 후 검증을 같은 무게로 다룬다.
cd /home/sh/Documents/Github/gitops
grep -n "path:" k8s/clusters/do4ai-prod/*app.yaml
sudo kubectl get deploy,svc,ing -n <namespace>
확인 포인트는 아래다.
자주 보는 파일은 아래다.
ingress.yamlkustomization.yamldeployment.yamlvalues.yaml변경 범위가 넓으면 한 번에 진행하지 말고 도메인/이미지/환경 변수 변경을 나눠서 처리한다.
git status --short
git diff -- <target-file>
여기서 의도한 변경만 들어가는지 확인한다. unrelated diff가 섞이면 먼저 분리한다.
변경했으면 아래를 확인한다.
sudo kubectl get applications -A
sudo kubectl get deploy,svc,ing -n <namespace>
sudo kubectl get pods -n <namespace>
필요하면 아래도 함께 본다.
sudo kubectl describe ingress -n <namespace> <ingress-name>
sudo kubectl logs deploy/<deploy-name> -n <namespace> --tail=100
/health 또는 주요 진입 URL이 응답하는가아래 중 하나라도 해당하면 즉시 롤백을 검토한다.
Application 과 pod가 직전 정상 상태로 수렴하는지 확인한다.