SystemEngineering/kubernetes
-
Deployment RollBackSystemEngineering/kubernetes 2021. 11. 29. 15:42
개요 운영을 하면서 배포 이미지에 문제가 생길 경우 빠르게 롤백해야 하는 상황이 생긴다. 롤백 방법을 자주 까먹어 정리하여 글을 쓴다. 리비전 확인 롤백 가능한 리비전을 아래 명령어로 확인 할 수 있다. $ kubectl rollout history deployment srebgk-deployment deployment.apps/srebgk-deployment REVISION CHANGE-CAUSE 63 64 65 66 67 68 69 70 71 72 73 리비전 상세정보 롤백이 필요할 때 리비전의 상세정보를 확인하여 이미지 버전 및 파드의 상세정보를 확인 가능하다. $ kubectl rollout history deploy srebgk-deployment --revision=64 설정 변경 롤백 릴리즈..
-
PodDisruptionBudget을 이용한 Pod 재배치SystemEngineering/kubernetes 2021. 9. 7. 22:11
개요 쿠버네티스 환경을 운영하다 보면 클러스터의 노드를 변경해야 하는 순간이 온다. 이럴 때 교체 대상이 되는 노드를 drain 한다. drain은 노드 위에서 운영되고 있는 Pod를 다른 노드로 재 배치하고 Schedule을 중지시킨다는 내용이다. 하지만 drain을 무작정하게 되면 모든 파드가 동시에 재배치 되거나 헬스 체크를 통과하기 전에 다음 파드의 재배치가 시작되어 정상적인 파드가 하나도 없는 상태가 될 가능성이 있다. 이러한 현상을 예방해보자. 문제 상황 서비스되고 있는 Deployment가 드레인 상태의 노드에 스케줄링되어있을 경우 Node A 에서 drain을 하게 되면 service 1에 묶여있는 deployment는 동시에 재 배치되므로 이러한 경우에는 Node B와 Node C에 배치..
-
Kubernetes 환경 서비스 무중단 배포SystemEngineering/kubernetes 2021. 8. 5. 20:09
개요 사내에서 팀원들이 사용하는 웹사이트를 운영 중에 있다. 혼자서 개발하고 배포하고 하는데 이상하게 배포할 때마다 1~2초 정도 503 Error가 발생한다. 분명 Deployment로 롤링업데이트를 진행한다고 이해하고 있었는데 이상하다. 그렇게 무중단 배포가 아닌 채로 운영을 하다가 아래 카카오 기술 블로그의 글을 읽었다. kubernetes를 이용한 서비스 무중단 배포 Kubernetes는 컨테이너 오케스트레이션 영역에서 거의 표준으로 자리 잡은 오픈소스 시스템입니다. kubernetes를 사용하게 되면 여러대의 노드를 하나의 클러스터로 묶어서 사용가능하게 됩니다. 클 tech.kakao.com 무중단 배포의 Key는 Pod의 readinessProbe이다. 배포를 막 마치고 pod가 올라올 때 애..