Kubernetes에서 NGINX Ingress Controller를 버전 업하는 방법은 주로 Helm을 사용하는 방법과, kubectl을 통해 직접 리소스를 업데이트하는 방법이 있습니다. 여기서는 두 가지 방법을 모두 설명드리겠습니다.
1. Helm을 사용하여 NGINX Ingress Controller 버전 업그레이드
NGINX Ingress Controller를 Helm을 통해 설치한 경우, Helm을 사용하여 버전을 업그레이드할 수 있습니다.
1.1. NGINX Ingress Controller 버전 확인
먼저, 현재 설치된 Ingress Controller의 버전을 확인합니다.
<namespace>는 Ingress Controller가 설치된 네임스페이스입니다(예: ingress-nginx).
1.2. Helm 저장소 업데이트
Helm 저장소에서 최신 NGINX Ingress Controller 차트를 가져오기 위해 저장소를 업데이트합니다.
1.3. 버전 업그레이드 실행
이제 Helm을 사용하여 NGINX Ingress Controller를 업그레이드합니다. nginx-ingress가 설치된 네임스페이스에서 업그레이드를 진행합니다.
옵션은 필요에 따라 조정하세요:
- controller.replicaCount=2: 인그레스 컨트롤러의 복제본 수를 설정합니다.
- controller.nodeSelector."kubernetes\.io/os"=linux: 특정 노드에 배포되도록 지정할 수 있습니다. (옵션)
1.4. 업그레이드 후 버전 확인
Helm으로 업그레이드 후 NGINX Ingress Controller의 버전이 정상적으로 업데이트되었는지 확인합니다.
NGINX Ingress Controller가 사용하는 Docker 이미지와 버전 정보를 확인할 수 있습니다.
2. kubectl을 사용하여 NGINX Ingress Controller 수동으로 버전 업그레이드
Helm을 사용하지 않고, kubectl을 사용하여 직접 NGINX Ingress Controller의 버전을 업그레이드할 수도 있습니다.
2.1. 기존 NGINX Ingress Controller 삭제 (옵션)
기존의 NGINX Ingress Controller를 삭제하고, 새로 배포하는 방법입니다. 이 경우 기존 설정을 백업해두는 것이 좋습니다.
2.2. 최신 버전으로 다시 설치
새로 배포할 때 최신 버전의 NGINX Ingress Controller를 설치하려면, 다음 명령어로 최신 배포 파일을 적용합니다.
2.3. 업그레이드 확인
배포가 완료되면, 새로운 버전으로 배포된 NGINX Ingress Controller가 실행되고 있는지 확인합니다.
이 명령어로 최신 버전의 인그레스 컨트롤러가 배포되었는지 확인할 수 있습니다.
3. NGINX Ingress Controller 업그레이드 시 고려사항
- 백업: 업그레이드 전에 현재 설정과 리소스를 백업하는 것이 중요합니다. 특히, Ingress 리소스나 ConfigMap 등의 설정을 확인하세요.
- 다운타임: Ingress Controller의 버전 업그레이드는 잠깐의 다운타임을 유발할 수 있습니다. 미리 서비스에 미치는 영향을 고려하여 업그레이드 계획을 세우세요.
- 릴리즈 노트: NGINX Ingress Controller의 릴리즈 노트를 확인하여 버전 간의 호환성 및 변경 사항을 확인하세요.
위 방법 중 하나를 통해 Kubernetes에서 NGINX Ingress Controller의 버전을 안전하게 업그레이드할 수 있습니다.
댓글