전제 조건 및 고려 사항
Kubernetes 연산자를 설치하기 전에 설치 계획을확인하십시오.
참고
이 튜토리얼은 Kubernetes에 대한 약간의 지식이 있다고 가정하고 관련 Kubernetes 문서에 대한 링크를 제공합니다. Kubernetes에 대해 잘 모르는 경우, 먼저 해당 문서를 검토하세요.
Kubernetes와 함께 설치
설치 절차는 환경 구성 방법에 따라 달라집니다.
참고
전체적으로 동일한 네임스페이스 사용
기본값으로 Kubernetes Operator는 Kubernetes 클러스터의 모든 리소스를 네임스페이스 mongodb에 배포합니다. mongodb-kubernetes.yaml에서 metadata.namespace의 모든 값을 편집하여 Kubernetes 연산자 리소스를 다른 네임스페이스에 배포할 수 있습니다. 또한 동일한 파일의 모든 RoleBinding 및 ClusterRoleBinding에서 subjects[0].namespace 값을 업데이트해야 합니다. 이 값을 생략하면 바인딩은 기본값 mongodb 네임스페이스에서 ServiceAccount을 찾지만 찾을 수 없습니다.
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncated선택 사항: 설치하기 전에 Kubernetes 연산자 YAML 을 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 kubectl 및 oc 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화 하려면 정적 컨테이너(공개 미리 보기)를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능 사용하지 않는 것이 좋습니다. 자세히 학습 미리 보기 기능을 참조하세요.
Kubernetes 용 MongoDB Helm Charts사용합니다.
참고
Helm 차트 리포지토리 지원 중단
MongoDB Helm Charts for Kubernetes 리포지토리 에서 Kubernetes Operator를 설치하는 것은 더 이상 사용되지 않으며 MCK 버전 2.0에서 제거될 예정입니다. 대신 OCI 호환 레지스트리에서 Helm 차트 설치하려면 "Helm 사용(OCI 호환 레지스트리)" 탭.
Kubernetes 용 MongoDB Helm Charts 추가합니다.
다음을 실행 하여 로컬에서 Kubernetes Operator Helm Chart를 추가할 수 있습니다.
helm repo add mongodb https://mongodb.github.io/helm-charts배포하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 학습 보려면 연산자 Helm 설치 설정을 참조하세요.
Kubernetes 연산자를 배포합니다.
다음 helm 명령을 실행하여 Kubernetes 클러스터 의 기본값 네임스페이스 에 Kubernetes Operator를 배포 합니다.
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes다음과 같이 --namespace 및 --create-namespace 플래그를 전달하여 기본이 아닌 네임스페이스 에 Kubernetes Operator를 배포 수 있습니다.
helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \--namespace mongodb \--create-namespaceHelm으로 특정 일일 빌드 설치
MongoDB는 매일 Kubernetes 연산자 이미지를 재구축하여 최신 보안 및 OS 업데이트를 통합합니다.
기본적으로 helm 는 지정한 Kubernetes 연산자 버전에 대한 최신 빌드를 설치합니다.
이전 빌드를 설치하려면 --set build=<build-id> 을 사용하여 빌드 ID를 매개 변수로 지정합니다. 빌드 ID는 항상 -b<YYYYMMDD>T000000Z 형식이며, 여기서 <YYYYMMDD> 는 사용하려는 빌드가 생성된 날짜입니다.
예시
이 예에서는 최신 이미지로 Kubernetes 연산자를 설치하는 방법을 보여줍니다.
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes이 예에서는 2021년 2월 5일 자정에 생성된 이미지로 Kubernetes 연산자를 설치하는 방법을 보여 줍니다.
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set build=-b20210205T000000Z참고
MongoDB는 기본(최신) 빌드를 사용할 것을 권장합니다.
MongoDB는 quay.io/mongodb/helm-charts의 OCI 호환 컨테이너 레지스트리에도 Kubernetes 연산자 Helm 차트를 게시합니다. 이 레지스트리에서 설치할 때는 Helm 차트 리포지토리를 추가하는 대신 차트를 직접 참조합니다.
배포하기 전에 Helm 차트를 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 학습 보려면 연산자 Helm 설치 설정을 참조하세요.
Kubernetes 연산자를 배포합니다.
다음 helm 명령을 실행하여 Kubernetes 클러스터 의 기본값 네임스페이스 에 Kubernetes Operator를 배포 합니다.
helm upgrade --install mongodb-kubernetes-operator \ oci://quay.io/mongodb/helm-charts/mongodb-kubernetesKubernetes Operator를 기본값이 아닌 네임스페이스에 배포하려면 --namespace 및 --create-namespace 플래그를 전달하세요.
helm upgrade --install mongodb-kubernetes-operator \ oci://quay.io/mongodb/helm-charts/mongodb-kubernetes \ --namespace mongodb \ --create-namespaceOpenShift로 설치
시작하기 전에 OpenShift 에 Kubernetes Operator를 배포 때 MANAGED_SECURITY_CONTEXT 플래그가 true (으)로 설정하다 있는지 확인하세요. 이 값은 values-openshift.yaml 파일에 미리 정의되어 있습니다.
설치 절차는 환경 구성 방법에 따라 달라집니다.
참고
전체적으로 동일한 네임스페이스 사용
기본값으로 Kubernetes Operator는 Kubernetes 클러스터의 모든 리소스를 네임스페이스 mongodb에 배포합니다. mongodb-kubernetes-openshift.yaml에서 metadata.namespace의 모든 값을 편집하여 Kubernetes 연산자 리소스를 다른 네임스페이스에 배포할 수 있습니다. 또한 동일한 파일의 모든 RoleBinding 및 ClusterRoleBinding에서 subjects[0].namespace 값을 업데이트해야 합니다. 이 값을 생략하면 바인딩은 기본값 mongodb 네임스페이스에서 ServiceAccount을 찾지만 찾을 수 없습니다.
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncatedKubernetes Operator 리포지토리 용 MongoDB 컨트롤러를 복제하고 현재 출시하다 에 대한 태그를 지정하다 확인합니다.
다음 git 명령을 실행합니다.
git clone https://github.com/mongodb/mongodb-kubernetes.gitcd mongodb-kubernetesgit checkout 1.6.1Kubernetes Operator 리포지토리 용 MongoDB 컨트롤러를 복제한 디렉토리로 이동합니다.
예를 들어 홈 디렉토리에서 리포지토리를 복제한 경우 다음을 실행합니다.
cd ~/mongodb-kubernetesMongoDB deployment를 위한 CustomResourceDefinitions를 설치합니다.
다음 oc 명령을 실행합니다.
oc apply -f crds.yaml선택 사항: 설치하기 전에 Kubernetes 연산자 YAML 을 사용자 지정합니다.
선택적 Kubernetes 연산자 설치 설정에 대해 알아보려면 연산자 kubectl 및 oc 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화 하려면 정적 컨테이너(공개 미리 보기)를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능 사용하지 않는 것이 좋습니다. 자세히 학습 미리 보기 기능을 참조하세요.
설치하기 전에 Kubernetes 연산자 YAML 의 ServiceAccount 정의에 <openshift-pull-secret> 를 추가합니다.
apiVersion: v1kind: ServiceAccountmetadata: name: enterprise-operator
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-appdb
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-database-pods
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>자세한 내용은 Helm 설치 설정에서 registry.imagePullSecrets 설정을 참조하세요.
Kubernetes 용 MongoDB Helm Charts사용합니다.
참고
Helm 차트 리포지토리 지원 중단
MongoDB Helm Charts for Kubernetes 리포지토리 에서 Kubernetes Operator를 설치하는 것은 더 이상 사용되지 않으며 MCK 버전 2.0에서 제거될 예정입니다. 대신 quay.io/mongodb/helm-charts의 OCI 호환 레지스트리에서 Helm 차트 설치하세요.
Helm 3을(를) 사용하여 Kubernetes Operator를 설치할 수 있습니다.
Kubernetes 용 MongoDB Helm Charts 리포지토리 를 Helm에 추가합니다.
helm repo add mongodb https://mongodb.github.io/helm-chartshelm을(를) 사용하여 Kubernetes 연산자를 설치합니다.
Kubernetes 용 MongoDB Helm Charts 설치합니다:
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/mongodb-kubernetes/values-openshift.yamlvalues-openshift.yaml 설정을 사용합니다. 선택적 Kubernetes 연산자 설치 설정에 대해 학습하려면 연산자 Helm 설치 설정을 참조하세요.
참고
보안을 개선하고 간소화하는 정적 컨테이너의 공개 미리 보기를 활성화 하려면 정적 컨테이너(공개 미리 보기)를 참조하세요. 공개 미리 보기에 있는 동안 프로덕션 환경에서는 이 기능 사용하지 않는 것이 좋습니다. 자세히 학습 미리 보기 기능을 참조하세요.
Helm으로 특정 일일 빌드 설치
MongoDB는 매일 Kubernetes 연산자 이미지를 재구축하여 최신 보안 및 OS 업데이트를 통합합니다.
기본적으로 helm 는 지정한 Kubernetes 연산자 버전에 대한 최신 빌드를 설치합니다.
이전 빌드를 설치하려면 --set build=<build-id> 을 사용하여 빌드 ID를 매개 변수로 지정합니다. 빌드 ID는 항상 -b<YYYYMMDD>T000000Z 형식이며, 여기서 <YYYYMMDD> 는 사용하려는 빌드가 생성된 날짜입니다.
예시
이 예에서는 최신 이미지로 Kubernetes 연산자를 설치하는 방법을 보여줍니다.
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes이 예에서는 2021년 2월 5일 자정에 생성된 이미지로 Kubernetes 연산자를 설치하는 방법을 보여 줍니다.
helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set build=-b20210205T000000Z참고
MongoDB는 기본(최신) 빌드를 사용할 것을 권장합니다.
설치 확인
Kubernetes 연산자가 올바르게 설치되었는지 확인하려면 다음 명령을 실행하고 출력을 확인합니다.
kubectl describe deployments mongodb-kubernetes-operator -n <metadata.namespace>oc describe deployments mongodb-kubernetes-operator -n <metadata.namespace>기본적으로 배포는 mongodb 네임스페이스에 존재합니다. 다음 오류 메시지가 나타나면 올바른 네임스페이스를 사용하고 있는지 확인합니다.
Error from server (NotFound): deployments.apps "mongodb-kubernetes-operator" not foundKubernetes 연산자 문제를 해결하려면 Kubernetes 연산자 의 로그 검토 및 기타 문제 해결 주제를 참조하세요.
중요
Kubernetes Operator 또는 네임스페이스 를 제거해야 하는 경우 먼저 MongoDB 리소스를 제거해야 합니다.
다음 단계
Kubernetes Operator용 MongoDB 컨트롤러를 설치한 후 다음을 수행할 수 있습니다.