Docs Menu
Docs Home
/
MongoDB Enterprise Kubernetes 연산자

MongoDB Enterprise Kubernetes Operator 릴리스 노트

이 페이지의 내용

  • MongoDB Enterprise Kubernetes Operator 1.27 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.26 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.25 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.24 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.23 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.22 시리즈
  • MongoDB Enterprise Kubernetes Operator 1.21 시리즈
  • 이전 릴리스 노트

릴리스 2024-08-27

  • 에이전트 실행기: 일부 재동기화 시나리오에서 /journal 의 저널 데이터가 손상될 수 있는 문제를 수정합니다. 이제 에이전트는 충돌하는 저널 데이터가 없는지 확인하고 /data/journal 의 데이터 우선 순위를 지정합니다. 이 동작을 비활성화하려면 Kubernetes Operator에서 환경 변수 MDB_CLEAN_JOURNAL 를 1 이외의 값으로 설정하다 합니다.

  • MongoDB, AppDB, MongoDBMulti 리소스: 외부 도메인을 구성하는 경우 connectionString 에서 외부 도메인이 사용되도록 하는 문제를 수정합니다.

  • MongoDB 리소스: 멤버 수보다 짧은 Horizon 구성을 제공하는 경우 패닉 응답을 제거합니다. 이제 Kubernetes Operator는 이러한 경우 MongoDB 리소스 상태에 대한 설명 오류를 발행합니다.

  • MongoDB 리소스 : 새 프로젝트 에서 다른 프로젝트 의 접두사로 명명된 리소스 를 만들 때 실패하여 MongoDB 리소스 가 생성되지 않는 문제를 수정합니다.

릴리스 2024-06-21

  • Kubernetes Operator의 CPU 사용률 및 수직 확장 을 개선하고, Kubernetes Operator가 병렬로 수행할 수 있는 조정 수를 제어할 수 있도록 하여 모든 managed 리소스의 조정을 더 빠르게 수행합니다.

    Kubernetes Operator 배포서버 의 경우 MDB_MAX_CONCURRENT_RECONCILES 을 설정하다 하거나 Kubernetes Operator 설치 Helm 차트 에서 operator.maxConcurrentReconciles 을 설정할 수 있습니다. 제공하지 않는 경우 기본값 은 1 입니다. 조정 횟수를 제어하는 기능 으로 인해 동일한 기간에 MongoDB Ops Manager 와 Kubernetes API 서버 의 부하가 증가할 수 창. Kubernetes Operator 리소스 사용량을 관찰하고 필요한 경우 operator.resources.requestsoperator.resources.limits 를 조정합니다. 학습 내용은 Kubernetes 문서에서 파드 및 컨테이너에 대한 리소스 관리를 참조하세요.

  • OpenShift 4.15 에 대한 지원 을 추가합니다. 학습 내용은 MongoDB Enterprise Kubernetes Operator 호환성을 참조하세요.

  • Kubernetes Operator가 병렬로 수행할 수 있는 조정 수를 제어할 수 있는 operator.maxConcurrentReconciles 매개변수를 추가합니다. 기본값 은 1 입니다.

  • 연산자.webhook.installClusterRole 을 추가합니다. Kubernetes Operator가 허용 웹훅을 구성할 수 있도록 클러스터 역할 을 설치할지 여부를 제어하는 매개변수입니다. 클러스터 역할이 허용되지 않는 경우 이 매개변수를 false 로 설정합니다. 기본값 은 true 입니다.

  • MongoDB 리소스: spec.agent.startupOptions 에 여러 항목이 있는 MongoDB 리소스 를 구성하면 기본 StatefulSet 의 불필요한 추가 조정이 발생하는 버그를 수정합니다.

  • MongoDB, MongoDBMultiCluster 리소스: Kubernetes Operator가 MongoDB Agent 인증 을 위해 구성된 X-509 인증서의 변경 사항을 감시하지 않는 버그를 수정합니다.

  • MongoDB 리소스 : 기본값 이 true 인 경우 MongoDB Agent 에 전달된 부울 플래그를 false 로 설정하다 수 없는 버그가 수정되었습니다.

