보뇨 다이어리

서비스중 ingress nginx controller 업데이트 처리 본문

컴퓨터 관련/Docker, Kubernetes 정보

서비스중 ingress nginx controller 업데이트 처리

보뇨 2023. 1. 11. 22:16
반응형

ingress nginx controller 는 Kubernetes 와 비슷하게 버전을 매번 업그레이드 해야하기때문에
서비스중 부딪히게 되는 이슈인걸로 생각되는데 생각보다 글들이 많이 없어서 이곳에 정리합니다.


ingress nginx controller 같은경우 1번 출처를 참고로 버전을 확인하고 각 환경에 맞는 예를들어 AWS, GCP, OC 일경우 파일을 받아 다시 배포하면 끝입니다.
다만 저같은경우 베어메탈이기때문에 아래와 같이 베어메탈용을 받아 적용해주었습니다.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/baremetal/deploy.yaml

그냥 배포하면 속편한데 서비스중 장애가 발생할수도있습니다.
이때 배포중 ngrinder 로 스트레스 테스트를 해보았는데 배포할때 지연이 일부 발생하지만 다행히 에러는 없었습니다.
어차피 특별한 설정을 안했을시 rollingUpdate 가 발생하고 기존에 있던 팟은 graceful 처리가 되기때문에 큰 이슈가 없다고 판단했습니다.

다만 배포하다가 이름이 같기때문에 기존것에서 수정된상태에서 팟이 들어가게되는데 특정 잡들이 에러를 뱉을수있습니다.
이때 잡은 ingress-nginx-admission-create, ingress-nginx-admission-patch 인데 각 버전에 종속화되어있는걸로 판단되는데
최소 마이너버전 업그레이드시 현상이 발현되었습니다.

Job.batch "ingress-nginx-admission-create" is invalid

그땐 단순히 잡을 삭제해주고 다시 kubectl apply -f ./file-name.yaml 를 실행해주면 깔끔하게 끝납니다 !!!


출처

  1. https://github.com/kubernetes/ingress-nginx
  2. https://github.com/kubernetes/ingress-nginx/issues/5884
반응형