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 Kubernetes segredo do que você criou para o MongoDB Ops Manager usuário administrador do . Quando você implementa o recurso MongoDB Ops Manager , 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
O tipo de servidor padrão do serviço Kubernetes.
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
Kubernetes Operator calculates its JVM memory heap values of the Ops Manager Application based on the container's memory. Changing the
-Xmsand-Xmxvalues can cause issues with 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
You must concatenate your custom CA file and the entire TLS certificate chain from
downloads.mongodb.comto prevent Ops Manager from becoming inoperable if the application database restarts.
spec.security.tls.enabledImportante
spec.security.tls.enabledis deprecated and will be removed in a future release. To enable TLS, provide a value for thespec.security.certsSecretPrefixsetting.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.specaplicativos, consulte 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.
To review which fields you can add to
spec.statefulSet.spec.template.metadata, see the Kubernetes documentation.
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.
To review the complete list of fields you can add to
spec.statefulSet.spec.template.spec, see the Kubernetes documentation.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
Para obter mais informações sobre os requisitos de hardware, software e rede para os hosts que executam os componentes do Ops Manager, consulte Requisitos de sistema do Ops Manager na Documentação do Ops Manager.
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 Kubernetes nó do para hospedar o MongoDB 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
Maximum CPU capacity for the node being created to host the Ops Manager. If omitted, this value is set to
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
Maximum memory capacity for the node being created to host the Ops Manager. If omitted, this value is set to
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
Esta seção descreve as configurações opcionais relacionadas à conectividade externa no MongoDB Ops Manager. Para obter configurações opcionais de conectividade externa específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.externalConnectivityTipo: collection
Objeto de configuração que habilita a conectividade externa com o MongoDB Ops Manager. Se fornecido, o Kubernetes Operador cria um Kubernetes serviço que permite que o tráfego originado de fora do Kubernetes cluster do chegue ao MongoDB Ops Manager aplicativo .
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.
Se você não fornecer um valor de, o serviço do Kubernetes expõe o aplicativo Ops Manager ao tráfego externo por
spec.externalConnectivity.portmeio8080 da8443 porta HTTP padrão () ou HTTPS ().
spec.externalConnectivity.loadBalancerIPTipo: string
O endereço IP que o serviço Kubernetes
LoadBalancerusa quando o Operador Kubernetes o cria.This setting can only be used if your cloud provider supports it and
spec.externalConnectivity.typeisLoadBalancer. To learn more about the Type LoadBalancer, see the Kubernetes documentation.
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 Kubernetes documentação do .
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
Human-readable label that identifies the ConfigMap that contains an entry for the CA certificate (
ca.pem) to use for KMIP authentication.
spec.backup.encryption.kmip.server.urlTipo: string
URL for the KMIP server that uses the
hostname.portformat (for example,192.168.1.3:5696ormy-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.
Make sure to set the StorageClass
reclaimPolicyto Retain. This ensures that data is retained when a Persistent Volume Claim is removed.
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
Kubernetes Operator calculates the JVM memory heap values of the backup service based on the container's memory. Changing the
-Xmsand-Xmxvalues can cause issues with 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
Obrigatório se você ativar o backup. Array de armazenamentos de oplog usados para backup. Cada item na array faz referência a um recurso do banco de dados de dados MongoDB implantado no cluster Kubernetes pelo Operador Kubernetes.
spec.backup.opLogStores.assignmentLabelsTipo: array de strings
Uma lista de rótulos de atribuição para o armazenamento de oplog. Use rótulos de atribuição para identificar que os armazenamentos de oplog 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 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.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
Necessário se você habilitar o Backup usando um blockstore. Array de blockstores usados para backup. Cada item na array faz referência a um recurso do MongoDB database implantado no cluster Kubernetes pelo Operador Kubernetes .
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
Nome do segredo que contém o arquivo queryable.pem do MongoDB Ops Manager que você usará para acessar e executar query de backups com base nos requisitos de TLS do seu sistema.O arquivo PEM contém um certificado de chave pública e sua chave privada associada que são necessários para acessar e execute queries em snapshots de backup no MongoDB Ops Manager. Para query backups, especifique o valor deste parâmetro. Se não estiverem definidos, os backups não serão afetados, mas você não poderá consultá-los.
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.
To review which fields you can add to
spec.backup.statefulSet.spec, see StatefulSetSpec v1 apps in the Kubernetes documentation.
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.
To review which fields you can add to
spec.backup.statefulSet.spec.template.metadata, see the Kubernetes documentation.
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.
To review the complete list of fields you can add to
spec.backup.statefulSet.spec.template.spec, see the Kubernetes documentation.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
Para obter mais informações sobre os requisitos de hardware, software e rede para os hosts que executam os componentes do Ops Manager, consulte Requisitos de sistema do Ops Manager na Documentação do Ops Manager.
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
Maximum CPU capacity for the node being created to host the backup daemon service. If omitted, this value is set to
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
Maximum memory capacity for the node being created to host the backup daemon service. If omitted, this value is set to
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 Ops Manager para usar o S3 para armazenar oplogs, snapshots de backup e conexões seguras para o S3 com TLS usando chaves emitidas por CA personalizada.
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 S3 e seu Banco de Dados do Aplicativo, ou apenas para S3.
To use TLS for both, get certificates for both purposes from the same
ca-pemreferenced in the ConfigMap.Para utilizar TLS para S3 somente, 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 que os armazenamentos de oplog 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.s3OpLogStores.customCertificateTipo: booleano
Deprecated. Use
spec.backup.s3OpLogStores.customCertificateSecretRefsinstead.Sinalizador que indica se você usa certificados AppDB (
appdb-ca) como certificado TLS personalizado para seu armazenamento 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 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 de3 oplog S. Segredo do Kubernetes que contém o certificado personalizado.
spec.backup.s3OpLogStores.customCertificateSecretRefs.keyTipo: string
Necessário para usar certificados personalizados para seu armazenamento de oplog S3. Arquivo que representa a chave no segredo que contém o certificado x.509 codificado por base64. Se você não especificar essa configuração, o Kubernetes Operator não poderá usar o certificado personalizado para backups de armazenamento de oplog do S3.
spec.backup.s3OpLogStores.irsaEnabledTipo: booleano
Sinalizador que permite usar funções do AWS IAM para contas de serviço no AWS EKS para configurar um armazenamento de oplog S3. O padrão é
False. Se você não estiver usando o AWS EKS, esse sinalizador não terá efeito. Quando definido comoFalse, o uso de funções do AWS IAM para contas de serviço no EKS para configurar um armazenamento de oplog S3 é desabilitado. Para saber mais, consulte Funções de IAM para contas de serviço no EKS.
spec.backup.s3OpLogStores.nameTipo: string
Necessário para armazenar o oplog usando um armazenamento S3. Nome do armazenamento de oplog S3.
spec.backup.s3OpLogStores.mongodbResourceRef.nameTipo: string
Nome do recurso de banco de dados MongoDB que você cria para armazenar metadados para o armazenamento de oplog S3. Você deve implantar esse recurso de banco de dados no mesmo namespace que o recurso Ops Manager.
Observação
Omita esta configuração para utilizar o Banco de Dados do 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
Necessário se você criou um recurso de banco de dados MongoDB para armazenar metadados S3 oplog e SCRAM estiver habilitado neste banco de dados. Nome do recurso de usuário MongoDB usado para se conectar ao banco de dados de metadados do armazenamento de oplog S3. Implemente este recurso de usuário no mesmo namespace que o recurso do 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 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 armazenamento S3. URL do bucket AWS S3 ou bucket compatível com S3 que hospeda o armazenamento de 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 armazenamento S3. Nome do bucket AWS S3 ou bucket compatível com S3 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 armazenamento de blocos do 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 do aplicativo (
appdb-ca) como certificado TLS personalizado para seus backups 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 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
Required to use custom certificates for your S3 oplog store. Kubernetes secret that contains the custom certificate.
spec.backup.s3Stores.customCertificateSecretRefs.keyTipo: string
Necessário para usar certificados personalizados para seu armazenamento de oplog S3. Arquivo que representa a chave no segredo que contém o certificado x.509 codificado por base64. Se você não especificar essa configuração, o Kubernetes Operator não poderá usar o certificado personalizado para o armazenamento de snapshots do S3 e assumirá como padrão o armazenamento confiável padrão usado pelo Ops Manager.
spec.backup.s3Stores.irsaEnabledTipo: booleano
Sinalizador que permite usar funções do AWS IAM para contas de serviço no AWS EKS para configurar um armazenamento de snapshots S3 . O padrão é
False. Se você não estiver usando o AWS EKS, esse sinalizador não terá efeito. Quando definido comoFalse, o uso de funções do AWS IAM para contas de serviço no EKS para configurar um armazenamento de snapshots S3 é desabilitado. Para saber mais, consulte Funções de IAM para contas de serviço no EKS.
spec.backup.s3Stores.nameTipo: string
Necessário para armazenar o oplog usando um armazenamento S3. Nome do armazenamento de snapshots do S3.
Importante
Depois de especificado, não edite o nome do armazenamento de snapshots do S3. Essa alteração provavelmente falhará se os backups usarem 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 recursoMongoDBMultiClusterque você cria para armazenar metadados para o armazenamento de snapshots do S3. Você deve implantar esse 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 do Aplicativo para armazenar metadados do armazenamento de snapshots do 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
Once specified, don't edit the name of the S3 snapshot store. This change will likely fail if backups use the old name. The consequences of a successful change are unpredictable.
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
Necessário se você criou um recurso do banco de dados MongoDB para armazenar |s3| metadados de snapshot e SCRAM estão habilitados neste banco de dados. Nome do recurso de usuário MongoDB usado para se conectar ao banco de dados de metadados do armazenamento de snapshots S3. Implemente este recurso de usuário no mesmo namespace que o recurso do Ops Manager e com todas as seguintes funções:
Importante
Depois de especificado, não edite o nome do 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 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.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 armazenamento S3. URL do bucket AWS S3 ou bucket compatível com S3 que hospeda o armazenamento de snapshots.
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 armazenamento S3. Nome do bucket AWS S3 ou bucket compatível com S3 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.Don't use this field with AWS S3 buckets. For more information, see S3 Blockstore Configuration.
Configurações necessárias do banco de dados do aplicativo
Esta seção descreve as configurações que você deve usar , além das configurações necessárias do MongoDB Ops Manager para configurar o 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-ubi8A partir da versão do Kubernetes Operator.,1 20as tags não terminam mais-entem.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
Esta seção descreve as configurações opcionais relacionadas ao Ops Manager Application Database. Para obter configurações opcionais de banco de dados de aplicativos específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.applicationDatabaseTipo: collection
Definição deMongoDB Ops Manager recurso do banco de dados de aplicativos .
As seguintes configurações da especificação do recurso do conjunto de réplicas são opcionais.
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.02Porcentagem máxima do espaço total em disco que o MongoDB Ops Manager pode usar para armazenar os arquivos de log expressos como decimal. Se esse limite for excedido, o MongoDB Ops Manager excluirá os arquivos de log compactados até que ele atenda a esse limite. O MongoDB Ops Manager exclui primeiro os arquivos de log mais antigos.
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.02Porcentagem máxima do espaço total em disco que o MongoDB Ops Manager pode usar para armazenar os arquivos de log de auditar expressos como decimal. Se você exceder esse limite, o MongoDB Ops Manager excluirá os arquivos de log de auditar compactados até que ele atinja esse limite. O MongoDB Ops Manager exclui primeiro os arquivos de log de auditar mais antigos.
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.publishNotReadyAddresstrueSpecifies that DNS records are created even if the Pod isn't ready. Do not set to
falsefor any database Pod.
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}The StatefulSet. Equal to
{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
Configuration for the ServiceSpec. To learn more, see
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.Um nó com um
memberConfig.priorityde0não está qualificado para se tornar o primary. Para saber mais, consulte Priority do nó.
spec.applicationDatabase.memberConfig.tagsTipo: mapa
Mapa de tags de conjuntos de réplicas para direcionar operações de leitura e escrita para nós específicos do seu conjunto de réplicas do Banco de Dados de Aplicativo.
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
Text to prefix to the Kubernetes secret that you created that contains your Application Database's TLS key and certificate.
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
You must concatenate your custom CA file and the entire TLS certificate chain from
downloads.mongodb.comto prevent Ops Manager from becoming inoperable if the application database restarts.
spec.applicationDatabase.security.tls.enabledImportante
spec.security.applicationDatabase.tls.enabledis deprecated and will be removed in a future release. To enable TLS, provide a value for thespec.security.applicationDatabase.certsSecretPrefixsetting.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 instances.
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
Condicional. Detalhes dos clusters de membros do Kubernetes selecionados em um cluster de váriosKubernetes em que você pretende distribuir instâncias MongoDB Ops Manager ou do Backup Daemon. Veja também o exemplo da especificação do recurso.
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
Optional. An override for
spec.clusterDomainfor the specific Ops Manager member cluster. If you omit this value, defaults to the value set inspec.clusterDomain. Kubernetes assigns each Pod a FQDN. The Kubernetes Operator calculates the FQDN for each Pod using a providedclusterDomainvalue. Kubernetes doesn't provide an API to query these hostnames.
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.The Kubernetes Operator creates a Kubernetes service, named
<om-name>-svc-ext, that allows traffic originating from outside of the Kubernetes cluster to reach the Ops Manager application on this member cluster.
If you omit this parameter, the Kubernetes Operator uses values from
spec.externalConnectivityfor this member cluster.
spec.clusterSpecList.statefulSet.specTipo: collection
Optional. Specification for the StatefulSet that the MongoDB Controllers for Kubernetes Operator creates for a specific member cluster in the multi-Kubernetes cluster Ops Manager deployment. This parameter is an override for
spec.statefulSet.spec. If you omit it, the Kubernetes Operator uses the values fromspec.statefulSet.spec. For example, you can use this parameter to specify different storage values for each of your Ops Manager clusters in the multi-Kubernetes cluster MongoDB deployment.To review which fields you can add to
spec.clusterSpecList.statefulSet.spec, see StatefulSetSpec v1 apps in the Kubernetes documentation.
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. Substituir 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 aos aplicativosspec.clusterSpecList[*].backup.statefulSet, consulte 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.
By default, each replica set member uses the Kubernetes Pod's FQDN (
*.svc.cluster.local) as the default hostname. However, if you add an external domain to this setting, the replica set uses a hostname that is a subdomain of the specified domain instead. This hostname uses the following format:<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.Um nó com um
memberConfig.priorityde0não está qualificado para se tornar o primary. Para saber mais, consulte Priority do nó.
spec.applicationDatabase.clusterSpecList.memberConfig.tagsTipo: mapa
Mapa de tags de conjuntos de réplicas para direcionar operações de leitura e escrita para nós específicos do seu conjunto de réplicas do Banco de Dados de Aplicativo.
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.