릴리스 2024-04-30

  • MongoDBOpsManager 리소스. Kubernetes Operator는 더 이상 MongoDB Ops Manager 5.0을(를) 지원하지 않습니다. 이후 버전의 MongoDB Ops Manager 로 업그레이드합니다. 은 계속해서 Operator와 함께 작동할 수 있지만,MongoDB Ops Manager 5.0 Kubernetes MongoDB Kubernetes MongoDB Ops Manager 5.0는 에 대해 Operator를 테스트하지 않습니다.

  • MongoDBOpsManager 리소스: 여러 Kubernetes 클러스터에 MongoDB Ops Manager 애플리케이션을 배포하기 위한 지원을 추가합니다. 자세한 내용 은 여러 Kubernetes 클러스터에 MongoDB Ops Manager 리소스 배포를 참조하세요.

  • (공개 미리 보기) MongoDB, OpsManager 리소스: 모든 유형의 배포에 대해 옵트인 정적 컨테이너(공개 미리 보기) 를 도입합니다.

    • 이 릴리스에서는 테스트 목적으로만 정적 컨테이너를 사용합니다. 정적 컨테이너는 이후 릴리스에서 기본값이 될 수 있습니다.

    • 정적 컨테이너 모드 를 활성화하려면 Kubernetes 연산자 수준에서 MDB_DEFAULT_ARCHITECTURE 환경 변수를 static(으)로 설정하다 합니다. 또는 특정 MongoDB 또는 OpsManager 사용자 지정 리소스 에 mongodb.com/v1.architecture: "static" 주석을 추가합니다.

    • Kubernetes Operator는 정적 아키텍처와 비정적 아키텍처 간의 원활한 마이그레이션을 지원합니다. 자세한 내용은 다음을 참조하세요.

  • OpsManager 리소스: OpsManager 리소스 호스팅 파드에 대한 내부 연결을 보장하기 위해 Kubernetes Operator에서 사용하는 서비스에 대한 재정의를 허용하는 spec.internalConnectivity 필드를 추가합니다.

  • MongoDB 리소스: 샤드 클러스터에서 손상된 자동화 구성으로 인해 리소스를 복구할 수 있습니다. 이전 릴리스에서는 다른 유형의 리소스를 복구할 수 있었지만 샤드 클러스터는 복구할 수 없었습니다. 자세한 내용은 손상된 자동화 구성으로 인한 리소스 복구를 참조하세요.

  • MongoDB, MongoDBMultiCluster 리소스: 이제 이러한 리소스를 통해 외부 서비스에 자리 표시자를 추가할 수 있습니다.

    • 주석 을 정의할 수 있습니다. 적절한 값으로 자동으로 대체되는 자리 표시자가 포함된 Kubernetes Operator가 managed 하는 외부 서비스의 경우. 이전에는 Kubernetes Operator가 각 Pod에 대해 생성된 모든 외부 서비스에 대해 동일한 어노테이션을 구성했습니다. 이번 출시하다 부터는 자리 표시자를 추가하여 Kubernetes Operator가 각 특정 파드에 관련 있고 고유한 값으로 각 서비스의 어노테이션을 사용자 지정할 수 있도록 할 수 있습니다. 학습 내용은 다음을 참조하세요.

  • kubectl mongodb 플러그인: 플러그인을 사용할 때 빌드 정보를 인쇄할 수 있습니다.

  • kubectl mongodb 플러그인의 setup 명령은 다음을 추가합니다 . 설정. 지정된 경우, 생성된 서비스 계정은 imagePullSecrets 필드 에 지정된 시크릿을 참조합니다.

  • Kubernetes Operator가 둘 이상의 네임스페이스를 감시할 때 및 Kubernetes Operator가 리소스를 감시하는 네임스페이스와 다른 네임스페이스에 Kubernetes Operator를 설치하는 경우 구성 처리를 개선합니다.

  • 각 감시 대상 네임스페이스에 대해 올바르게 구성된 역할 및 역할 바인딩(클러스터 역할 필요 없음)을 사용하여 Kubernetes 클러스터당 단일 서비스 계정을 사용하여 멤버 Kubernetes 클러스터에서 역할 및 권한 설정을 최적화합니다.

  • 24 시간마다 트리거되는 시간 기반 조정으로 기존 이벤트 기반 조정 프로세스를 확장합니다. 이렇게 하면 모든 모니터링 에이전트가 항상 적시에 업그레이드됩니다.

  • OpenShift 및 OLM 연산자: 클러스터 전체 권한에 대한 요구 사항을 제거합니다. 이전에는 Kubernetes Operator가 허용 웹훅을 구성하기 위해 이러한 권한이 필요했습니다. 이번 릴리스부터는 OLM에서 웹훅을 자동으로 구성합니다.

  • Kubernetes Operator에 대한 선택적 MDB_WEBHOOK_REGISTER_CONFIGURATION 환경 변수를 추가합니다. 이 변수는 Kubernetes Operator가 자동 승인 웹훅 구성을 수행할지 여부를 제어합니다. 기본값은 true 입니다. OLM 및 OpenShift 배포의 경우 변수는 false 로 설정됩니다.

  • 기본값 agent.version107.0.0.8502-1 로 변경합니다. 이렇게 하면 Helm 차트를 사용하여 설치하는 Kubernetes Operator 배포에 사용되는 기본 Agent가 변경됩니다.

  • Kubernetes 연산자 바이너리에 추가 인수를 전달할 수 있도록 기본값이 []operator.additionalArguments 변수를 추가합니다.

  • 기본값이 trueoperator.createResourcesServiceAccountsAndRoles 변수를 추가하여 MongoDBOpsManager 리소스에 대한 역할 및 서비스 계정을 설치할지 여부를 제어합니다. kubectl mongodb 플러그인을 사용하여 다중 Kubernetes 클러스터 배포를 위해 Kubernetes Operator를 구성하면 플러그인이 필요한 모든 역할 및 서비스 계정을 설치합니다. 따라서 충돌을 방지하려면 경우에 따라 Kubernetes Operator Helm 차트를 사용하여 해당 역할을 설치하지 않는 것이 좋습니다.

  • MongoDBMultiCluster 리소스: Kubernetes Operator가 사용되지 않았음에도 불구하고 spec.externalAccess.externalDomainspec.clusterSpecList[*].externalAccess.externalDomains 필드가 필수라고 보고하는 문제를 수정합니다. 사용자 지정 리소스에 정의된 spec.externalAccess 구조가 포함된 경우 Kubernetes Operator가 이러한 필드에 대한 유효성 검사를 조기에 트리거했습니다. 이번 릴리스부터 Kubernetes Operator는 spec.externalAccess.externalDomain 또는 spec.clusterSpecList[*].externalAccess.externalDomains 설정에서 외부 도메인을 정의하는 경우에만 외부 도메인의 고유성을 확인합니다.

  • MongoDB 리소스: MongoDB 리소스를 삭제할 때 관련 MongoDB Ops Manager 또는 Cloud Manager 인스턴스에 controlledFeature 정책이 설정된 상태로 유지되어 Kubernetes Operator를 분실한 경우 UI에서 정리할 수 없는 버그를 수정합니다.

  • OpsManager 리소스: OpsManager 사용자 지정 리소스를 제거할 때 admin-key 시크릿이 삭제되는 문제를 수정합니다. admin-key 시크릿 삭제를 수정하면 MongoDB Ops Manager를 더 쉽게 다시 설치할 수 있습니다.

  • MongoDB Readiness Probe: 준비 상태 프로브 "... kubelet Readiness probe failed:..." 에 대한 오해의 소지가 있는 오류 메시지를 수정합니다. 이는 모든 MongoDB deployment에 영향을 줍니다.

  • 연산자: 일부 인스턴스에서 OpsManager 사용자 지정 리소스와 통신하는 동안 TLS를 활성화했음에도 불구하고 Kubernetes 연산자가 TLS 확인을 건너뛰는 경우를 수정합니다.

  • Kubectl plugin: 이제 릴리스된 kubectl mongodb 플러그인 바이너리에 서명되고 서명이 릴리스 자산 과 함께 게시됩니다. . 공개 키는 이 주소 에서 사용할 수 있습니다. 릴리스된 kubectl mongodb 플러그인 바이너리는 MacOS용으로도 공증됩니다.

  • 서명된 릴리스 이미지: Kubernetes 연산자를 위해 게시된 모든 컨테이너 이미지는 암호화된 방식으로 서명됩니다. 이는 MongoDB Quay 에서 확인할 수 있습니다. 레지스트리. MongoDB 공개 키를 사용하여 서명을 확인할 수 있습니다. 공개된 이미지는 이 주소에서 확인할 수 있습니다.

