O Operador MongoDB Controladores para Kubernetes cria um sistema do Ops Manager em contêiner a partir de arquivos de especificação que você escreve.
Depois de criar ou atualizar uma especificação de recursos do Ops Manager, você direciona os Controladores MongoDB para o Operador Kubernetes a aplicar esta especificação ao seu ambiente Kubernetes. O Kubernetes Operator cria os serviços e os recursos personalizados do Kubernetes que o Ops Manager exige e, em seguida, implementa o Ops Manager e seu banco de dados de aplicativos de apoio em containers em seu ambiente Kubernetes.
Cada recurso do Ops Manager usa uma especificação de objeto no YAML para definir as características e configurações da implantação.
Exemplos
Os exemplos a seguir mostram uma especificação de recurso para um sistema do Ops Manager:
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: om 5 spec: 6 topology: SingleCluster # optional, SingleCluster by default 7 opsManagerURL: https://link.to.configured.load-balancer.example.com # optional OM URL for the operator 8 replicas: 1 9 version: "8.0.0" 10 adminCredentials: ops-manager-admin-secret 11 configuration: 12 mms.fromEmailAddr: admin@example.com 13 mms.security.allowCORS: "false" 14 security: 15 tls: 16 ca: issuer-ca 17 backup: 18 enabled: true 19 encryption: 20 kmip: 21 server: 22 url: kmip.corp.mongodb.com:5696 23 ca: mongodb-kmip-certificate-authority-pem 24 headDB: 25 storage: "30Gi" 26 labelSelector: 27 matchLabels: 28 app: my-app 29 opLogStores: 30 - name: oplog1 31 # Sets labels for the oplog store. 32 assignmentLabels: ["test1", "test2"] 33 mongodbResourceRef: 34 name: my-oplog-db 35 mongodbUserRef: 36 name: my-oplog-user 37 s3Stores: 38 - name: s3store1 39 # Sets labels for the S3 store. 40 assignmentLabels: ["test1", "test2"] 41 42 mongodbResourceRef: 43 name: my-s3-metadata-db 44 mongodbUserRef: 45 name: my-s3-store-user 46 s3SecretRef: 47 name: my-s3-credentials 48 pathStyleAccessEnabled: true 49 s3BucketEndpoint: s3.region.amazonaws.com 50 s3BucketName: my-bucket 51 applicationDatabase: 52 passwordSecretKeyRef: 53 name: om-db-user-secret 54 key: password 55 members: 3 56 topology: SingleCluster 57 version: "7.0.21-ubi8" 58 featureCompatibilityVersion: "6.0" # During upgrade, set this FCV value to your currently deployed AppDB version. 59 security: 60 certsSecretPrefix: appdb 61 tls: 62 ca: issuer-ca
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: om 5 spec: 6 topology: MultiCluster # optional, SingleCluster by default 7 opsManagerURL: https://link.to.configured.lb.example.com # optional OM URL for the operator 8 clusterSpecList: # optional ClusterSpecOMItem list, the type is different than ClusterSpecItem for AppDB and MongoDB 9 - clusterName: cluster-1 # required 10 replicas: 1 # required, OM application replicas 11 # optional parameters to override those defined at MongoDBOpsManager level 12 clusterDomain: cluster-1.example.com # optional, default cluster.local 13 jvmParameters: ["-Xmx4352m","-Xms4352m"] 14 externalConnectivity: # optional to override 15 type: LoadBalancer 16 port: 9090 17 annotations: 18 key: value 19 statefulSet: # StatefulSetSpecWrapper override 20 spec: {} 21 metadata: {} 22 configuration: 23 automation.versions.source: mongodb 24 mms.adminEmailAddr: cloud-manager-support@mongodb.com 25 backup: # MongoDBOpsManagerBackup, optional, we only support a subset of fields 26 members: 1 # backup daemon replicas, optional, default=1 27 assignmentLabels: [] # assignment labels to override 28 jvmParameters: ["-Xmx4352m","-Xms4352m"] # optional 29 statefulSet: # mdbc.StatefulSetConfiguration, optional to override for backup daemon 30 spec: {} 31 metadata: {} 32 - clusterName: cluster-2 33 replicas: 1 34 35 .... 36 37 replicas: 1 38 version: "8.0.0" 39 adminCredentials: ops-manager-admin-secret 40 configuration: 41 mms.fromEmailAddr: admin@example.com 42 mms.security.allowCORS: "false" 43 backup: 44 enabled: true 45 encryption: 46 kmip: 47 server: 48 url: kmip.corp.mongodb.com:5696 49 ca: mongodb-kmip-certificate-authority-pem 50 headDB: 51 storage: "30Gi" 52 labelSelector: 53 matchLabels: 54 app: my-app 55 opLogStores: 56 - name: oplog1 57 # Sets labels for the oplog store. 58 assignmentLabels: ["test1", "test2"] 59 mongodbResourceRef: 60 name: my-oplog-db 61 mongodbUserRef: 62 name: my-oplog-user 63 s3Stores: 64 - name: s3store1 65 # Sets labels for the S3 store. 66 assignmentLabels: ["test1", "test2"] 67 68 mongodbResourceRef: 69 name: my-s3-metadata-db 70 mongodbUserRef: 71 name: my-s3-store-user 72 s3SecretRef: 73 name: my-s3-credentials 74 pathStyleAccessEnabled: true 75 s3BucketEndpoint: s3.region.amazonaws.com 76 s3BucketName: my-bucket 77 security: 78 tls: 79 ca: issuer-ca 80 applicationDatabase: 81 passwordSecretKeyRef: 82 name: om-db-user-secret 83 key: password 84 version: "8.0.0-ubi8" 85 topology: MultiCluster 86 clusterSpecList: 87 - clusterName: cluster1.example.com 88 members: 4 89 - clusterName: cluster2.example.com 90 members: 3 91 - clusterName: cluster3.example.com 92 members: 2 93 security: 94 certsSecretPrefix: appdb 95 tls: 96 ca: issuer-ca
Configurações necessárias MongoDB Ops Manager
Esta seção descreve as configurações que você deve usar para todos os recursos do Ops Manager.
kindTipo: string
Obrigatório. Tipo de recurso MongoDB Kubernetes para criar. Defina isso como
MongoDBOpsManager.
metadata.nameTipo: string
Obrigatório. Nome do recurso Kubernetes MongoDB que você está criando.
Os nomes de recursos devem ter 44 caracteres ou menos.
spec.versionTipo: string
Obrigatório. Versão do Ops Manager que você deseja instalar nesse recurso do MongoDB Kubernetes.
spec.adminCredentialsTipo: string
Obrigatório. Nome do segredo do Kubernetes que você criou para o usuário administrador do Ops Manager. Quando você implementa o recurso Ops Manager, o Kubernetes Operator cria um usuário com estas credenciais.
Observação
Para evitar o armazenamento de segredos em sistemas do Kubernetes de cluster único, você pode migrar todos os segredos para uma ferramenta de armazenamento de segredos. As implantações em vários clusters do Kubernetes não suportam o armazenamento de segredos no armazenamento de segredos FERRAMENTAS, como o HashiCorp Vault.
O usuário administrador recebe a função Proprietário global .
spec.replicasTipo: inteiro
Conditional. Number of Ops Manager instances to run in parallel. If you specify
SingleClusterinspec.topology, this parameter is required. The mimimum accepted value is1.If you specify
MultiClusterinspec.topology, this parameter is ignored.
Configurações opcionais MongoDB Ops Manager
Os recursos MongoDB Ops Manager também podem usar as seguintes configurações:
spec.backup.fileSystemStoresTipo: string
Nome que identifica o armazenamento de snapshots do sistema de arquivos. Para aprender mais, consulte Configurar o armazenamento de backup do sistema de arquivos com o operador Kubernetes.
spec.backup.logging.LogBackAccessRefTipo: string
Referência a um ConfigMap que contém um arquivo
logback-access.xmlpersonalizado para configurar registros de backup MongoDB Ops Manager .A chave no ConfigMap deve corresponder exatamente ao nome do
logback-access.xmlpara garantir que substitua o arquivo padrão nos pods do MongoDB Ops Manager .Para saber mais, consulte Configurar registros do MongoDB Ops Manager com o CRD.
spec.backup.logging.LogBackRefTipo: string
Referência a um ConfigMap que contém um arquivo
logback.xmlpersonalizado. Este arquivo configura o comportamento geral de registro para backups MongoDB Ops Manager , incluindo políticas de rotação de registro, níveis de registro e outros parâmetros de registro.A chave no ConfigMap deve corresponder exatamente ao nome do
logback-access.xmlpara garantir que substitua o arquivo padrão nos pods do MongoDB Ops Manager . Para saber mais, consulte Configurar registros do MongoDB Ops Manager com o CRD.
spec.logging.LogBackAccessRefTipo: string
Referência a um ConfigMap que contém um arquivo
logback-access.xmlpersonalizado para configurar registros MongoDB Ops Manager .A chave no ConfigMap deve ser exatamente
logback-access.xmlpara garantir que substitua o arquivo padrão nos Pods do MongoDB Ops Manager .Para saber mais, consulte Configurar registros do MongoDB Ops Manager com o CRD.
spec.logging.LogBackRefTipo: string
Referência a um ConfigMap que contém um arquivo
logback.xmlpersonalizado. Este arquivo configura o comportamento geral de registro do MongoDB Ops Manager, incluindo políticas de rotação de registro, níveis de registro e outros parâmetros de registro.A chave no ConfigMap deve ser exatamente
logback.xmlpara garantir que substitua o arquivo padrão nos Pods do MongoDB Ops Manager .Para saber mais, consulte Configurar registros do MongoDB Ops Manager com o CRD.
Observação
If the size of files the Ops Manager dashboard generates is larger than the storage space available in the
emptyDirvolume, consider overriding theemptyDirvolume with a Persistent Volume to prevent pod crashes. To learn more, seespec.statefulSet.spec.template.spec.volumes.
spec.opsManagerURLTipo: string
Opcional. A URL do recurso MongoDB Ops Manager no Operador Kubernetes , por exemplo:
https://link.to.configured.lb.example.com.Se você omitir este parâmetro, para conectar às instâncias do MongoDB Ops Manager , o Operador Kubernetes utilizará o seguinte URL como padrão para a instância do MongoDB Ops Manager :
<om-name>-svc.{namespace}.svc.cluster.local. Este é o FQDN do serviço headless para MongoDB Ops Manager.Se você especificar este parâmetro, isso permitirá que você altere esta URL para outra.
Observação
Don't confuse the
spec.opsManagerURLwith the URL that you specify in a ConfigMap for a particular deployment to configure MongoDB deployments and Monitoring Agents for the Application Database. The Kubernetes Operator requires to have thespec.opsManagerURLto directly connect to Ops Manager instances and to configure Ops Manager and Application Database deployments. The Kubernetes Operator doesn't use thespec.opsManagerURLto manage particular MongoDB databases.Change the
spec.opsManagerURLparameter to a custom URL in the following cases:Quando você implementa o MongoDB Ops Manager em vários clusters Kubernetes e a URL padrão não está acessível a partir do MongoDB Ops Manager-hosting Pod. Por exemplo, quando você implanta o MongoDB Ops Manager em outros clusters Kubernetes além daqueles nos quais você implanta o Kubernetes Operator, o FQDN do serviço do MongoDB Ops Manager pode não estar acessível. Nesse caso, você pode especificar uma URL personalizada.
Ao configurar o acesso externo à instância do MongoDB Ops Manager em um domínio externo, você pode especificar uma URL personalizada. Isso também exige que o Operador do Kubernetes e os Agentes de Monitoramento do Banco de Dados do Aplicativo usem esse URL personalizado em vez do padrão.
spec.clusterDomainTipo: string
Kubernetes assigns each Pod a FQDN. The Kubernetes Operator calculates the FQDN for each Pod using a provided
clusterDomain. Kubernetes doesn't provide an API to query these hostnames.
spec.clusterNameTipo: string
Kubernetes assigns each Pod a FQDN. The Kubernetes Operator calculates the FQDN for each Pod using a provided
clusterName. Kubernetes doesn't provide an API to query these hostnames.
spec.configurationTipo: collection
Ops Manager configuration properties. See Ops Manager Configuration Settings for property names and descriptions. Each property takes a value of type
string.Importante
Se o Ops Manager managed os recursos do MongoDB distribuídos fora do cluster Kubernetes para o qual está distribuído, você deverá adicionar a configuração
mms.centralUrlaspec.configuration.Defina o valor como URL pela qual o Ops Manager é exposto fora do cluster Kubernetes.
Para saber mais, consulte Gerenciando sistemas externos do MongoDB .
spec.configuration.mms.featureFlag.automation.verifyDownloadsTipo: string
Quando definido como
enabled, o MongoDB Agent requer arquivos de assinatura para todos os sistemas do MongoDB que sua instância do Ops Manager managed.Quando você atualiza o MongoDB Agent com esta opção habilitada, a versão atual do MongoDB Agent exigirá arquivos de assinatura do novo binário do MongoDB Agent.
Para saber mais, consulte Verificar assinaturas MongoDB.
spec.configuration.mms.featureFlag.backup.queryableTipo: booleano
Defina como
falsepara desativar os queryable backups.
spec.configuration.mms.featureFlag.backup.wt.queryableTipo: booleano
Defina como
falsepara desativar os queryable backups ao usar o WiredTiger.
spec.configuration.mms.mongoDbUsage.defaultUsageTypeTipo: string
The Kubernetes service's default server type.
Os valores aceitos são:
PRODUCTION_SERVER,TEST_SERVER,DEV_SERVEReRAM_POOL.
spec.jvmParametersTipo: array de strings
Opcional. Parâmetros JVM passados para o aplicativo Ops Manager no container. Todos os parâmetros fornecidos substituem os parâmetros JVM padrão para o aplicativo Ops Manager.
Este parâmetro do Kubernetes Operator é padronizado para uma lista vazia.
spec: jvmParameters: ["-XX:+HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/tmp"] Importante
Altere os valores do heap de memória JVM por sua conta e risco
O operador Kubernetes calcula seus valores de heap de memória JVM do aplicativo MongoDB Ops Manager com base na memória do contêiner. Alterar os valores de
-Xmse-Xmxpode causar problemas com o Ops Manager.
spec.security.certsSecretPrefixTipo: string
Texto para prefixo do Kubernetes segredo do que você criou MongoDB Ops Manager e que contêm a chave TLS e o certificado .
Você deve nomear seu segredo
<prefix>-<metadata.name>-cert.Para saber como configurar sua instância do Ops Manager para ser executada por HTTPS, consulte Implantar um recurso do Ops Manager .
spec.security.tls.caNome do Kubernetes ConfigMap que contém um arquivo CA personalizado para o Ops Manager.
Importante
spec.security.tls.cais required if you use a custom CA to sign your Ops Manager TLS certificates.O Operador Kubernetes exige que você nomeie o certificado para o recurso do Ops Manager
mms-ca.crtno ConfigMap.Esta CA assina os certificados que:
que os clientes usam para se conectar ao aplicativo Ops Manager e
os agentes no banco de dados de aplicativos que os Pods usam para se comunicar com o Ops Manager.
Aviso
Você deve concatenar seu arquivo CA personalizado e toda a cadeia de certificados TLS de
downloads.mongodb.compara evitar que o MongoDB Ops Manager se torne inoperável se o banco de dados de aplicativo reiniciar.
spec.security.tls.enabledImportante
spec.security.tls.enabledestá obsoleto e será removido em uma versão futura. Para habilitar TLS, forneça um valor para a configuraçãospec.security.certsSecretPrefix.Criptografa comunicações usando certificados TLS entre clientes e o Ops Manager.
spec.statefulSet.specTipo: collection
Especificação do StatefulSet que o operador MongoDB Operators for Kubernetes cria para o Ops Manager.
Para analisar quais campos você pode adicionar a
spec.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.
spec.statefulSet.spec.templateTipo: collection
Modelo para os Pods do Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes cria para o Ops Manager.
Observação
The Kubernetes Operator doesn't validate the fields you provide in
spec.statefulSet.spec.template.
spec.statefulSet.spec.template.metadataTipo: collection
Metadados para os Pods Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes cria para o Ops Manager.
Para revisar quais campos você pode adicionar a
spec.statefulSet.spec.template.metadata, consulte a documentação do Kubernetes.
spec.statefulSet.spec.template.specTipo: collection
Especificações dos Pods Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes cria para o Ops Manager.
Para revisar a lista completa de campos que você pode adicionar a
spec.statefulSet.spec.template.spec, consulte a documentação do Kubernetes.O exemplo
spec.statefulSet.spec.template.speca seguir define a capacidade mínima e máxima de CPU e memória para um container do Ops Manager que o MongoDB Operators for Kubernetes Operator implementa:Dica
For more information on the hardware, software, and networking requirements for the hosts that run the Ops Manager components, see Ops Manager System Requirements in the Ops Manager Documentation.
statefulSet: spec: template: spec: containers: - name: mongodb-ops-manager resources: requests: cpu: "4" memory: "16Gi" limits: cpu: "8" memory: "32Gi"
spec.statefulSet.spec.template.spec.containersTipo: collection
Lista de contêineres que pertencem aos Pods do Kubernetes no StatefulSet que o Operador de Controladores do MongoDB para Kubernetes cria para o Ops Manager.
Para modificar as especificações do container do Ops Manager, você deve fornecer o nome exato do container utilizando o campo
name, como mostrado no seguinte exemplo:backup: statefulSet: spec: template: spec: containers: - name: mongodb-ops-manager Observação
Quando você adiciona containers ao
spec.statefulSet.spec.template.spec.containers, o operador Kubernetes os adiciona ao pod do Kubernetes. Esses containers são anexados aos containers do Ops Manager no pod.
spec.statefulSet.spec.template.spec.containers.resources.requests.cpuTipo: string
Capacidade mínima da CPU que deve estar disponível em um nó do Kubernetes para hospedar o Ops Manager.
The requested value must be less than or equal to
spec.statefulSet.spec.template.spec.containers.resources.limits.cpu.
spec.statefulSet.spec.template.spec.containers.resources.limits.cpuTipo: string
Capacidade máxima da CPU para o nó que está sendo criado para hospedar o Ops Manager. Se omitido, este valor é definido como
spec.statefulSet.spec.template.spec.containers.resources.requests.cpu.
spec.statefulSet.spec.template.spec.containers.resources.requests.memoryTipo: string
Capacidade mínima de memória que deve estar disponível em um Kubernetes nó MongoDB Ops Manager do para hospedar o no Kubernetes. Este valor é expresso como um número inteiro seguido por uma unidade de memória na notação JEDEC .
Exemplo
Se o Ops Manager no Kubernetes exigir 6 gigabytes de memória, defina esse valor como
6Gi.Observação
O MongoDB recomenda definir esse valor para pelo menos
5Gi.The requested value must be less than or equal to
spec.statefulSet.spec.template.spec.containers.resources.limits.memory.
spec.statefulSet.spec.template.spec.containers.resources.limits.memoryTipo: string
Capacidade máxima de memória para o nó que está sendo criado para hospedar o Ops Manager. Se omitido, este valor é definido como
spec.statefulSet.spec.template.spec.containers.resources.requests.memory.O Operador Kubernetes calcula e define parâmetros para o tamanho de heap Java baseado na memória do container.
Aviso
Limite este valor para menos de 32 GB
Definir esse valor para um valor superior a 32 GB (
32Gi) pode causar problemas com o serviço de backup. O excesso de heaps pode causar resultados imprevisíveis no Ops Manager.
spec.statefulSet.spec.template.spec.volumesTipo: collection
Lista de volumes que os contêineres podem montar no StatefulSet que o Operador de Controladores do MongoDB para Kubernetes cria para o Ops Manager.
Se você estiver fazendo a solicitação dos logs para uma implantação usando o dashboard do Ops Manager e o tamanho dos arquivos temporários for significativamente grande, considere usar um Volume persistente para o volume
datado Kubernetes no Ops Manager StatefulSet.O volume
dataKubernetes utiliza um tipoemptyDirpor padrão. Para substituí-lo e usar um Volume persistente, adicione a seguinte configuração ao seu recursoMongoDBOpsManager:statefulSet: spec: template: spec: volumes: - name: data persistentVolumeClaim: claimName: <my-pvc> Replace
<my-pvc>pelo nome do seu Kubernetes PersistentVolumeClaim.
Configurações de conectividade externa
This section describes optional settings related to external connectivity in Ops Manager. For optional external connectivity settings specific to your multi-cluster Ops Manager deployment, see Multi-Cluster Settings.
spec.externalConnectivityTipo: collection
objeto de configuração que habilita a conectividade externa com o Ops Manager. Se fornecido, o operador do Kubernetes cria um serviço do Kubernetes que permite que o tráfego originado de fora do cluster do Kubernetes chegue ao aplicação Ops Manager.
Se não for fornecido, o Operador Kubernetes não cria um serviço Kubernetes. Você deve criar uma manualmente ou usar uma solução de terceiros que permita rotear o tráfego externo para o aplicativo de Ops Manager no cluster do Kubernetes.
spec.externalConnectivity.typeTipo: string
O serviço do Kubernetes ServiceType que expõe o Ops Manager fora do Kubernetes.
Required if
spec.externalConnectivity.typeis present.Os valores aceitos são:
LoadBalancereNodePort.LoadBalanceré recomendado se o seu fornecedor de nuvem suportar. Utilize oNodePortpara sistemas locais.
spec.externalConnectivity.portTipo: inteiro
O valor que indica qual porta um serviço do Kubernetes expõe o aplicativo de Ops Manager deve usar para tráfego externo.
If
spec.externalConnectivity.typeisNodePort:O serviço do Kubernetes expõe o aplicativo Ops Manager ao tráfego externo por meio dessa porta.
If you don't provide a
spec.externalConnectivity.portvalue, the Kubernetes service routes traffic to the Ops Manager Application from an available port selected randomly from the following default range:30000-32767.Observação
Você deve configurar o firewall da sua rede para permitir o tráfego por esta porta.
If
spec.externalConnectivity.typeisLoadBalancer:O recurso do balanceador de carga que seu fornecedor de nuvem cria expõe a aplicação Ops Manager por meio dessa porta.
If you don't provide a
spec.externalConnectivity.portvalue, the Kubernetes service exposes the Ops Manager Application to external traffic through the default HTTP (8080) or HTTPS (8443) port.
spec.externalConnectivity.loadBalancerIPTipo: string
O endereço IP que o serviço Kubernetes
LoadBalancerusa quando o Operador Kubernetes o cria.Essa configuração só pode ser usada se o seu provedor de nuvem suportar e
spec.externalConnectivity.typeforLoadBalancer. Para saber mais sobre o Type LoadBalancer, consulte a documentação do Kubernetes.
spec.externalConnectivity.externalTrafficPolicyTipo: string
Política de roteamento de tráfego externo para o serviço Kubernetes do Ops Manager. O serviço roteia o tráfego externo para endpoints locais do nó ou em todo o cluster, dependendo do valor dessa configuração.
Os valores aceitos são:
ClustereLocal. Para saber quais valores atendem aos seus requisitos, consulte IPs de origem no Kubernetes na documentação do Kubernetes.Observação
Se você selecionar
Cluster, oSource-IPdos seus clientes será perdido durante os saltos de rede que acontecem no limite de rede Kubernetes.
spec.externalConnectivity.annotationsTipo: collection
Pares de valores-chave que permitem que você forneça configurações específicas do fornecedor de nuvem.
Para saber mais sobre Anotações e suporte a TLS no Amazon Web Services, consulte a documentação do Kubernetes.
Configurações de backup
Esta seção descreve as configurações opcionais relacionadas a backups no MongoDB Ops Manager. Para obter configurações de backup opcionais específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.backup.assignmentLabelsTipo: array de strings
Uma lista de etiquetas de atribuição para os processos do Serviço de Backup Daemon . Use rótulos de atribuição para identificar se processos específicos de daemon de backup estão associados a projetos específicos. Se você definir rótulos de atribuição usando o operador Kubernetes , os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do MongoDB Ops Manager . Os rótulos de atribuição que você não define usando o Kubernetes Operator continuam a usar os valores definidos na interface do usuário do MongoDB Ops Manager .
spec.backup.enabledTipo: booleano
Sinalizador que habilita o Backup para seu recurso do Ops Manager. Ao definir como
false, o backup será desabilitado.O valor padrão é
true.
spec.backup.encryptionTipo: objeto
Objeto que contém as definições de configuração de criptografia de backup.
spec.backup.encryption.kmipTipo: objeto
Objeto que contém as definições de configuração de criptografia de backup KMIP. Para saber mais, consulte Configurar o KMIP Backup Encryption para o Ops Manager.
Observação
If you set this parameter, the API key linked with the value of
spec.credentialsmust have theGlobal Ownerrole.
spec.backup.encryption.kmip.serverTipo: objeto
objeto que contém as definições de configuração do servidor de criptografia de backup KMIP .
spec.backup.encryption.kmip.server.caTipo: string
Etiqueta legível por humanos que identifica o ConfigMap que contém uma entrada para o certificado CA (
ca.pem) a ser usado para autenticação KMIP.
spec.backup.encryption.kmip.server.urlTipo: string
URL para o servidor KMIP que usa o formato
hostname.port(por exemplo,192.168.1.3:5696oumy-kmip-server.mycorp.com:5696).
spec.backup.headDBTipo: collection
Definições de configuração para o banco de dados principal. O Kubernetes Operator cria uma declaração de volume persistente com a configuração especificada.
EscalarTipo de DadosDescriçãolabelSelectorstring
Tag usada para vincular volumes montados a diretórios.
storagestring
Tamanho mínimo do volume persistente que deve ser montado. Esse valor é expresso como um número inteiro seguido por uma unidade de armazenamento na notação JEDEC.
O valor padrão é
30Gi.Para saber mais, consulte Requisitos de hardware do Backup Daemon .
Por exemplo, se o banco de dados principal exigir 60 gigabytes de espaço de armazenamento, defina esse valor como
60Gi.storageClassstring
Tipo de armazenamento especificado em uma declaração de volume persistente. Você pode criar esse tipo de armazenamento como um objeto StorageClass antes de usá-lo nesta especificação de objeto.
Certifique-se de definir a StorageClass
reclaimPolicycomo Retain. Isso garante que os dados sejam mantidos quando uma declaração de volume persistente for removida.
spec.backup.jvmParametersTipo: array de strings
Opcional. Parâmetros JVM passados para o serviço de backup do Ops Manager no container.
Este parâmetro do Kubernetes Operator é padronizado para uma lista vazia.
spec: backup: jvmParameters: ["-XX:+UseStringCache"] Aviso
Altere os valores do heap de memória JVM por sua conta e risco
O Operador Kubernetes calcula os valores de heap de memória da JVM do serviço de backup com base na memória do contêiner. Alterar os valores de
-Xmse-Xmxpode causar problemas com o Ops Manager.
spec.backup.membersTipo: inteiro
Optional. Number of backup daemon services to deploy in Kubernetes. If not specified, defaults to
1. To ensure high availability for your backup service, deploy multiple backup daemons in Ops Manager.
spec.backup.opLogStoresTipo: collection
Required if you enable backup. Array of oplog stores used for backup. Each item in the array references a MongoDB database resource deployed in the Kubernetes cluster by the Kubernetes Operator.
spec.backup.opLogStores.assignmentLabelsTipo: array de strings
A list of assignment labels for the oplog store. Use assignment labels to identify that specific oplog stores are associated with particular projects. If you set assignment labels using the Kubernetes Operator, the values that you set in the Kubernetes configuration file for assignment labels override the values defined in the Ops Manager UI. Assignment labels that you don't set using the Kubernetes Operator continue to use the values set in the Ops Manager UI.
spec.backup.opLogStores.nameTipo: string
Obrigatório se você ativar o Backup. Nome do armazenamento de oplog.
Importante
Depois de especificado, não edite o nome do armazenamento de oplog.
spec.backup.opLogStores.mongodbResourceRef.nameTipo: string
Obrigatório se você ativar o Backup. Nome do recurso
MongoDBou do recursoMongoDBMultiClusterque você cria para armazenar fatias de oplog. Você deve distribuir este recurso no mesmo namespace que o recurso MongoDB Ops Manager .O reconhecimento de data center oplog oferece suporte apenas ao mecanismo de autenticação
SCRAM. Não é possível habilitar outros mecanismos de autenticação.Se você habilitar a autenticação
SCRAMno reconhecimento de data center oplog, deverá:Crie um recurso de usuário MongoDB para conectar o Ops Manager ao reconhecimento de data center oplog.
Specify the
nameof the user in the Ops Manager resource definition.
Se um MongoDB database resource com este nome não existir, o recurso
backupinserirá um estadoPending. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoUriesslna configuração do Ops Manager com base nas suas alterações.
spec.backup.opLogStores.mongodbUserRef.nameTipo: string
Obrigatório se a autenticação SCRAM estiver habilitada no banco de dados do Oplog Store Database. Nome do recurso de usuário MongoDB usado para se conectar ao banco de dados do Oplog Store Database. Implemente este recurso de usuário no mesmo namespace que o recurso MongoDB Ops Manager e com todas as seguintes funções:
spec.backup.blockStoresTipo: collection
Required if you enable Backup using a blockstore. Array of blockstores used for Backup. Each item in the array references a MongoDB database resource deployed in the Kubernetes cluster by the Kubernetes Operator.
spec.backup.blockStores.assignmentLabelsTipo: array de strings
Uma lista de rótulos de atribuição para o blockstore. Use rótulos de atribuição para identificar se blockstores específicos estão associados a projetos específicos. Se você definir rótulos de atribuição usando o operador Kubernetes , os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do MongoDB Ops Manager . Os rótulos de atribuição que você não define usando o Kubernetes Operator continuam a usar os valores definidos na interface do usuário do MongoDB Ops Manager .
spec.backup.blockStores.nameTipo: string
Necessário se você habilitar o backup usando um blockstore. Nome da blockstore.
Importante
Depois de especificado, não edite o nome do blockstore.
spec.backup.blockStores.mongodbResourceRef.nameTipo: string
Necessário se você habilitar o backup usando um blockstore. Nome do recurso do banco de MongoDB database que você cria para o blockstore. Você deve implantar esse recurso de banco de dados no mesmo namespace que o recurso MongoDB Ops Manager .
O blockstore reconhecimento de data center oferece suporte apenas ao mecanismo de autenticação
SCRAM. Não é possível habilitar outros mecanismos de autenticação.Se você habilitar a autenticação
SCRAMno banco de dados do blockstore, deverá:Crie um recurso de usuário MongoDB para conectar o Ops Manager ao reconhecimento de data center do blockstore.
Specify the
nameof the user in the Ops Manager resource definition.
Se um MongoDB database resource com este nome não existir, o recurso
backupinserirá um estadoPending. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoUriesslna configuração do Ops Manager com base nas suas alterações.
spec.backup.blockStores.mongodbUserRef.nameTipo: string
Necessário se a autenticação SCRAM estiver habilitada no banco de dados blockstore. Nome do recurso de usuário MongoDB usado para se conectar ao banco de dados blockstore. Implemente este recurso de usuário no mesmo namespace que o recurso MongoDB Ops Manager e com todas as seguintes funções:
spec.backup.queryableBackupSecretRef.nameTipo: string
Name of the secret that contains the queryable.pem file from Ops Manager that you will use for accessing and querying backups based on your deployment's TLS requirements.The PEM file contains a public key certificate and its associated private key that are needed to access and run queries on backup snapshots in Ops Manager. To query backups, specify the value for this parameter. If not set, backups are not affected, but you can't query them.
spec.backup.statefulSet.specTipo: collection
Especificação do StatefulSet que o Operador dos Controladores MongoDB para Kubernetes cria para o serviço do daemon de backup.
Para analisar quais campos você pode adicionar a
spec.backup.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.
spec.backup.statefulSet.spec.templateTipo: collection
Modelo para os Pods Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes criam para o serviço de daemon de backup.
Observação
The Kubernetes Operator doesn't validate the fields you provide in
spec.backup.statefulSet.spec.template.
spec.backup.statefulSet.spec.template.metadataTipo: collection
Metadados para os Pods Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes criam para o serviço de daemon de backup.
Para revisar quais campos você pode adicionar a
spec.backup.statefulSet.spec.template.metadata, consulte a documentação do Kubernetes.
spec.backup.statefulSet.spec.template.specTipo: collection
Especificações dos Pods Kubernetes no StatefulSet que os Controladores MongoDB para o Operador Kubernetes criam para o serviço daemon de backup.
Para revisar a lista completa de campos que você pode adicionar a
spec.backup.statefulSet.spec.template.spec, consulte a documentação do Kubernetes.O exemplo
spec.backup.statefulSet.spec.template.speca seguir define a capacidade mínima e máxima de CPU e memória para um container de serviço de backup daemon que o MongoDB Operators for Kubernetes Operator implementa:Dica
For more information on the hardware, software, and networking requirements for the hosts that run the Ops Manager components, see Ops Manager System Requirements in the Ops Manager Documentation.
statefulSet: spec: template: spec: containers: - name: mongodb-backup-daemon resources: requests: cpu: "4" memory: "8Gi" limits: cpu: "8" memory: "16Gi"
spec.backup.statefulSet.spec.template.spec.containersTipo: collection
Lista de contêineres que pertencem aos Pods do Kubernetes no StatefulSet que o Operador de Controladores do MongoDB para Kubernetes cria para o serviço de daemon de backup.
To modify the specifications of the backup daemon service container, you must provide the exact name of the container using the
namefield, as shown in the following example:backup: statefulSet: spec: template: spec: containers: - name: mongodb-backup-daemon Observação
Quando você adiciona containers ao
spec.backup.statefulSet.spec.template.spec.containers, o operador Kubernetes os adiciona ao pod do Kubernetes. Esses containers são anexados aos containers do Backup Daemon Service no pod.
spec.backup.statefulSet.spec.template.spec.containers.resources.requests.cpuTipo: string
Capacidade mínima da CPU que deve estar disponível em um nó do Kubernetes para hospedar o serviço do daemon de backup.
The requested value must be less than or equal to
spec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpu.
spec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpuTipo: string
Capacidade máxima da CPU para o nó que está sendo criado para hospedar o serviço do daemon de backup. Se omitido, este valor é definido como
spec.backup.statefulSet.spec.template.spec.containers.resources.requests.cpu.
spec.backup.statefulSet.spec.template.spec.containers.resources.requests.memoryTipo: string
Capacidade mínima de memória que deve estar disponível em um nó do Kubernetes para hospedar o serviço do daemon de backup no Kubernetes. Este valor é expresso como um número inteiro seguido por uma unidade de memória na notação JEDEC.
Observação
Defina este valor para pelo menos
4.5Gi. Valores menores que4.5Gipodem resultar em um erro.The requested value must be less than or equal to
spec.backup.statefulSet.spec.template.spec.containers.resources.limits.memory.
spec.backup.statefulSet.spec.template.spec.containers.resources.limits.memoryTipo: string
Capacidade máxima de memória para o nó que está sendo criado para hospedar o serviço do daemon de backup. Se omitido, este valor é definido como
spec.backup.statefulSet.spec.template.spec.containers.resources.requests.memory.O Operador Kubernetes calcula e define parâmetros para o tamanho de heap Java baseado na memória do container.
Aviso
Limite este valor para menos de 32 GB
Definir esse valor para um valor superior a 32 GB (
32Gi) pode causar problemas com o serviço de backup. O excesso de heaps pode causar resultados imprevisíveis no Ops Manager.
Configurações do S3
Você pode configurar o MongoDB Ops Manager para usar S3 para armazenar oplogs e snapshot de backup, e proteger as conexões com S3 com TLS usando chaves emitidas por CA personalizado.
To configure custom CA keys, use the ConfigMap with which you configured TLS for your Application Database as described on the TLS-Encrypted Connection (HTTPS) tab of Deploy an Ops Manager Resource. Set spec.applicationDatabase.security.tls.ca to this ConfigMap.
Você pode usar TLS para ambos S3 e seu banco de dados de aplicativo, ou para S3 apenas.
Para usar TLS para ambos, obtenha certificados para ambos os propósitos do mesmo
ca-pemreferenciado no ConfigMap.Para usar TLS apenas para S3, não defina
spec.security.applicationDatabase.certsSecretPrefixem seu ConfigMap.
spec.backup.s3OpLogStores.assignmentLabelsTipo: array de strings
Uma lista de rótulos de atribuição para armazenamentos de oplog do S3. Use rótulos de atribuição para identificar se armazenamentos de oplog S3 específicos estão associados a projetos específicos. Se você definir rótulos de atribuição usando o operador Kubernetes, os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do Ops Manager . Os rótulos de atribuição que você não define usando o Kubernetes Operator continuam a usar os valores definidos na interface do usuário do Ops Manager.
spec.backup.s3OpLogStores.customCertificateTipo: booleano
Deprecated. Use
spec.backup.s3OpLogStores.customCertificateSecretRefsinstead.Sinalizador que indica se você usa certificados AppDB (
appdb-ca) como o certificado TLS personalizado para seu armazenar de oplog S3. O padrão éFalse.
spec.backup.s3OpLogStores.customCertificateSecretRefsTipo : array de objetos
Lista de certificados personalizados para seu armazenamento de oplog S3 usando segredos do Kubernetes. O certificado base64-codificado x.509 já deve estar presente em um segredo do Kubernetes com uma chave e deve ser analisado pelo Java CertifcateFactory. Você não pode especificar vários certificados em uma cadeia em um segredo. Se você especificar vários certificados em uma cadeia em um segredo, o Kubernetes Operator usará apenas o primeiro certificado na cadeia. Se você também fornecer a configuração
customCertificate, o Kubernetes Operator usará ospec.applicationDatabase.security.tls.cacomo o certificado personalizado para backups.Each entry in the list specifies the
nameand thekey. If you specify multiple secrets, Kubernetes Operator uses all the certificates in the specified secrets.Se você não fornecer essa configuração, o Ops Manager usará o JVM Default Trust Store usado pelo Ops Manager.
spec.backup.s3OpLogStores.customCertificateSecretRefs.nameTipo: string
Necessário para usar certificados personalizados para seu armazenamento de oplog S3. Segredo do Kubernetes que contém o certificado personalizado.
spec.configuration.mms.mongoDbUsage.defaultUsageTypeTipo: string
The Kubernetes service's default server type.
spec.backup.s3OpLogStores.customCertificateSecretRefs.keyTipo: string
Required to use custom certificates for your S3 oplog store. File that represents the key in the secret that contains the base64-encoded x.509 certificate. If you don't specify this setting, the Kubernetes Operator can't utilize the custom certificate for S3 oplog store backups.
spec.backup.s3OpLogStores.irsaEnabledTipo: booleano
Flag that enables using AWS IAM roles for service accounts in AWS EKS to configure an S3 oplog store. The default is
False. If you aren't using AWS EKS, this flag has no effect. When set toFalse, using AWS IAM roles for service accounts in EKS to configure an S3 oplog store is disabled. To learn more, see IAM roles for service accounts in EKS.
spec.backup.s3OpLogStores.nameTipo: string
Necessário para armazenar o oplog usando um armazenar S3. Nome do S3 armazenar oplog.
spec.backup.s3OpLogStores.mongodbResourceRef.nameTipo: string
Nome do recurso de banco de dados MongoDB que você cria para armazenar metadados para o armazenamento oplog S3. Você deve implantar este recurso de banco de dados no mesmo namespace que o recurso Ops Manager.
Observação
Omita esta configuração para usar o banco de dados de aplicativo para armazenar metadados para o armazenamento de oplog S3.
If you omit this setting, you must also omit the
spec.backup.s3OpLogStores.mongodbUserRef.namesetting. The Kubernetes Operator handlesSCRAMuser authentication internally.Se você habilitar a autenticação do
SCRAMneste reconhecimento de data center, você deverá:Crie um recurso de usuário MongoDB para conectar o Ops Manager ao banco de dados.
Specify the
nameof the user in the Ops Manager resource definition.
spec.backup.s3OpLogStores.mongodbUserRef.nameTipo: string
Obrigatório se você criou um recurso de banco de dados MongoDB para armazenar metadados de oplog S3 e o SCRAM está habilitado neste banco de dados. Nome do recurso de usuário do MongoDB usado para conectar ao banco de dados de metadados do armazenar oplog S3. Implante este recurso de usuário no mesmo namespace que o recurso do MongoDB Ops Manager e com todas as seguintes funções:
Importante
Depois de especificado, não edite o nome de usuário do armazenamento de oplog de metadados S3.
spec.backup.s3OpLogStores.s3SecretRef.nameTipo: string
Necessário para armazenar o oplog utilizando um armazenamento S3 se
spec.backup.s3OpLogStores.irsaEnablednão estiver configurado paratrue.Nome do segredo que contém os campos
accessKeyesecretKey. O serviço do daemon de backup usa os valores desses campos como credenciais para acessar seu bucket compatível com o AWS S3 ou S3.Para configurar o armazenamento de oplog S3, você deve especificar ambas as chaves no segredo.Se você configurar o
spec.backup.s3OpLogStores.irsaEnabledparatrue, você não precisará configurar os3SecretRef, pois as credenciais do Amazon Web Services S3 são montadas como variáveis de ambiente do pod.
spec.backup.s3OpLogStores.pathStyleAccessEnabledTipo: booleano
Indica o estilo da URL do endpoint do bucket.
ValorDescriçãoExemplotrueURL no estilo de caminho
s3.amazonaws.com/<bucket>falseURL no estilo de host virtual
<bucket>.s3.amazonaws.comPara saber mais sobre anotações e suporte a TLS no Amazon Web Services, consulte a documentação do Kubernetes.
O valor padrão é
true.
spec.backup.s3OpLogStores.s3BucketEndpointTipo: string
Necessário para armazenar o oplog usando um armazenar S3. URL do AWS S3 bucket ou S3-compatible bucket que hospeda o armazenar oplog.
Observação
If your endpoint doesn't include a region in its URL, specify the
s3RegionOverridefield.
spec.backup.s3OpLogStores.s3BucketNameTipo: string
Necessário para armazenar o oplog usando um armazenar S3. Nome do Amazon Web Services S3 bucket ou S3-compatible bucket que hospeda o armazenamento de oplog.
spec.backup.s3OpLogStores.s3RegionOverrideTipo: string
Região onde reside seu bucket compatível com S3. Use esse campo somente se o
s3BucketEndpointdo seu armazenamento de oplog S3 não suportar o escopo de região. O escopo da região é quando o endpoint não inclui uma região na URL.Não use este campo com buckets AWS S3. Para obter mais informações, consulte Configuração do blockstore S3.
spec.backup.s3Stores.assignmentLabelsTipo: array de strings
Uma lista de rótulos de atribuição para os blocos compatíveis com S3 ou S3onde armazena os snapshots de backup do banco de dados . Use rótulos de atribuição para identificar que os armazenamentos S3 específicos estão associados a determinados projetos. Se você definir rótulos de atribuição usando o operador Kubernetes, os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do Ops Manager . Os rótulos de atribuição que você não define usando o Kubernetes Operator continuam a usar os valores definidos na interface do usuário do Ops Manager.
spec.backup.s3Stores.customCertificateTipo: booleano
Deprecated. Use
spec.backup.s3Stores.customCertificateSecretRefsinstead.Sinalizador que indica se você usa os certificados do banco de dados de aplicativo (
appdb-ca) como o certificado TLS personalizado para seu backup S3. O padrão éFalse.
spec.backup.s3Stores.customCertificateSecretRefsTipo : array de objetos
Lista de certificados personalizados para seu armazenamento de snapshots S3 usando segredos do Kubernetes. O certificado base64-codificado x.509 já deve estar presente em um segredo do Kubernetes com uma chave e deve ser analisado pelo Java CertifcateFactory. Você não pode especificar vários certificados em uma cadeia em um segredo. Se você especificar vários certificados em uma cadeia em um segredo, o Kubernetes Operator usará apenas o primeiro certificado na cadeia. Se você também fornecer a configuração
spec.backup.s3Stores.customCertificate, o Kubernetes Operator usará ospec.applicationDatabase.security.tls.cacomo o certificado personalizado para backups.Each entry in the list specifies the
nameand thekey. If you specify multiple secrets, Kubernetes Operator uses all the specified secrets.Se você não fornecer essa configuração, o Kubernetes Operator usará o JVM Default Trust Store usado pelo Ops Manager para backups.
spec.backup.s3Stores.customCertificateSecretRefs.nameTipo: string
Necessário para usar certificados personalizados para seu armazenamento de oplog S3. Segredo do Kubernetes que contém o certificado personalizado.
spec.backup.s3Stores.customCertificateSecretRefs.keyTipo: string
Required to use custom certificates for your S3 oplog store. File that represents the key in the secret that contains the base64-encoded x.509 certificate. If you don't specify this setting, Kubernetes Operator can't utilize the custom certificate for S3 snapshot store and defaults to the default trust store used by Ops Manager.
spec.backup.s3Stores.irsaEnabledTipo: booleano
Flag that enables using AWS IAM roles for service accounts in AWS EKS to configure an S3 snapshot store. The default is
False. If you aren't using AWS EKS, this flag has no effect. When set toFalse, using AWS IAM roles for service accounts in EKS to configure an S3 snapshot store is disabled. To learn more, see IAM roles for service accounts in EKS.
spec.backup.s3Stores.nameTipo: string
Necessário para armazenar o oplog usando um armazenar S3. Nome do S3 armazenamento de snapshots.
Importante
Depois de especificado, não edite o nome do S3 armazenamento de snapshots. Esta mudança provavelmente falhará se o backup usar o nome antigo. As consequências de uma mudança bem-sucedida são imprevisíveis.
spec.backup.s3Stores.mongodbResourceRef.nameTipo: string
Nome do recurso
MongoDBou do recursoMongoDBMultiClusterque você cria para armazenar metadados para o armazenamento de snapshots S3. Você deve implantar este recurso de banco de dados no mesmo namespace que o recurso Ops Manager.Observação
Omita esta configuração para usar o banco de dados de aplicativo para armazenar metadados para o armazenamento de snapshots S3.
If you omit this setting, you must also omit the
spec.backup.s3Stores.mongodbUserRef.namesetting. The Kubernetes Operator handlesSCRAMuser authentication internally.Se você habilitar a autenticação do
SCRAMneste reconhecimento de data center, você deverá:Crie um recurso de usuário MongoDB para conectar o Ops Manager ao banco de dados.
Specify the
nameof the user in the Ops Manager resource definition.
Importante
Depois de especificado, não edite o nome do S3 armazenamento de snapshots. Esta mudança provavelmente falhará se o backup usar o nome antigo. As consequências de uma mudança bem-sucedida são imprevisíveis.
Se um MongoDB database resource com este nome não existir, o recurso
backupinserirá um estadoPending. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoUriesslna configuração do Ops Manager com base nas suas alterações.
spec.backup.s3Stores.mongodbUserRef.nameTipo: string
Obrigatório se você criou um recurso de banco de dados MongoDB para armazenar metadados de snapshot |s3| e o SCRAM está habilitado neste banco de dados. Nome do recurso de usuário do MongoDB usado para conectar ao banco de dados de metadados do armazenamento de snapshots S3. Implante este recurso de usuário no mesmo namespace que o recurso do MongoDB Ops Manager e com todas as seguintes funções:
Importante
Depois de especificado, não edite o nome de usuário do armazenamento de snapshots de metadados S3.
spec.backup.s3Stores.s3SecretRef.nameTipo: string
Obrigatório se você habilitar o backup usando um armazenamento S3 e não definir
spec.backup.s3Stores.irsaEnabledcomotrue.Nome do segredo que contém os campos
accessKeyesecretKey. O serviço do daemon de backup usa os valores desses campos como credenciais para acessar seu bucket compatível com o AWS S3 ou S3.O armazenamento de snapshots S3 não poderá ser configurado se o segredo estiver sem chave.Se você configurar o
spec.backup.s3Stores.irsaEnabledparatrue, você não precisará configurar os3SecretRef, pois as credenciais do Amazon Web Services S3 são montadas como variáveis de ambiente do pod.
spec.backup.s3Stores.objectLockEnabledTipo: booleano
Especifica se o bucket compatível com AWS S3 ou S3que faz backup desse armazenamento de snapshots tem o bloqueio de objetos habilitado. Defina este campo como
truepara habilitar backups imutáveis para armazenar.This field is supported only with Ops Manager version 8.0.19 or later. For information about configuring immutable backups in Ops Manager, see Set Immutable Backup.
O valor padrão é
false.
spec.backup.s3Stores.pathStyleAccessEnabledTipo: booleano
Indica o estilo da URL do endpoint do bucket.
ValorDescriçãoExemplotrueURL no estilo de caminho
s3.amazonaws.com/<bucket>falseURL no estilo de host virtual
<bucket>.s3.amazonaws.comO valor padrão é
true.
spec.backup.s3Stores.s3BucketEndpointTipo: string
Necessário se você habilitar o backup usando um armazenar S3. URL do bucket S3 da AWS ou do bucket compatível com S que hospeda o armazenamento de snapshots.3
Observação
If your endpoint doesn't include a region in its URL, specify the
s3RegionOverridefield.
spec.backup.s3Stores.s3BucketNameTipo: string
Necessário se você habilitar o backup usando um armazenar S3. Nome do AWS S3 bucket ou S3-compatible bucket que hospeda o armazenamento de snapshots.
spec.backup.s3Stores.s3RegionOverrideTipo: string
Região onde reside seu bucket compatível com S3. Use esse campo somente se o
s3BucketEndpointda sua loja S3 não suportar o escopo de região. O escopo da região é quando o endpoint não inclui uma região na URL.Não use este campo com buckets AWS S3. Para obter mais informações, consulte Configuração do blockstore S3.
Configurações necessárias do banco de dados do aplicativo
This section describes settings that you must use in addition to the required Ops Manager settings to configure your Ops Manager Application Database.
spec.applicationDatabase.versionTipo: string
Obrigatório. Versão do MongoDB instalada no Ops Manager Application Database. Você deve especificar uma versão MongoDB empresarial compatível com base na marcação no registro de contêiner. Por exemplo,
8.0.0-ubi8. A partir da versão do Kubernetes Operator 1.20, as tags não terminam mais em-ent.Importante
Certifique-se de escolher uma versão compatível do MongoDB Server.
Versões compatíveis diferem dependendo da imagem base que o recurso do banco de dados MongoDB utiliza.
Observação
If you update this value to a later version of MongoDB for the Application Database, the feature compatibility version remains at the MongoDB version you're upgrading from to give you the option to downgrade if necessary. If you want the feature compatibility version to match the new MongoDB version, you must manually set the
featureCompatibilityVersionparameter underspec.applicationDatabase.
Configurações opcionais do banco de dados do aplicativo
This section describes optional settings related to your Ops Manager Application Database. For optional application database settings specific to your multi-cluster Ops Manager deployment, see Multi-Cluster Settings.
spec.applicationDatabaseTipo: collection
Ops Manager Application Database resource definition.
As seguintes configurações da especificação do recurso do conjunto de réplicas são opcionais.
spec.applicationDatabase.additionalMongodConfigTipo: collection
Additional configuration options with which you want to start the Application Database MongoDB processes. This setting uses the same structure as the
mongodconfiguration file and accepts the same options asspec.additionalMongodConfigfor theMongoDBresource.
spec.applicationDatabase.agent.logLevelTipo: string
Padrão: INFO
Configura o nível de registro do agente de automação dentro do Pod. Os valores aceitos incluem:
DEBUGINFOWARNERRORFATAL
spec.applicationDatabase.agent.<component>.logRotateTipo: objeto
Substitua o componente por um dos seguintes valores:
mongodmonitoringAgent
MongoDB configuration object for rotating the MongoDB logs of a process. To use the
agent.<component>.logRotatesettings, you must setsystemLog.destinationtofilebecause you can't use theagent.<component>.logRotatesettings if you're writing logs to the host's syslog system.Observação
If the size of files the Ops Manager dashboard generates is larger than the storage space available in the
emptyDirvolume, consider overriding theemptyDirvolume with a Persistent Volume to prevent pod crashes. To learn more, seespec.statefulSet.spec.template.spec.volumes.
spec.applicationDatabase.agent.mongod.logRotate.numTotalTipo: inteiro
Padrão:
0Total number of log files that Ops Manager retains. If you don't change the default, Ops Manager bases rotation on your other
agent.<compenet>.logRotatesettings.
spec.applicationDatabase.agent.mongod.logRotate.numUncompressedTipo: inteiro
Padrão:
5Número máximo de arquivos de log totais para deixar descompactados, incluindo o arquivo de log atual.
spec.applicationDatabase.agent.mongod.logRotate.percentOfDiskspaceTipo: número
Padrão:
0.02Maximum percentage of total disk space that Ops Manager can use to store the log files expressed as decimal. If this limit is exceeded, Ops Manager deletes compressed log files until it meets this limit. Ops Manager deletes the oldest log files first.
spec.applicationDatabase.agent.<component>.logRotate.sizeThresholdMBTipo: número
Substitua o componente por um dos seguintes valores:
mongodmonitoringAgent
Required if rotating logs. Maximum size in MB for an individual log file before Ops Manager rotates it. Ops Manager rotates the log file immediately if it meets the value given in either this
sizeThresholdMBor thelogRotate.timeThresholdHrslimit.
spec.applicationDatabase.agent.<component>.logRotate.timeThresholdHrsTipo: inteiro
Substitua o componente por um dos seguintes valores:
mongodmonitoringAgent
Required if rotating logs. Maximum duration in hours for an individual log file before the next rotation. The time is since the last rotation. Ops Manager rotates the log file immediately if it meets the value given in either
timeThresholdHrsor thelogRotate.sizeThresholdMlimit.
spec.applicationDatabase.agent.mongod.auditlogRotateTipo: objeto
objeto de configuração MongoDB para girar os registros de auditar MongoDB de um processo.
spec.applicationDatabase.agent.mongod.auditlogRotate.numTotalTipo: inteiro
Padrão:
0Total number of audit log files that Ops Manager retains. If you don't change the default value, Ops Manager bases rotation on your other
agent.mongod.auditlogRotatesettings.
spec.applicationDatabase.agent.mongod.auditlogRotate.numUncompressedTipo: inteiro
Padrão:
5Número máximo de arquivos de log de auditar totais para deixar descompactados, incluindo o arquivo de log de auditar atual.
spec.applicationDatabase.agent.mongod.auditlogRotate.percentOfDiskspaceTipo: número
Padrão:
0.02Maximum percentage of total disk space that Ops Manager can use to store the audit log files expressed as decimal. If you exceed this limit, Ops Manager deletes compressed audit log files until it meets this limit. Ops Manager deletes the oldest audit log files first.
spec.applicationDatabase.agent.mongod.auditlogRotate.sizeThresholdMBTipo: número
Required if rotating audit logs. Maximum size in MB for an individual audit log file before Ops Manager rotates it. Ops Manager rotates the audit log file immediately if it reaches the value in either
sizeThresholdMBor theauditlogRotate.timeThresholdHrslimit.
spec.applicationDatabase.agent.mongod.auditlogRotate.timeThresholdHrsTipo: inteiro
Required if rotating audit logs. Maximum duration in hours for an individual audit log file before the next rotation. The time is since the last rotation. Ops Manager rotates the audit log file immediately if it reaches the value in either
timeThresholdHrsor theauditlogRotate.sizeThresholdMlimit.
spec.applicationDatabase.agent.startupOptionsTipo: objeto
Objeto de configuração do MongoDB para opções de inicialização. Consulte Configurações do MongoDB Agent para ver os campos disponíveis.
spec.applicationDatabase.agent.systemLogTipo: objeto
Objeto de configuração do MongoDB para configurar as opções do
systemLog.
spec.applicationDatabase.agent.systemLog.pathTipo: string
Padrão:
/var/log/mongodb-mms-automation/mongodb.logThe path of the log file to which
mongodormongosshould send all diagnostic logging information, rather than the standard output or the host's syslog. MongoDB creates the log file at the specified path.O script de inicialização do pacote Linux não espera que
systemLog.pathmude dos padrões. Se você usar o pacote Linux e alterarsystemLog.path, terá que usar seu próprio script de inicialização e desabilitar os scripts integrados.
spec.applicationDatabase.agent.systemLog.logAppendTipo: booleano
Padrão:
falseWhen
true,mongosormongodappends new entries to the end of the existing log file when themongosormongodinstance restarts. Without this option,mongodwill back up the existing log and create a new file.
spec.applicationDatabase.agent.systemLog.destinationTipo: string
The destination to which MongoDB sends all log output. Specify either
fileorsyslog. If you specifyfile, you must also specifysystemLog.path.If you don't specify
systemLog.path, MongoDB sends all log output to standard output.Aviso
O daemon syslog gera carimbos de data/hora quando registra uma mensagem, não quando o MongoDB emite a mensagem. Esse comportamento pode levar a registros de data/hora enganosos para entradas de registro, especialmente quando o sistema está sob volume pesado. Recomendamos usar a opção
filepara sistemas de produção para garantir carimbos de data/hora precisos.
spec.applicationDatabase.externalAccessTipo: collection
Especificação para expor seu cluster para conexões externas. Para saber como se conectar ao seu recurso do MongoDB de fora do cluster Kubernetes, consulte Como conectar a um recurso de banco de dados MongoDB de fora do Kubernetes.
Se você adicionar
spec.externalAccess, o Kubernetes Operator criará um serviço externo para cada Pod em um conjunto de réplicas. Os serviços externos fornecem um ponto de entrada externo para cada Pod do banco de dados MongoDB em um cluster. Cada serviço externo tem seletores que relacionam o serviço externo a um Pod específico.Se você adicionar esta configuração sem um valor, o Kubernetes Operator criará um serviço externo com os seguintes valores padrão:
CampoValorDescriçãoName<pod-name>-svc-externalNome do serviço externo. Não é possível alterar este valor.
TypeLoadBalancerCria um serviço LoadBalancer externo.
Port<Port Number>A port for
mongod.publishNotReadyAddresstrueEspecifica que registros DNS são criados mesmo que o Pod não esteja pronto. Não defina como
falsepara nenhum pod de banco de dados .
spec.externalAccess.externalServiceTipo: collection
Especificação para substituir os valores padrão em
spec.externalAccess.Quando você configura a configuração do
spec.externalAccess, o Operador Kubernetes cria automaticamente um serviço de balanceador de carga externo com valores padrão. Você pode substituir determinados valores ou adicionar novos valores dependendo de suas necessidades. Por exemplo, se você pretende criar serviços do NodePort e não precisa de um balanceador de carga, você deve configurar substituições na especificação do Kubernetes:externalAccess: externalService: annotations: # cloud-specific annotations for the service spec: type: NodePort # default is LoadBalancer # you can specify other spec overrides if necessary Para obter mais informações sobre a especificação do Kubernetes, consulte ServiceSpec na documentação do Kubernetes.
spec.externalAccess.externalService.annotationsTipo: collection
Pares de valores-chave que permitem adicionar configurações específicas do provedor de nuvem a todos os clusters em seu sistema. Para saber mais, consulte as anotações e a documentação do seu provedor de nuvem Kubernetes.
Você pode usar anotações para especificar valores de espaço reservado para serviços externos usados por sistemas do Kubernetes Operator. O operador Kubernetes substitui automaticamente estes valores pelos valores corretos, conforme descrito na tabela a seguir. O uso de espaços reservados permite fornecer anotações específicas em cada serviço para um Pod específico.
ValorDescrição{resourceName}Igual a
metadata.name.{namespace}Igual a
metadata.namespace.{podIndex}Índice do Pod atribuído pelo StatefulSet e direcionado pelo serviço externo atual.
{podName}Igual a
{resourceName}-{podIndex}.{statefulSetName}O StatefulSet. Igual a
{resourceName}.{externalServiceName}Nome gerado do serviço externo, com base nos valores de espaço reservado que você especificou. Igual a
{resourceName}-{podIndex}-svc-external.{mongodProcessDomain}The domain name of the server that is hosting the mongod process. Equal to
spec.externalAccess.externalDomainif specified. Otherwise, equal to the domain used for themongodprocess FQDN.Por exemplo, para o nome de host do processo
mdb-rs-1.example.com,example.comé o nome do domínio.{mongodProcessFQDN}The
mongodprocess hostname set in the automation configuration.O nome do host do processo depende da sua configuração de sistema. Se você configurou seu sistema para utilizar , o nome do host do processo utilizará o seguinte
external domainsformato:{resourceName}-{podIndex}.{mongodProcessDomain}Por exemplo:
mdb-rs-1.example.comSe o seu sistema não utilizar domínios externos, o nome do host do processo utilizará o seguinte formato:
{resourceName}-{podIndex}.{resourceName}-{podIndex}-svc.{namespace}.svc.cluster.localPor exemplo:
mdb-rs-1.mdb-rs-1-svc.ns.svc.cluster.localObservação
Você deve usar apenas valores de espaço reservado conhecidos, conforme especificado na tabela, e garantir que seus espaços reservados não usem valores vazios ou nulos. Você também não pode usar um espaço reservado específico para sistemas de vários clusters Kubernetes para um único sistema de recursos do MongoDB .
Caso contrário, o Kubernetes Operator retorna um erro. Por exemplo, você pode encontrar a seguinte mensagem de erro:
error replacing placeholders in map with key=external-dns.alpha.kubernetes.io/hostname, value={resourceName}-{podIndex}-{unknownPlaceholder}.{clusterName}-{clusterIndex}.example.com: missing values for the following placeholders: {clusterName}, {clusterIndex}, {unknownPlaceholder}`` Exemplo
O exemplo a seguir especifica os espaços reservados
{resourceName},{podIndex}e{namespace}:apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: mdb-rs namespace: ns spec: replicas: 3 externalAccess: externalService: annotations: external-dns.alpha.kubernetes.io/hostname: {resourceName}-{podIndex}-{namespace}.example.com O Operador do Kubernetes preenche automaticamente as anotações para os serviços externos com base no valor apropriado para cada espaço reservado. Por exemplo:
mdb-rs-0-svc-external: annotations: external-dns.alpha.kubernetes.io/hostname: mdb-rs-0-ns.example.com mdb-rs-1-svc-external: annotations: external-dns.alpha.kubernetes.io/hostname: mdb-rs-1-ns.example.com mdb-rs-2-svc-external: annotations: external-dns.alpha.kubernetes.io/hostname: mdb-rs-2-ns.example.com
spec.externalAccess.externalService.specTipo: collection
Configuração do ServiceSpec. Para saber mais, consulte
spec.externalAccess.externalService.
spec.applicationDatabase.memberConfigTipo : array de objetos
Especificação para cada conjunto de réplicas do aplicativo de banco de dados em sua implementação MongoDB Ops Manager .
Importante
If you set
spec.topologytoMultiCluster, usespec.applicationDatabase.clusterSpecList.memberConfiginstead ofspec.applicationDatabase.memberConfig. In a multi-cluster Ops Manager deployment, the Kubernetes Operator ignores all parameters underspec.applicationDatabase.memberConfig.O número de elementos na lista
memberConfigdeve ser igual aspec.applicationDatabase.members.A ordem dos elementos na lista
memberConfigdeve refletir a ordem dos nós no conjunto de réplicas. Por exemplo, o primeiro elemento da array afeta o Pod no índice0, o segundo elemento afeta o índice1, e assim por diante.Exemplo
Considere o seguinte exemplo de especificação para um conjunto de réplicas de três nós para o Banco de Dados de Aplicativos:
spec: applicationDatabase: memberConfig: - votes: 1 priority: "0.5" tags: tag1: "value1" environment: "prod" - votes: 1 priority: "1.5" tags: tag2: "value2" environment: "prod" - votes: 0 priority: "0" tags: tag2: "value2" environment: "prod"
spec.applicationDatabase.memberConfig.priorityTipo: string
Número que indica a probabilidade relativa de um nó do conjunto de réplicas do aplicativo de banco de dados se tornar o primary.
Para aumentar a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de
prioritymais alto.Para diminuir a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de
prioritymais baixo.
Por exemplo, um nó com uma
memberConfig.priorityde1.5tem mais probabilidade do que um nó com umamemberConfig.priorityde0.5de se tornar o primary.A member with a
memberConfig.priorityof0is ineligible to become the primary. To learn more, see Member Priority.
spec.applicationDatabase.memberConfig.tagsTipo: mapa
Map of replica set tags for directing read and write operations to specific members of your Application Database replica set.
spec.applicationDatabase.memberConfig.votesTipo: número
Determines whether an Application Database replica set member can vote in an election. Set to
1to allow the member to vote. Set to0to exclude the member from an election.
spec.applicationDatabase.passwordSecretKeyRef.nameTipo: string
Nome do segredo que contém a senha do trigger de banco de dados do Ops Manager
mongodb-ops-manager. O Ops Manager usa essa senha para autenticar no banco de dados de aplicativo.
spec.applicationDatabase.passwordSecretKeyRef.keyTipo: string
Nome do campo no segredo que contém a senha do trigger de reconhecimento de data center do Ops Manager
mongodb-ops-manager. O Ops Manager usa essa senha para autenticar no banco de dados de aplicativo.O valor padrão é
password.
spec.applicationDatabase.security.certsSecretPrefixTipo: string
Texto para prefixo para o segredo do Kubernetes que você criou que contém a chave TLS e o certificado do banco de dados do aplicativo.
Você deve nomear seu segredo
<prefix>-<metadata.name>-db-cert.Para saber como configurar sua instância do Ops Manager para ser executada por HTTPS, consulte Implantar um recurso do Ops Manager .
spec.applicationDatabase.security.tls.caTipo: string
Nome do Kubernetes ConfigMap contendo o arquivo CA para o Banco de Dados do Aplicativo.
Importante
spec.applicationDatabase.security.tls.cais required if you use a custom CA to sign your Application Database's TLS certificates.O Operador Kubernetes exige que você nomeie o certificado do banco de dados do aplicativo
ca-pemno ConfigMap.A CA especificada nesta seção também é usada para configurar certificados TLS personalizados para armazenamento S3 quando
spec.backup.s3OpLogStores.customCertificateouspec.backup.s3Stores.customCertificateestiver definido comotrue.Esta CA assina os certificados que:
o conjunto de réplicas do aplicativo de banco de dados que os membros usam para se comunicar uns com os outros e
O MongoDB Ops Manager usa para se comunicar com o conjunto de réplicas do banco de dados do aplicativo.
Aviso
Você deve concatenar seu arquivo CA personalizado e toda a cadeia de certificados TLS de
downloads.mongodb.compara evitar que o MongoDB Ops Manager se torne inoperável se o banco de dados de aplicativo reiniciar.
spec.applicationDatabase.security.tls.enabledImportante
spec.security.applicationDatabase.tls.enabledestá obsoleto e será removido em uma versão futura. Para habilitar o TLS, forneça um valor para a configuraçãospec.security.applicationDatabase.certsSecretPrefix.Criptografa comunicações usando certificados TLS entre o MongoDB Ops Manager e o aplicativo de banco de dados.
Configurações do Prometheus
As seguintes configurações se aplicam quando você usa Prometheus com seu aplicativo de banco de dados:
spec.applicationDatabase.prometheusTipo: array
Opcional. Lista que contém os parâmetros para expor métricas ao Prometheus.
spec.applicationDatabase.prometheus.metricsPathTipo: string
Padrão:
"/metrics"Opcional. String legível por humanos que indica o caminho para o ponto de extremidade de métricas. Se você não especificar essa configuração, o padrão será aplicado.
spec.applicationDatabase.prometheus.passwordSecretRefTipo: objeto
Objeto condicional que contém os detalhes do segredo para autenticação HTTP básica. Se você deseja usar o Prometheus com seu banco de dados de aplicativos, especifique esta configuração.
spec.applicationDatabase.prometheus.passwordSecretRef.keyTipo: string
Padrão:
"password"Opcional. String legível por humanos que identifica a chave no segredo que armazena a senha para autenticação HTTP básica. Se você não especificar essa configuração, o padrão será aplicado.
spec.applicationDatabase.prometheus.passwordSecretRef.nameTipo: string
Condicional
Etiqueta legível por humanos que identifica o segredo que contém a senha para autenticação HTTP básica. Se você deseja usar o Prometheus com seu banco de dados de aplicativos, especifique esta configuração.
spec.applicationDatabase.prometheus.portTipo: inteiro
Padrão: 9216
Opcional. Número que identifica a porta à qual o ponto de extremidade de métricas se conectará. Se você não especificar essa configuração, o padrão será aplicado.
spec.applicationDatabase.prometheus.tlseSecretKeyRefTipo: objeto
Opcional. Objeto que contém os detalhes do segredo para a autenticação TLS .
spec.applicationDatabase.prometheus.tlseSecretKeyRef.keyTipo: string
Padrão:
"password"Opcional. Cadeia de caracteres legível por humanos que identifica a chave no segredo que armazena a senha para autenticação TLS. Se você não especificar essa configuração, o padrão será aplicado.
spec.applicationDatabase.prometheus.tlseSecretKeyRef.nameTipo: string
Condicional. Rótulo legível por humanos que identifica o segredo que contém a senha para autenticação TLS. Se quiser usar o Prometheus com seu banco de dados de aplicativos e quiser usar a autenticação TLS, você deverá especificar essa configuração.
Configurações de vários clusters
Configurações necessárias MongoDB Ops Manager
Esta seção descreve as configurações que você deve usar para a implantação do MongoDB Ops Manager de vários clusters, além das configurações necessárias do MongoDB Ops Manager .
spec.clusterSpecList.membersTipo: inteiro
Conditional. The number of Ops Manager members in the Ops Manager cluster in a multi-Kubernetes cluster MongoDB deployment. When you set
spec.topologytoMultiCluster, you must specify the value for this parameter. Omit this parameter for single-cluster deployments. If you set this parameter to zero, this removes this Ops Manager member cluster from the list of member clusters in the multi-Kubernetes cluster of Ops Manager
spec.topologyTipo: string
O tipo de sistema do Kubernetes para o recurso do MongoDB Ops Manager .
Os valores são
SingleClusterouMultiCluster. Se omitido, o valor padrão éSingleCluster.Se você especificar
MultiCluster:Adicione o recurso
MongoDBMultiClusterà lista de recursos monitorados. Isso indica ao Operador Kubernetes que ele deve trabalhar no modo de cluster multi-Kubernetes e executar as ações de configuração necessárias para lidar com recursos multi-Kubernetes.Specify at least one member cluster on which you want to deploy Ops Manager, using
spec.clusterSpecListand its nestedspec.clusterSpecList.clusterNameandspec.clusterSpecList.membersparameters.Se você especificar
MultiCluster, o Operador Kubernetes ignorará todos os valores definidos paraspec.members. Veja o exemplo da especificação do recurso.
Configurações opcionais MongoDB Ops Manager
Os recursos MongoDB Ops Manager também podem usar as seguintes configurações específicas para sistemas do MongoDB Ops Manager em vários clusters:
spec.clusterSpecListTipo: collection
Conditional. Details of selected Kubernetes member clusters in a multi-Kubernetes cluster where you intend to deploy Ops Manager or Backup Daemon instances. See also the example of the resource specification.
When you set
spec.topologytoMultiCluster, you must specify the value forspec.clusterSpecList.members. All other parameters underspec.clusterSpecListare optional.When you set
spec.topologytoSingleCluster, the Kubernetes Operator ignores all parameters underspec.clusterSpecList.
spec.clusterSpecList.clusterNameTipo: string
Opcional. Nome do cluster Kubernetes de membros em um sistema do MongoDB de cluster multi-Kubernetes em que o Operador de Controladores MongoDB para Kubernetes agenda o StatefulSet para Ops Manager ou o Backup Daemon.
spec.clusterSpecList.clusterDomainTipo: string
Opcional. Uma substituição de
spec.clusterDomainpara o cluster de membros específico do Ops Manager. Se você omitir este valor, o padrão será o valor definido emspec.clusterDomain. O Kubernetes atribui a cada Pod um FQDN. O Operador Kubernetes calcula o FQDN para cada Pod utilizando um valor declusterDomainfornecido. O Kubernetes não fornece uma API para consultar esses nomes de host.
spec.clusterSpecList.configurationTipo: collection
Optional. Ops Manager configuration properties that override properties you set in
spec.configurationfor the specific cluster. See Ops Manager Configuration Settings for property names and descriptions. Each property takes a value of typestring. For example, setting these properties allows you to change environment variables that you must pass to Ops Manager and the Backup Daemon in that particular member cluster.If you omit specifying values, defaults to the values set in
spec.configuration.
spec.clusterSpecList.jvmParametersTipo: array de strings
Opcional. Parâmetros JVM passados para o MongoDB Ops Manager e instâncias do Backup Daemon para esse cluster de membros.
If you specify this parameter, its values override the values specified in
spec.jvmParameters. For example values, see the example of the resource specification.If you omit this parameter, values from the
spec.jvmParametersare used for the Ops Manager and Backup Daemon instances in this member cluster.
spec.clusterSpecList.externalConnectivityTipo: collection
Optional. Configuration object that enables external connectivity to Ops Manager for the specific cluster. This is an override for
spec.externalConnectivityfor the specific cluster.Especifique valores para este parâmetro para alterar como o aplicação MongoDB Ops Manager é exposto externamente em clusters diferentes. Por exemplo, se você implantar o MongoDB Ops Manager em nós do Kubernetes em diferentes provedores de nuvem, poderá ser necessário especificar valores específicos do provedor de nuvem para esse parâmetro.
Se você definir este parâmetro:
The Kubernetes Operator doesn't use
spec.externalConnectivityvalues for this member Ops Manager cluster.O Operador Kubernetes cria um serviço Kubernetes, denominado
<om-name>-svc-ext, que permite que o tráfego originado de fora do cluster Kubernetes chegue ao aplicação Ops Manager neste cluster de membros.
If you omit this parameter, the Kubernetes Operator uses values from
spec.externalConnectivityfor this member cluster.
spec.clusterSpecList.statefulSet.specTipo: collection
Opcional. Especificação do StatefulSet que o Operador de Controladores MongoDB para Kubernetes cria para um cluster de membros específico no sistema do Ops Manager de multikubernetes. Este parâmetro é uma substituição para
spec.statefulSet.spec. Se você omitir, o operador Kubernetes utilizará os valores despec.statefulSet.spec. Por exemplo, você pode usar esse parâmetro para especificar valores de armazenamento diferentes para cada um dos clusters do Ops Manager na implantação do MongoDB de vários clusters Kubernetes.Para analisar quais campos você pode adicionar a
spec.clusterSpecList.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.
spec.clusterSpecList[*].backupOpcional. Configurações de backup que substituem valores especificados em
spec.backuppara esse cluster de membros específico.You can set these values only if
spec.backup.enabledis set totrue.Se você omitir a configuração de quaisquer valores para este parâmetro, eles serão padronizados para valores especificados nas configurações em
spec.backup.Nem todas as configurações de backup são suportadas nesta substituição. Não é possível substituir as seguintes configurações de backup porque elas se aplicam globalmente a todos os clusters de membros, se especificado em
spec.backup:externalServiceEnabledheadDBopLogStoresblockStoress3StoresfileSystemStoresqueryableBackupSecretRefencryption
spec.clusterSpecList[*].backup.membersTipo: inteiro
Optional. Override for
spec.backup.members. The number of Backup Daemon instances to deploy in this cluster. if you omit this value or provide a value of0, the Kubernetes Operator won't deploy Backup Daemon instances in a particular member cluster.
spec.clusterSpecList[*].backup.assignmentLabelsTipo: array de strings
Optional. Override for
spec.backup.assignmentLabels. If specified, the Kubernetes Operator uses the values you specify in this override for all Backup Daemon instances in a particular member cluster. If you omit values for this parameter, the values default to those specified inspec.backup.assignmentLabelsfor all Backup Daemon instances in a member cluster.
spec.clusterSpecList[*].backup.jvmParametersTipo: array de strings
Optional. Override for
spec.backup.jvmParameters. Allows you to customize the JVM value for Backup Daemon instances in a particular member cluster.
spec.clusterSpecList[*].backup.statefulSetTipo: string
Opcional. Substitui por
spec.backup.statefulSet.spec. Permite personalizar os valores de um Backup Daemon em um cluster de membros específico. Para analisar quais campos você pode adicionar aspec.clusterSpecList[*].backup.statefulSet, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.
Configurações necessárias do banco de dados do aplicativo
Esta seção descreve as configurações específicas para a implantação MongoDB Ops Manager de vários clusters que você deve usar para o banco de dados de aplicativos.
spec.applicationDatabase.clusterSpecListTipo: collection
Detalhes de clusters de membros selecionados do Kubernetes em um sistema MongoDB de cluster multi-Kubernetes que servem como nós que hospedam o banco de dados de aplicativos.
spec.applicationDatabase.clusterSpecList.clusterNameTipo: string
Nome do cluster Kubernetes de membros em um sistema MongoDB de cluster multi-Kubernetes em que o Operador de Controladores MongoDB para Kubernetes agenda o StatefulSet para o Banco de Dados de Aplicativos.
Importante
You can't convert a single cluster Ops Manager instance to a multi-Kubernetes cluster MongoDB deployment instance by modifying the
topologyand theclusterSpecListsettings in the CRD.
spec.applicationDatabase.clusterSpecList.membersTipo: número
Número de nós statefulSet no cluster de membros fornecido. O cluster de membros é um dos clusters de membros que hospeda o banco de dados de aplicativos em um sistema MongoDB de cluster multi-Kubernetes.
spec.applicationDatabase.topologyTipo: string
O tipo do sistema Kubernetes para o Banco de Dados de Aplicativo.
Os valores são
SingleClusterouMultiCluster. Se omitido, o valor padrão éSingleCluster.Se você especificar
MultiCluster, deverá especificar pelo menos um membrocluster on which you want to deploy the Application Database using the
clusterSpecList,clusterName,membersparameters.Se você especificar
MultiCluster, o Operador Kubernetes ignorará valores que você configurou para o campospec.applicationDatabase.members.
Para saber mais, consulte o exemplo da especificação de recursos de vários clusters.
Configurações opcionais do banco de dados do aplicativo
Esta seção descreve as configurações específicas para a implantação MongoDB Ops Manager de vários clusters que você pode usar para o banco de dados de aplicativos.
spec.applicationDatabase.clusterSpecList.externalAccessTipo: string
Um domínio externo usado para expor externamente seu sistema de conjunto de réplicas.
Por padrão, cada membro do conjunto de réplica utiliza o FQDN (
*.svc.cluster.local) do Kubernetes Pode como o nome de host padrão. No entanto, se você adicionar um domínio externo a esta configuração, o conjunto de réplicas usará um nome de host que é um subdomínio do domínio especificado. Este nome de host usa o seguinte formato:<replica-set-name>-<cluster-idx>-<pod-idx>.<externalDomain>Por exemplo:
multi-replica-set-0-1.cluster-0.example.comImportante
Use essa configuração somente ao implantar um sistema do banco de dados de aplicativos sem uma mescla de serviço. Consulte Ops Manager de vários clusters sem uma rede de serviço.
spec.applicationDatabase.clusterSpecList.memberConfigTipo: array de strings
Especificação para cada conjunto de réplicas do banco de dados de aplicativos em seu sistema do MongoDB Ops Manager de vários clusters.
Importante
If you set
spec.topologytoSingleCluster, usespec.applicationDatabase.memberConfiginstead ofspec.applicationDatabase.clusterSpecList.memberConfig.The number of elements in the
memberConfiglist must equalspec.applicationDatabase.clusterSpecList.members.A ordem dos elementos na lista
memberConfigdeve refletir a ordem dos nós no conjunto de réplicas. Por exemplo, o primeiro elemento da array afeta o Pod no índice0, o segundo elemento afeta o índice1, e assim por diante.Exemplo
Considere o seguinte exemplo de especificação para um conjunto de réplicas de três nós para o Banco de Dados de Aplicativos:
spec: replicas: 3 version: 8.0.0 backup: enabled: true storage: resources: requests: storage: 10Gi storageClassName: standard applicationDatabase: clusterSpecList: - name: appdb members: 3 memberConfig: - votes: 1 priority: "0.5" tags: tag1: "value1" environment: "prod" - votes: 1 priority: "1.5" tags: tag2: "value2" environment: "prod" - votes: 0 priority: "0" tags: tag2: "value2" environment: "prod"
spec.applicationDatabase.clusterSpecList.memberConfig.priorityTipo: string
Número que indica a probabilidade relativa de um nó do conjunto de réplicas do aplicativo de banco de dados se tornar o primary.
Para aumentar a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de
prioritymais alto.Para diminuir a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de
prioritymais baixo.
Por exemplo, um nó com uma
memberConfig.priorityde1.5tem mais probabilidade do que um nó com umamemberConfig.priorityde0.5de se tornar o primary.A member with a
memberConfig.priorityof0is ineligible to become the primary. To learn more, see Member Priority.
spec.applicationDatabase.clusterSpecList.memberConfig.tagsTipo: mapa
Map of replica set tags for directing read and write operations to specific members of your Application Database replica set.
spec.applicationDatabase.clusterSpecList.memberConfig.votesTipo: número
Determines whether an Application Database replica set member can vote in an election. Set to
1to allow the member to vote. Set to0to exclude the member from an election.