AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

MongoDB 플러그인 참조

kubectl mongodb 플러그인을 사용하여 다음을 수행합니다.

시작하기 전에 kubectl mongodb 플러그인을 설치하세요.

kubectl mongodb 플러그인에는 다음과 같은 하위 명령이 있습니다.

kubectl mongodb multicluster setup 하위 명령은 초기 다중 Kubernetes 클러스터 MongoDB 배포를 설정합니다. 다음 조치를 수행합니다.

  • 멀티-Kubernetes 클러스터 MongoDB deployment 의 모든 멤버 클러스터를 포함하는 mongodb-kubernetes-operator-member-list 이라는 기본값 ConfigMap을 생성합니다. 이 이름은 하드 코딩되어 있으며 변경할 수 없습니다. 알려진 문제를 참조하세요.

  • 연산자 클러스터 및 각 멤버 클러스터에 ServiceAccounts, Roles, ClusterRoles, RoleBindings 및 ClusterRoleBindings 를 생성합니다.

  • 서비스 계정에 대한 올바른 권한을 적용합니다.

  • 앞의 설정을 사용하여 다중 Kubernetes 클러스터 MongoDB deployment를 생성합니다.

kubectl mongodb 플러그인의 setup 하위 명령에는 다음과 같은 옵션이 있습니다.

옵션
데이터 유형
설명

central-cluster

문자열

