AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

Kubernetes Operator용 MongoDB 컨트롤러 업그레이드

다음 절차에서는 Kubernetes Operator를 최신 버전으로 업그레이드 하는 방법을 간략하게 설명합니다. 이 업그레이드 프로세스 는 Kubernetes Operator 설치 프로세스 와 유사합니다.

참고

전체적으로 동일한 네임스페이스 사용

기본값으로 Kubernetes Operator는 Kubernetes 클러스터의 모든 리소스를 네임스페이스 mongodb에 배포합니다. mongodb-kubernetes.yaml에서 metadata.namespace의 모든 값을 편집하여 Kubernetes 연산자 리소스를 다른 네임스페이스에 배포할 수 있습니다. 또한 동일한 파일의 모든 RoleBinding 및 ClusterRoleBinding에서 subjects[0].namespace 값을 업데이트해야 합니다. 이 값을 생략하면 바인딩은 기본값 mongodb 네임스페이스에서 ServiceAccount을 찾지만 찾을 수 없습니다.

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mongodb-kubernetes-operator
namespace: production
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mongodb-kubernetes-operator
subjects:
- kind: ServiceAccount
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

다음 kubectl 명령을 실행하여 선택한 버전의 CRD를 Kubernetes 클러스터 에 배포 .

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/crds.yaml
2

다음 명령을 실행하여 현재 배포된 Kubernetes 연산자의 구성 세부 정보를 가져옵니다.

kubectl get deployment <operator-deployment-name> -n <namespace> -o yaml
3

필요한 경우, Github 리포지토리 에서 선택한 Kubernetes 연산자 버전에 대한 적절한 예시 배포서버 YAML 파일을 찾으십시오. 그런 다음, 호환성이 손상되는 변경을 방지하려면 현재 배포된 Kubernetes 연산자의 구성 세부 정보와 일치하도록 예시 YAML 파일 사용자 지정합니다.

4

다음을 실행 하여 사용자 지정된 Kubernetes 연산자를 배포합니다.

kubectl apply -f <customized-operator-yaml-file>.yaml

제공된 배포서버 YAML을 수정할 필요가 없는 경우 다음과 같이 직접 적용 할 수 있습니다.

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/mongodb-kubernetes-multi-cluster.yaml
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/mongodb-kubernetes.yaml

다음 단계는 환경이 구성된 방식에 따라 달라집니다:

참고

전체적으로 동일한 네임스페이스 사용

기본값으로 Kubernetes Operator는 Kubernetes 클러스터의 모든 리소스를 네임스페이스 mongodb에 배포합니다. mongodb-kubernetes-openshift.yaml에서 metadata.namespace의 모든 값을 편집하여 Kubernetes 연산자 리소스를 다른 네임스페이스에 배포할 수 있습니다. 또한 동일한 파일의 모든 RoleBinding 및 ClusterRoleBinding에서 subjects[0].namespace 값을 업데이트해야 합니다. 이 값을 생략하면 바인딩은 기본값 mongodb 네임스페이스에서 ServiceAccount을 찾지만 찾을 수 없습니다.

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: mongodb-kubernetes-operator
namespace: production
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: mongodb-kubernetes-operator
subjects:
- kind: ServiceAccount
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

호환성이 손상되는 변경을 방지하려면 기존 배포서버 와 동일한 설정을 선택해야 합니다. 선택적 Kubernetes 연산자 설치 설정에 학습 보려면 연산자 Helm 설치 설정을 참조하세요.

ServiceAccount 정의에 <openshift-pull-secret> 를 추가해야 합니다.

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: enterprise-operator
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-appdb
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-database-pods
namespace: mongodb
imagePullSecrets:
- name: <openshift-pull-secret>
2

다음 oc 명령을 실행합니다.

다음 oc 명령을 실행하여 선택한 버전의 CRD를 Kubernetes 클러스터 에 배포 .

oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/crds.yaml
3

다음 oc 명령을 실행하여 선택한 버전의 Kubernetes Operator를 Kubernetes 클러스터 에 배포 .

oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.5.0/public/mongodb-kubernetes-openshift.yaml

Kubernetes 연산자 문제를 해결하려면 Kubernetes 연산자 의 로그 검토 및 기타 문제 해결 주제를 참조하세요.

중요

Kubernetes Operator 또는 네임스페이스 를 제거해야 하는 경우 먼저 MongoDB 리소스를 제거해야 합니다.

Kubernetes 연산자가 올바르게 설치되었는지 확인하려면 다음 명령을 실행하고 출력을 확인합니다.

kubectl describe deployments mongodb-kubernetes-operator -n <metadata.namespace>

기본적으로 배포는 mongodb 네임스페이스에 존재합니다. 다음 오류 메시지가 나타나면 올바른 네임스페이스를 사용하고 있는지 확인합니다.

Error from server (NotFound): deployments.apps "mongodb-kubernetes-operator" not found

Kubernetes 연산자 문제를 해결하려면 Kubernetes 연산자 의 로그 검토 및 기타 문제 해결 주제를 참조하세요.

중요

Kubernetes Operator 또는 네임스페이스 를 제거해야 하는 경우 먼저 MongoDB 리소스를 제거해야 합니다.

Kubernetes Operator용 MongoDB 컨트롤러를 업그레이드한 후 다음을 수행할 수 있습니다.