MongoDB Enterprise Kubernetes Operator 업그레이드
다음 절차에서는 Kubernetes 연산자를 최신 버전으로 업그레이드하는 방법을 간략하게 설명합니다.
참고
Kubernetes Operator 1.20,컨테이너 레지스트리 가 애플리케이션 데이터베이스 이미지에 대해 변경되었으며 이미지는 새 태그 접미사를 사용합니다. Kubernetes Operator를 업그레이드하면 Kubernetes Operator -ent
가 새 컨테이너 레지스트리를 -ubi8
또는MDB_IMAGE_TYPE 또는 mongodb.imageType 에 설정된 접미사로 참조하는 모든 이미지에 대해 이전 접미사 를 자동으로 업데이트합니다.
예를 들어, Kubernetes 연산자는 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
을 quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
로 변경합니다.
Kubernetes 연산자가 접미사 자동 업데이트를 중지하려면 MDB_APPDB_ASSUME_OLD_FORMAT 또는 mongodb.appdbAssumeOldFormat 을 true
로 설정합니다. 예를 들어, 리포지토리에서 이 이미지를 미러링하는 경우 자동 접미사 변경을 중지할 수 있습니다.
경고
1 부터 시작합니다.17, Kubernetes Operator에는 이미지 리포지토리에 콜론(:
)이 포함된 경우 업그레이드 프로세스가 실패하는 알려진 버그가 있습니다. 예를 들어 repo:5000/myrepomongo
와 같은 리포지토리 URL을 사용하면 업그레이드가 실패합니다. 이 문제는 버전 1 에 영향을 미칩니다.17 ~ 1.19.0. 그러나 1 에서 수정되었습니다.19.1.
Kubernetes를 사용하여 업그레이드
다음 단계는 환경이 구성된 방식에 따라 달라집니다:
CustomResourceDefinitions 업그레이드 MongoDB deployment의 경우.
다음 kubectl 을 호출합니다. 명령:
kubectl replace -f crds.yaml
선택 사항: 업그레이드하기 전에 Kubernetes 연산자YAML 을 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 kubectl 및 oc 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
Kubernetes용 MongoDB Helm 차트를 최신 버전으로 업데이트합니다. .
helm repo update mongodb
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
선택 사항: 업그레이드하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 Helm 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
인터넷에 연결되지 않은 호스트에서 Kubernetes Operator를 업그레이드하려면 다음을 수행합니다.
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
선택 사항: 업그레이드하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 Helm 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
최신 버전의 Kubernetes Operator로 업그레이드합니다.
다음 helm upgrade
명령을 호출합니다. registry.pullPolicy=IfNotPresent
설정을 사용합니다. 선택적 Kubernetes 연산자 설치 설정에 대해 자세히 알아보려면 연산자 Helm 설치 설정을 참조하세요.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
OpenShift를 사용하여 업그레이드
다음 단계는 환경이 구성된 방식에 따라 달라집니다:
CustomResourceDefinitions 업그레이드 MongoDB deployment의 경우.
다음 oc 를 호출합니다. 명령:
oc replace -f crds.yaml
선택 사항: 업그레이드하기 전에 Kubernetes 연산자 YAML 을 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 kubectl 및 oc 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
새 버전의 Kubernetes 연산자로 업그레이드합니다.
다음 oc 를 호출합니다. 명령:
oc apply -f mongodb-enterprise-openshift.yaml
Kubernetes용 MongoDB Helm 차트를 최신 버전으로 업데이트합니다. .
helm repo update mongodb
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
선택 사항: 업그레이드하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 Helm 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
Kubernetes Operator를 업그레이드합니다.
다음 helm upgrade
명령을 호출합니다.values-openshift.yaml 사용 설정. 선택적 Kubernetes 연산자 설치 설정에 대해 자세히 알아보려면 연산자 Helm 설치 설정을 참조하세요.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
인터넷에 연결되지 않은 호스트에서 Kubernetes Operator를 업그레이드하려면 다음을 수행합니다.
spec.opsManager.configMapRef.name
spec.cloudManager.configMapRef.name
또는 설정을 지정합니다.
원하는 편집기에서 MongoDB 데이터베이스 리소스 사양 을 엽니다.
spec.opsManager.configMapRef.name
설정 또는spec.cloudManager.configMapRef.name
설정에 값을 추가하고 사양을 저장합니다.
선택 사항: 업그레이드하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 Helm 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화하려면 정적 컨테이너(공개 미리 보기) 를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능을 사용하지 않는 것이 좋습니다.
최신 버전의 Kubernetes Operator로 업그레이드합니다.
다음 helm upgrade
명령을 호출합니다.
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent' \ --set registry.imagePullSecrets='<openshift-pull-secret>' \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
values-openshift.yaml 설정, registry.pullPolicy=IfNotPresent
및 registry.imagePullSecrets=<openshift-pull-secret>
. 선택적 Kubernetes 연산자 설치 설정에 대해 자세히 알아보려면 연산자 Helm 설치 설정을 참조하세요.
Kubernetes 연산자 문제를 해결하려면 Kubernetes 연산자 의 로그 검토 및 기타 문제 해결 주제를 참조하세요.
중요
Kubernetes Operator 또는 네임스페이스 를 제거해야 하는 경우 먼저 MongoDB 리소스를 제거해야 합니다.