릴리스 2023-12-21

  • 곧 출시될 MongoDB Ops Manager 7.0.x에 대한 지원을 추가합니다. 시리즈.

  • 백업이 올바르게 종료되지 않던 문제를 수정합니다.

출시일: 2023-11-13

  • 구성 요소 이미지 버전 번호를 Kubernetes 연산자 릴리스 태그와 정렬하여 어떤 이미지가 어떤 버전의 Kubernetes 연산자와 함께 사용되는지 명확하게 알 수 있습니다. 이는 다음 이미지에 영향을 줍니다:

    • quay.io/mongodb/mongodb-enterprise-database-ubi

    • quay.io/mongodb/mongodb-enterprise-init-database-ubi

    • quay.io/mongodb/mongodb-enterprise-init-appdb-ubi

    • quay.io/mongodb/mongodb-enterprise-init-ops-manager-ubi

    학습 MongoDB Enterprise Kubernetes Operator 내용은 kubectl 을 참조하세요.및 oc 설치 설정 및 MongoDB Enterprise Kubernetes Operator Helm 설치 설정.

  • spec.exposedExternally(Kubernetes Operator 1.19에서 사용 중단)를 spec.externalAccess로 교체합니다.

  • 멤버 클러스터의 연결이 끊어진 경우 다중 Kubernetes 클러스터 MongoDB 배포에서 복제본 세트를 확장할 때 발생하는 문제를 수정합니다. 이 수정 사항은 수동 및 자동 복구 절차를 모두 해결합니다.

  • 자동화 에이전트 및 MongoDB 감사 로그의 이름을 변경하면 해당 로그가 Kubernetes Pod 로그에 전송되지 않던 문제를 수정합니다. Kubernetes 연산자 1.22부터 MongoDB 감사 로그의 파일 이름에는 제한이 없습니다.

  • mongodb-enterprise-database 컨테이너의 다음과 같은 새로운 로그 유형이 Kubernetes 로그로 직접 스트리밍되도록 허용합니다.

    • agent-launcher-script

    • monitoring-agent

    • backup-agent

  • spec.mongodbResourceRef.namespace에 설정된 네임스페이스에서 MongoDBUser 리소스를 저장할 수 없는 문제를 수정합니다.

