MongoDB Enterprise Kubernetes Operator 릴리스 노트
이 페이지의 내용
MongoDB Enterprise Kubernetes Operator 1.26 시리즈
MongoDB Enterprise Kubernetes Operator 1.26.0
릴리스 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.requests
및operator.resources.limits
를 조정합니다. 학습 내용은 Kubernetes 문서에서 파드 및 컨테이너에 대한 리소스 관리를 참조하세요.OpenShift 4.15 에 대한 지원 을 추가합니다. 학습 내용은 MongoDB Enterprise Kubernetes Operator 호환성을 참조하세요.
Helm 차트 설치 변경 사항
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
로 설정하다 수 없는 버그가 수정되었습니다.
MongoDB Enterprise Kubernetes Operator 1.25 시리즈
MongoDB Enterprise Kubernetes Operator 1.25.0
릴리스 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가 각 특정 파드에 관련 있고 고유한 값으로 각 서비스의 어노테이션을 사용자 지정할 수 있도록 할 수 있습니다. 학습 내용은 다음을 참조하세요.
MongoDB
리소스:spec.externalAccess.externalService.annotations
MongoDBMultiCluster
리소스 spec.externalAccess.externalService.annotations
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
로 설정됩니다.
Helm 차트 설치 변경 사항
기본값
agent.version
을107.0.0.8502-1
로 변경합니다. 이렇게 하면 Helm 차트를 사용하여 설치하는 Kubernetes Operator 배포에 사용되는 기본 Agent가 변경됩니다.Kubernetes 연산자 바이너리에 추가 인수를 전달할 수 있도록 기본값이
[]
인operator.additionalArguments
변수를 추가합니다.기본값이
true
인operator.createResourcesServiceAccountsAndRoles
변수를 추가하여MongoDB
및OpsManager
리소스에 대한 역할 및 서비스 계정을 설치할지 여부를 제어합니다.kubectl mongodb
플러그인을 사용하여 다중 Kubernetes 클러스터 배포를 위해 Kubernetes Operator를 구성하면 플러그인이 필요한 모든 역할 및 서비스 계정을 설치합니다. 따라서 충돌을 방지하려면 경우에 따라 Kubernetes Operator Helm 차트를 사용하여 해당 역할을 설치하지 않는 것이 좋습니다.
버그 수정
MongoDBMultiCluster 리소스: Kubernetes Operator가 사용되지 않았음에도 불구하고
spec.externalAccess.externalDomain
및spec.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 공개 키를 사용하여 서명을 확인할 수 있습니다. 공개된 이미지는 이 주소에서 확인할 수 있습니다.
MongoDB Enterprise Kubernetes Operator 1.24 시리즈
MongoDB Enterprise Kubernetes Operator 1.24.0
릴리스 2023-12-21
MongoDBOpsManager Resource
새로운 기능
곧 출시될 MongoDB Ops Manager 7.0.x에 대한 지원을 추가합니다. 시리즈.
버그 수정
백업이 올바르게 종료되지 않던 문제를 수정합니다.
MongoDB Enterprise Kubernetes Operator 1.23 시리즈
MongoDB Enterprise Kubernetes Operator 1.23.0
출시일: 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
리소스를 저장할 수 없는 문제를 수정합니다.
MongoDB Enterprise Kubernetes Operator 1.22 시리즈
MongoDB Enterprise Kubernetes 연산자 1.22.0
출시일: 2023-09-21
호환성이 손상되는 변경
Kubernetes 연산자는 더 이상 모든 사용자 지정 리소스에 대해 Reconciling
상태를 사용하지 않습니다. 대부분의 경우 이 상태는 Pending
및 해당 메시지로 대체되었습니다. Kubernetes 연산자와 같이 배포된 사용자 정의 MongoDB 리소스와 함께 모니터링 도구를 사용하는 경우, Pending
상태 이름을 사용하도록 대시보드 및 알림 규칙을 조정해야 할 수 있습니다.
MongoDBOpsManager Resource
개선 사항
MongoDBOpsManager
리소스에 다음과 같은 새 필드를 추가하여 애플리케이션 데이터베이스용 MongoDB Agent에서 logRotate 구성에 대한 지원을 추가합니다.이제
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에 연결된 프로세스를 한 번에 하나씩 제거하여 복제본 세트를 설정하다.
MongoDB
Resource
개선 사항
사용자 정의 리소스가 장기간
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
입니다.
MongoDB Enterprise Kubernetes Operator 1.21 시리즈
MongoDB Enterprise Kubernetes Operator 1.21.0
출시일: 2023-08-25
호환성이 손상되는 변경
환경 변수
CURRENT_NAMESPACE
의 이름을NAMESPACE
로 바꿉니다. 이 변수는 Kubernetes Operator의 네임스페이스를 추적합니다.MongoDB
리소스를 편집하여 이 변수를 설정한 경우, Kubernetes Operator를 업그레이드하는 동안CURRENT_NAMESPACE
를NAMESPACE
로 업데이트합니다.
버그 수정
StatefulSet
재정의 레이블을StatefulSet
으로 재정의하지 못하는 문제를 수정합니다.
개선 사항
MongoDBMultiCluster
리소스에 대한 애플리케이션 데이터베이스 및 MongoDB의 백업 구성을 지원합니다.GitOps 환경에서
MongoDBMultiCluster
리소스 배포를 구성하기 위한 문서를 추가합니다. 자세한 내용은 GitOps에 대한 리소스 구성을 참조하세요.레이블 및 주석 래퍼(wrapper)인
MetadataWrapper
를MongoDB
리소스,MongoDBMultiCluster
리소스 및MongoDBOpsManager
리소스에 추가합니다. 래퍼(wrapper)는metadata.Labels
및metadata.Annotations
재정의를 지원합니다.
MongoDBOpsManager Resource
호환성이 손상되는 변경 및 사용 중단
appdb-ca
는 Ops Manager의 JVM 신뢰 저장소에 자동으로 추가되지 않습니다.appdb-ca
는spec.applicationDatabase.security.tls.ca
에 지정된 ConfigMap에 저장된 CA입니다. 이는 다음과 같은 경우에 영향을 미칩니다.appdb-ca
및 S3 스냅샷 저장소에 동일한 사용자 지정 인증서를 사용합니다.1.17.0 이전 버전의 Kubernetes Operator를 사용 중이거나 자체 신뢰 저장소를 Ops Manager에 마운트했습니다.
appdb-ca
및 S3 스냅샷 저장소에 동일한 사용자 지정 인증서를 사용해야 하는 경우,spec.backup.s3Stores.customCertificateSecretRefs
로 CA를 지정합니다spec.backup.s3Stores.customCertificate
및spec.backup.s3OpLogStores.customCertificate
설정이 더 이상 사용되지 않습니다. 대신spec.backup.s3OpLogStores.customCertificateSecretRefs
및spec.backup.s3Stores.customCertificateSecretRefs
를 사용합니다.
버그 수정
Ops Manager를 외부에 노출하기 위해
LoadBalancer
서비스 유형을 사용할 때spec.externalConnectivity.port
에 대한 임의의 포트 번호를 설정하지 못하는 문제를 수정합니다.Kubernetes Operator가 CA 번들인
appdb-ca
를 Ops Manager JVM 신뢰 저장소로 가져올 수 있도록 하여 Ops Manager에서 인증서를 거부하던 문제를 수정합니다.
개선 사항
MongoDBOpsManager
리소스에 다음과 같은 새 필드를 추가하여 여러 Kubernetes 클러스터에서 고가용성 애플리케이션 데이터베이스로MongoDBOpsManager
리소스를 구성할 수 있도록 지원합니다.새로운 선택적
spec.applicationDatabase.topology
필드의 기본값은singleCluster
이며, 값을 생략한 경우 이 값이 사용됩니다. Kubernetes Operator 1.21로 업그레이드하기 위해MongoDBOpsManager
리소스를 업데이트할 필요는 없습니다. 이렇게 하면 애플리케이션 데이터베이스의 단일 Kubernetes 클러스터 배포와 이전 버전과 호환되는spec.applicationDatabase.topology
설정이 추가됩니다. 자세히 알아보려면 Ops Manager 리소스 배포 및 Ops Manager 리소스 사양을 참조하세요.MongoDBOpsManager
리소스의spec.backup.s3Stores.customCertificateSecretRefs
및spec.backup.s3OpLogStores.customCertificateSecretRefs
필드를 사용하여 S3 스냅샷 저장소의 백업에 대한 사용자 지정 인증서 목록을 추가할 수 있습니다.