필수입니다. Kubernetes 연산자가 배포될 중앙 cluster(예: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME".

central-cluster-namespace

문자열

필수입니다. Kubernetes 연산자가 배포될 네임스페이스(예: --central-cluster-namespace="mongodb" 입니다.

cleanup

부울

선택 사항. 네임스페이스를 제외하고 이전에 생성된 모든 리소스를 삭제할지 여부를 나타내는 플래그입니다. 기본값은 false 입니다.

cluster-scoped

부울

선택 사항. 노드 클러스터에 대해 ClusterRole 및 ClusterRoleBinding을 생성할지 여부를 나타내는 플래그입니다. 기본값은 false 입니다.

create-service-account-secrets

부울

선택 사항. Kubernetes API 서버 에서 서비스 계정에 대한 시크릿을 생성할지 여부를 나타내는 플래그입니다. 기본값은 false입니다.

install-database-roles

부울

선택 사항. 멤버 클러스터에 MongoDB 워크로드를 실행하는 데 필요한 서비스 계정 및 역할을 설치할지 여부를 나타내는 플래그입니다. 기본값은 false 입니다.

image-pull-secrets

부울

선택 사항. kubectl mongodb 플러그인이 생성하는 서비스 계정이 registration.imagePullSecrets에 지정된 시크릿 을 참조해야 하는지 여부를 나타내는 플래그입니다. 설정. 기본값은 false 입니다. 학습 내용은 Helm 설치 설정을 참조하세요.

member-clusters

문자열

필수입니다. 쉼표로 구분된 목록으로, -member-clusters="${MDB_CLUSTER_2_FULL_NAME}, ${MDB_CLUSTER_3_FULL_NAME}, ${MDB_CLUSTER_4_FULL_NAME}" 와 같이 멤버 cluster를 포함합니다.

member-cluster-ca

문자열

선택 사항. Kubernetes Operator가 멤버 클러스터의 Kubernetes API 서버 도달하는 데 사용하는 PEM 인코딩 CA 번들의 경로(--member-cluster-ca <member-cluster-name>=<path-to-pem-file> 형식). 자체 CA 번들이 필요한 각 멤버 클러스터 에 대해 옵션을 한 번씩 반복합니다. 멤버 클러스터 생략하면 kubectl mongodb 플러그인은 해당 클러스터의 서비스 계정 토큰 시크릿에 있는 CA를 사용합니다. 자세한 학습 은 멤버 클러스터용 사용자 지정 CA 번들을 참조하세요.

member-cluster-namespace

문자열

필수입니다. 멤버 cluster 리소스가 배포될 네임스페이스(예: -member-cluster-namespace="mongodb" 입니다.

service-account

문자열

선택 사항. 구성원 cluster와 통신하는 데 사용할 Kubernetes Operator의 서비스 계정 이름입니다. 기본값은 mongodb-kubernetes-operator-multi-cluster 입니다.

kubectl mongodb 플러그인 setup 하위 명령의 사용에 대한 전체 예는 다중 Kubernetes 클러스터 빠른 시작을 참조하세요.

kubectl mongodb multicluster 하위 명령은 경우에 따라 실패한 cluster 토폴로지를 자동으로 복구할 수 있습니다. 다른 경우 에는 실패를 수동으로 복구 해야 합니다. 자세한 내용은 재해 복구를 참조하세요.

kubectl mongodb 플러그인의 recover 하위 명령에는 다음과 같은 옵션이 있습니다.

옵션
데이터 유형
설명

central-cluster

문자열

필수입니다. Kubernetes 연산자가 배포될 중앙 cluster(예: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME".

central-cluster-namespace

문자열

필수입니다. Kubernetes 연산자가 배포될 네임스페이스(예: --central-cluster-namespace="mongodb" 입니다.

cleanup

부울

선택 사항. 네임스페이스를 제외하고 이전에 생성된 모든 리소스를 삭제할지 여부를 나타내는 플래그입니다. 기본값은 false 입니다.

cluster-scoped

부울

선택 사항. 노드 클러스터에 대해 ClusterRole 및 ClusterRoleBinding을 생성할지 여부를 나타내는 플래그입니다. 기본값은 false 입니다.

member-cluster-ca

문자열

선택 사항. Kubernetes Operator가 멤버 클러스터의 Kubernetes API 서버 도달하는 데 사용하는 PEM 인코딩 CA 번들의 경로(--member-cluster-ca <member-cluster-name>=<path-to-pem-file> 형식). 자체 CA 번들이 필요한 각 멤버 클러스터 에 대해 옵션을 한 번씩 반복합니다. 멤버 클러스터 생략하면 kubectl mongodb 플러그인은 해당 클러스터의 서비스 계정 토큰 시크릿에 있는 CA를 사용합니다. 자세한 학습 은 멤버 클러스터용 사용자 지정 CA 번들을 참조하세요.

kubectl mongodb 플러그인 recover 하위 명령의 사용에 대한 전체 예는 수동 재해 복구 절차를 참조하세요.

기본값 으로 kubectl mongodb 플러그인은 해당 클러스터의 서비스 계정 토큰 시크릿에서 각 구성원 클러스터 의 CA를 읽고 생성된 mongodb-enterprise-operator-multi-cluster-kubeconfig 시크릿에 씁니다. Kubernetes Operator에서 구성원 클러스터의 Kubernetes API 서버 로의 네트워크 경로가 자체 인증서를 제공하는 프록시 또는 로드 밸런서 와 같은 다른 곳에서 TLS를 종료하는 경우와 예시 사용자 지정 CA 번들을 제공해야 할 수도 있습니다. member-cluster-ca 옵션을 사용하여 사용자 지정 CA 번들을 제공합니다.

다음 명령은 멤버 클러스터 3개 중 2개에 대한 CA 번들을 제공합니다.

kubectl mongodb multicluster setup \
--central-cluster="operator-cluster" \
--member-clusters="cluster-1,cluster-2,cluster-3" \
--member-cluster-namespace=mongodb \
--central-cluster-namespace=mongodb \
--member-cluster-ca cluster-1=/path/to/cluster-1-ca.pem \
--member-cluster-ca cluster-2=/path/to/cluster-2-ca.pem

앞의 예시 에서 cluster-3은(는) CA를 해당 서비스 계정 토큰의 비밀로 유지합니다.

kubectl mongodb 플러그인은 파일 내용을 수정하지 않고 KubeConfig 시크릿에 복사하므로 인증서만 전달합니다. 각 파일 다음 요구 사항을 충족해야 합니다.

  • 하나 이상의 PEM 인코딩 인증서를 포함합니다.

  • 개인 키가 포함되어 있지 않습니다. TLS 종료자가 내보내는 번들은 인증서 옆에 서버 키를 배치할 수 있습니다. 플러그인은 found a private key (<block type> block), pass certificates only 오류와 함께 이러한 번들을 거부합니다.

플러그인은 잘못된 <member-cluster-name>=<path-to-pem-file> 쌍을 전달하거나, member-clusters에 나열되지 않은 멤버 클러스터 의 이름을 지정하거나, 동일한 멤버 클러스터 이름을 두 번 이상 지정하는 경우에도 오류를 반환합니다.

setup 및 recover 하위 명령은 모두 전체 KubeConfig 시크릿을 다시 생성합니다. 나중에 실행 때 member-cluster-ca 에서 멤버 클러스터 생략하면 해당 클러스터 서비스 계정 토큰 시크릿에서 CA로 되돌아갑니다. 사용자 지정 CA를 보존하려면 두 하위 명령을 실행 때마다 필요한 모든 클러스터 구성원 클러스터 에 대해 member-cluster-ca 옵션을 다시 전달해야 합니다.

하위 명령이 멤버 클러스터의 서비스 계정 토큰 암호와 일치하지 않는 CA를 대체하면 플러그인은 다음과 유사한 경고를 출력합니다.

Warning: replacing the CA for member cluster cluster-1, which does not match its ServiceAccount token secret. Pass --member-cluster-ca cluster-1=<path-to-pem-file> to keep a custom CA.

경고는 권고 사항입니다. 하위 명령은 여전히 완료되고 새 KubeConfig 시크릿을 씁니다.