출시일: 2023-09-21

Kubernetes 연산자는 더 이상 모든 사용자 지정 리소스에 대해 Reconciling 상태를 사용하지 않습니다. 대부분의 경우 이 상태는 Pending 및 해당 메시지로 대체되었습니다. Kubernetes 연산자와 같이 배포된 사용자 정의 MongoDB 리소스와 함께 모니터링 도구를 사용하는 경우, Pending 상태 이름을 사용하도록 대시보드 및 알림 규칙을 조정해야 할 수 있습니다.

  • MongoDBOpsManager 리소스에 다음과 같은 새 필드를 추가하여 애플리케이션 데이터베이스용 MongoDB Agent에서 logRotate 구성에 대한 지원을 추가합니다.

    • spec.applicationDatabase.agent.logRotate

    • spec.applicationDatabase.agent.logRotate.numTotal

    • spec.applicationDatabase.agent.logRotate.numUncompressed

    • spec.applicationDatabase.agent.logRotate.percentOfDiskspace

    • spec.applicationDatabase.agent.logRotate.sizeThresholdMB

    • spec.applicationDatabase.agent.logRotate.timeThresholdHrs

  • 이제 MongoDBOpsManager 리소스의 다음 새 필드를 사용하여 기본 /var/log/mongodb-mms-automation 디렉토리가 아닌 사용자 지정 위치로 로그를 보내도록 systemLog 를 구성할 수 있습니다.

  • 다중 Kubernetes 클러스터 MongoDB 배포에서 애플리케이션 데이터베이스 클러스터 처리를 개선합니다.

    마지막 릴리스에서는 프로세스를 축소하려면 Kubernetes 연산자에 Kubernetes cluster에 대한 연결이 필요했습니다. 이로 인해 전체 클러스터 장애로 인해 조정 프로세스가 차단될 수 있습니다.

    이번 릴리스에서 Kubernetes 연산자는 프라이머리 cluster를 선출하기 위해 과반수의 투표가 있는 한, 나머지 정상 cluster를 성공적으로 관리합니다. Kubernetes 연산자는 자동화 구성 및 복제본 세트 구성에서 관련 프로세스를 제거하지 않습니다. Kubernetes 연산자는 spec.applicationDatabase.clusterSpecList 에서 해당 cluster를 삭제하거나 cluster 멤버 수를 0으로 변경한 경우에만 이러한 프로세스를 삭제합니다. Kubernetes 연산자가 이러한 프로세스를 삭제하면 해당 cluster에 연결된 프로세스를 한 번에 하나씩 제거하여 복제본 세트를 설정하다.

  • 사용자 정의 리소스가 장기간 Pending 또는 Failed 상태로 유지되는 경우 MongoDB 리소스에 대한 자동 복구 메커니즘을 추가합니다. 또한 다음과 같은 환경 변수를 소개합니다:

    자세한 내용은 손상된 자동화 구성으로 인한 리소스 복구를 참조하십시오.

  • MongoDB 리소스에 대한 감사 로그를 Kubernetes Pod 로그에 라우팅할 수 있습니다. MongoDB 리소스의 감사 로그를 /var/log/mongodb-mms-automation/mongodb-audit.log 파일에 기록하였는지 확인하세요. 리소스를 호스팅하는 포드는 이 파일을 모니터링하고 해당 콘텐츠를 Kubernetes 로그에 추가합니다.

    Kubernetes Pod 로그에 감사 로그를 보내려면 MongoDB 리소스에서 다음 예시 구성을 사용합니다.

    spec:
    additionalMongodConfig:
    auditLog:
    destination: file
    format: JSON
    path: /var/log/mongodb-mms-automation/mongodb-audit.log

    Kubernetes 연산자는 Pod 로그에서 mongodb-audit 키로 감사 로그 항목에 태그를 지정합니다.

    감사 로그 항목을 추출하려면 다음 예와 유사한 명령을 사용하십시오.

    kubectl logs -c mongodb-enterprise-database replica-set-0 | \
    jq -r 'select(.logType == "mongodb-audit") | .contents'

