본문 바로가기

Rollout3

[k8s] 주기적으로 rollout restart 하는 k8s cronjob # 요구사항- 한 앱이 메모리 누수가 있는데, 당장 고칠 개발팀 리소스가 부족함- 일단은 매일 새벽에 한번씩 restart 시켜주는 크론잡 만들어주기로 함- BlueGreen 배포 전략을 사용하느라, argo Rollout 객체를 사용함 # 이름 정리- 앱 이름 : `honglab-app`- 네임스페이스 : `application` # 필요 객체크론잡과, RBAC을 위한 SA, Role, RoleBinding이 필요함애플리케이션과 크론잡은 같은 클러스터, 같은 네임스페이스에 위치시켜 RBAC을 위한 과정을 최소화 함. 1) ServiceAccountapiVersion: v1kind: ServiceAccountmetadata: name: restart-honglab-app-sa namespace: ap.. 2024. 8. 4.
[ArgoCD] RBAC 액션별로 제공하기 # 공식 문서https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/ # policy 규칙p, , , , / allowResources: `clusters`, `projects`, `applications`, `applicationsets`, `repositories`, `certificates`, `accounts`, `gpgkeys`, `logs`, `exec`, `extensions`Actions: `get`, `create`, `update`, `delete`, `sync`, `override`, `action/` 이 때 `sync`, `override`, `action/*` 액션은 applications 리소스에 대해서만 사용 가능 # ac.. 2024. 6. 18.
[Robusta] 직관적인 쿠버네티스 클러스터 알람 받기 그동안 쿠버네티스 워크로드에 대한 알림은 argocd / datadog 일부 만 있었다.그러다가 파드 내에서 OOMKill이 일어나 리스타트 되는 경우가 많다는 것을 알게 되었는데, argocd에서는 이 경우를 감지하지 못하고, datadog 알림은 가독성이 썩 좋진 못했다. 어떤 이유로 restart되었는지 알지 못하고, 어떤 클러스터의 어떤 파드인지도 한 눈에 들어오지 않는다.뭐 사실 이것도 어떻게든 잘 깎으면 개선할 수 있었겠지만, 또 거기에 리소스를 쏟을 시간은 없었다. (사실 하기 싫은거 맞음) 그러다가 Robusta 라는 것을 알게 되었다. (어디 오픈톡방에서 누가 키워드를 남겼는데 이후로 찾아보았다.)레퍼런스는 많이 없었는데, 제니퍼소프트 블로그 글을 보고 일단 한번 설치해 봐야겠다는 생각을.. 2024. 6. 6.