샤딩된 클러스터에 대해 spec.backup.autoTerminateOnDeletion 설정을 true로 설정할 수 없던 문제를 수정합니다. 이 설정은 MongoDB 리소스를 삭제할 때 Kubernetes Operator가 백업을 중지하고 종료할지 여부를 제어합니다. 생략하면 기본값은 false입니다.

출시일: 2023-08-25

  • 환경 변수 CURRENT_NAMESPACE의 이름을 NAMESPACE로 바꿉니다. 이 변수는 Kubernetes Operator의 네임스페이스를 추적합니다. MongoDB 리소스를 편집하여 이 변수를 설정한 경우, Kubernetes Operator를 업그레이드하는 동안 CURRENT_NAMESPACENAMESPACE로 업데이트합니다.

  • StatefulSet 재정의 레이블을 StatefulSet으로 재정의하지 못하는 문제를 수정합니다.

  • MongoDBMultiCluster 리소스에 대한 애플리케이션 데이터베이스 및 MongoDB의 백업 구성을 지원합니다.

  • GitOps 환경에서 MongoDBMultiCluster 리소스 배포를 구성하기 위한 문서를 추가합니다. 자세한 내용은 GitOps에 대한 리소스 구성을 참조하세요.

  • 레이블 및 주석 래퍼(wrapper)인 MetadataWrapperMongoDB 리소스, MongoDBMultiCluster 리소스 및 MongoDBOpsManager 리소스에 추가합니다. 래퍼(wrapper)는 metadata.Labelsmetadata.Annotations 재정의를 지원합니다.

  • appdb-ca는 Ops Manager의 JVM 신뢰 저장소에 자동으로 추가되지 않습니다. appdb-caspec.applicationDatabase.security.tls.ca에 지정된 ConfigMap에 저장된 CA입니다. 이는 다음과 같은 경우에 영향을 미칩니다.

    • appdb-caS3 스냅샷 저장소에 동일한 사용자 지정 인증서를 사용합니다.

    • 1.17.0 이전 버전의 Kubernetes Operator를 사용 중이거나 자체 신뢰 저장소를 Ops Manager에 마운트했습니다.

    appdb-caS3 스냅샷 저장소에 동일한 사용자 지정 인증서를 사용해야 하는 경우, spec.backup.s3Stores.customCertificateSecretRefs로 CA를 지정합니다

  • spec.backup.s3Stores.customCertificatespec.backup.s3OpLogStores.customCertificate 설정이 더 이상 사용되지 않습니다. 대신 spec.backup.s3OpLogStores.customCertificateSecretRefsspec.backup.s3Stores.customCertificateSecretRefs를 사용합니다.

  • Ops Manager를 외부에 노출하기 위해 LoadBalancer 서비스 유형을 사용할 때 spec.externalConnectivity.port에 대한 임의의 포트 번호를 설정하지 못하는 문제를 수정합니다.

  • Kubernetes Operator가 CA 번들인 appdb-ca를 Ops Manager JVM 신뢰 저장소로 가져올 수 있도록 하여 Ops Manager에서 인증서를 거부하던 문제를 수정합니다.

이전 버전의 연산자 에 대한 출시하다 노트를 보려면 여기를 클릭하세요.