Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Especificação de recurso do Ops Manager

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.

Os exemplos a seguir mostram uma especificação de recurso para um sistema do Ops Manager:

1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: om
5spec:
6 topology: SingleCluster # optional, SingleCluster by default
7 opsManagerURL: https://link.to.configured.load-balancer.example.com # optional OM URL for the operator
8replicas: 1
9version: "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
1apiVersion: mongodb.com/v1
2kind: MongoDBOpsManager
3metadata:
4 name: om
5spec:
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
37replicas: 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

Esta seção descreve as configurações que você deve usar para todos os recursos do Ops Manager.

apiVersion

Tipo: string

Obrigatório. Versão do esquema de recursos do MongoDB Kubernetes.

kind

Tipo: string

Obrigatório. Tipo de recurso MongoDB Kubernetes para criar. Defina isso como MongoDBOpsManager.

metadata.name

Tipo: string

Obrigatório. Nome do recurso Kubernetes MongoDB que você está criando.

Os nomes de recursos devem ter 44 caracteres ou menos.

spec.version

Tipo: string

Obrigatório. Versão do Ops Manager que você deseja instalar nesse recurso do MongoDB Kubernetes.

spec.adminCredentials

Tipo: 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.replicas

Tipo: inteiro

Conditional. Number of Ops Manager instances to run in parallel. If you specify SingleCluster in spec.topology, this parameter is required. The mimimum accepted value is 1.

If you specify MultiCluster in spec.topology, this parameter is ignored.

Os recursos MongoDB Ops Manager também podem usar as seguintes configurações:

spec.backup.logging.LogBackAccessRef

Tipo: string

Referência a um ConfigMap que contém um arquivo logback-access.xml personalizado para configurar registros de backup MongoDB Ops Manager .

A chave no ConfigMap deve corresponder exatamente ao nome do logback-access.xml para 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.LogBackRef

Tipo: string

Referência a um ConfigMap que contém um arquivo logback.xml personalizado. 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.xml para 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.LogBackAccessRef

Tipo: string

Referência a um ConfigMap que contém um arquivo logback-access.xml personalizado para configurar registros MongoDB Ops Manager .

A chave no ConfigMap deve ser exatamente logback-access.xml para 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.LogBackRef

Tipo: string

Referência a um ConfigMap que contém um arquivo logback.xml personalizado. 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.xml para 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 emptyDir volume, consider overriding the emptyDir volume with a Persistent Volume to prevent pod crashes. To learn more, see spec.statefulSet.spec.template.spec.volumes.

spec.opsManagerURL

Tipo: 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.opsManagerURL with 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 the spec.opsManagerURL to directly connect to Ops Manager instances and to configure Ops Manager and Application Database deployments. The Kubernetes Operator doesn't use the spec.opsManagerURL to manage particular MongoDB databases.

Change the spec.opsManagerURL parameter 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.clusterDomain

Tipo: 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.clusterName

Importante

spec.clusterName está obsoleto

Use spec.clusterDomain em vez disso.

Tipo: 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.configuration

Tipo: 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.centralUrl a spec.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.verifyDownloads

Tipo: 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.queryable

Tipo: booleano

Defina como false para desativar os queryable backups.

spec.configuration.mms.featureFlag.backup.wt.queryable

Tipo: booleano

Defina como false para desativar os queryable backups ao usar o WiredTiger.

spec.configuration.mms.mongoDbUsage.defaultUsageType

Tipo: string

O tipo de servidor padrão do serviço Kubernetes.

Os valores aceitos são: PRODUCTION_SERVER, TEST_SERVER, DEV_SERVER e RAM_POOL.

spec.jvmParameters

Tipo: 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 -Xms and -Xmx values can cause issues with Ops Manager.

spec.security.certsSecretPrefix

Tipo: 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.ca

Nome do Kubernetes ConfigMap que contém um arquivo CA personalizado para o Ops Manager.

Importante

spec.security.tls.ca is 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.crt no 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.com to prevent Ops Manager from becoming inoperable if the application database restarts.

spec.security.tls.enabled

Importante

spec.security.tls.enabled is deprecated and will be removed in a future release. To enable TLS, provide a value for the spec.security.certsSecretPrefix setting.

Criptografa comunicações usando certificados TLS entre clientes e o Ops Manager.

spec.statefulSet.spec

Tipo: 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 aplicativos, consulte StatefulSetSpec v1 na documentação do Kubernetes.

spec.statefulSet.spec.template

Tipo: 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.metadata

Tipo: 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.spec

Tipo: 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.spec a 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.containers

Tipo: 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.cpu

Tipo: string

Capacidade mínima da CPU que deve estar disponível em um Kubernetes 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.cpu

Tipo: 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.memory

Tipo: string

Capacidade mínima de memória que deve estar disponível em um Kubernetes 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.memory

Tipo: 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.volumes

Tipo: 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 data do Kubernetes no Ops Manager StatefulSet.

O volume data Kubernetes utiliza um tipo emptyDir por padrão. Para substituí-lo e usar um Volume persistente, adicione a seguinte configuração ao seu recurso MongoDBOpsManager:

statefulSet:
spec:
template:
spec:
volumes:
- name: data
persistentVolumeClaim:
claimName: <my-pvc>

Replace <my-pvc> pelo nome do seu Kubernetes PersistentVolumeClaim.

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.externalConnectivity

Tipo: 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.type

Tipo: string

O serviço do Kubernetes ServiceType que expõe o Ops Manager fora do Kubernetes.

Required if spec.externalConnectivity.type is present.

Os valores aceitos são: LoadBalancer e NodePort. LoadBalancer é recomendado se o seu fornecedor de nuvem suportar. Utilize o NodePort para sistemas locais.

spec.externalConnectivity.port

Tipo: 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.type is NodePort:

    • 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.port value, 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.type is LoadBalancer:

    • 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.port meio8080 da8443 porta HTTP padrão () ou HTTPS ().

spec.externalConnectivity.loadBalancerIP

Tipo: string

O endereço IP que o serviço Kubernetes LoadBalancer usa quando o Operador Kubernetes o cria.

This setting can only be used if your cloud provider supports it and spec.externalConnectivity.type is LoadBalancer. To learn more about the Type LoadBalancer, see the Kubernetes documentation.

spec.externalConnectivity.externalTrafficPolicy

Tipo: 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: Cluster e Local. 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, o Source-IP dos seus clientes será perdido durante os saltos de rede que acontecem no limite de rede Kubernetes.

spec.externalConnectivity.annotations

Tipo: 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 .

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.assignmentLabels

Tipo: 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.enabled

Tipo: 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.encryption

Tipo: objeto

Objeto que contém as definições de configuração de criptografia de backup.

spec.backup.encryption.kmip

Tipo: 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.credentials must have the Global Owner role.

spec.backup.encryption.kmip.server

Tipo: objeto

objeto que contém as definições de configuração do servidor de criptografia de backup KMIP .

spec.backup.encryption.kmip.server.ca

Tipo: 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.url

Tipo: string

URL for the KMIP server that uses the hostname.port format (for example, 192.168.1.3:5696 or my-kmip-server.mycorp.com:5696).

spec.backup.headDB

Tipo: 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.

Escalar
Tipo de Dados
Descrição

labelSelector

string

Tag usada para vincular volumes montados a diretórios.

storage

string

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.

storageClass

string

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 reclaimPolicy to Retain. This ensures that data is retained when a Persistent Volume Claim is removed.

spec.backup.jvmParameters

Tipo: 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 -Xms and -Xmx values can cause issues with Ops Manager.

spec.backup.members

Tipo: 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.opLogStores

Tipo: 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.assignmentLabels

Tipo: 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.name

Tipo: 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.name

Tipo: string

Obrigatório se você ativar o Backup. Nome do recurso MongoDB ou do recurso MongoDBMultiCluster que 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 SCRAM no 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 name of the user in the Ops Manager resource definition.

Se um MongoDB database resource com este nome não existir, o recurso backup inserirá um estado Pending . 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 mongoUri e ssl na configuração do Ops Manager com base nas suas alterações.

spec.backup.opLogStores.mongodbUserRef.name

Tipo: 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.blockStores

Tipo: 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.assignmentLabels

Tipo: 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.name

Tipo: 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.name

Tipo: 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 SCRAM no 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 name of the user in the Ops Manager resource definition.

Se um MongoDB database resource com este nome não existir, o recurso backup inserirá um estado Pending . 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 mongoUri e ssl na configuração do Ops Manager com base nas suas alterações.

spec.backup.blockStores.mongodbUserRef.name

Tipo: 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.name

Tipo: 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.spec

Tipo: 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.template

Tipo: 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.metadata

Tipo: 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.spec

Tipo: 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.spec a 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.containers

Tipo: 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 name field, 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.cpu

Tipo: string

Capacidade mínima da CPU que deve estar disponível em um 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.cpu

Tipo: 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.memory

Tipo: string

Capacidade mínima de memória que deve estar disponível em um 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 que 4.5Gi podem 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.memory

Tipo: 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.

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-pem referenced in the ConfigMap.

  • Para utilizar TLS para S3 somente, não defina spec.security.applicationDatabase.certsSecretPrefix em seu ConfigMap.

spec.backup.s3OpLogStores.assignmentLabels

Tipo: 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.customCertificate

Tipo: booleano

Deprecated. Use spec.backup.s3OpLogStores.customCertificateSecretRefs instead.

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.customCertificateSecretRefs

Tipo : 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á o spec.applicationDatabase.security.tls.ca como certificado personalizado para backups.

Each entry in the list specifies the name and the key. 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.name

Tipo: string

Necessário para usar certificados personalizados para seu armazenamento de3 oplog S. Segredo do Kubernetes que contém o certificado personalizado.

spec.configuration.mms.mongoDbUsage.defaultUsageType

Tipo: string

O tipo de servidor padrão do serviço Kubernetes.

spec.backup.s3OpLogStores.customCertificateSecretRefs.key

Tipo: 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.irsaEnabled

Tipo: 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 como False, 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.name

Tipo: string

Necessário para armazenar o oplog usando um armazenamento S3. Nome do armazenamento de oplog S3.

spec.backup.s3OpLogStores.mongodbResourceRef.name

Tipo: 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.name setting. The Kubernetes Operator handles SCRAM user authentication internally.

Se você habilitar a autenticação do SCRAM neste reconhecimento de data center, você deverá:

  • Crie um recurso de usuário MongoDB para conectar o Ops Manager ao banco de dados.

  • Specify the name of the user in the Ops Manager resource definition.

spec.backup.s3OpLogStores.mongodbUserRef.name

Tipo: 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.name

Tipo: string

Necessário para armazenar o oplog utilizando um armazenamento S3 se spec.backup.s3OpLogStores.irsaEnabled não estiver configurado para true.

Nome do segredo que contém os campos accessKey e secretKey. 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.irsaEnabled para true, você não precisará configurar o s3SecretRef, pois as credenciais do Amazon Web Services S3 são montadas como variáveis de ambiente do pod.

spec.backup.s3OpLogStores.pathStyleAccessEnabled

Tipo: booleano

Indica o estilo da URL do endpoint do bucket.

Valor
Descrição
Exemplo

true

URL no estilo de caminho

s3.amazonaws.com/<bucket>

false

URL no estilo de host virtual

<bucket>.s3.amazonaws.com

Para 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.s3BucketEndpoint

Tipo: 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 s3RegionOverride field.

spec.backup.s3OpLogStores.s3BucketName

Tipo: 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.s3RegionOverride

Tipo: string

Região onde reside seu bucket compatível com S3. Use esse campo somente se o s3BucketEndpoint do 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.assignmentLabels

Tipo: 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.customCertificate

Tipo: booleano

Deprecated. Use spec.backup.s3Stores.customCertificateSecretRefs instead.

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.customCertificateSecretRefs

Tipo : 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á o spec.applicationDatabase.security.tls.ca como certificado personalizado para backups.

Each entry in the list specifies the name and the key. 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.name

Tipo: string

Required to use custom certificates for your S3 oplog store. Kubernetes secret that contains the custom certificate.

spec.backup.s3Stores.customCertificateSecretRefs.key

Tipo: 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.irsaEnabled

Tipo: 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 como False, 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.name

Tipo: 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.name

Tipo: string

Nome do recurso MongoDB ou recurso MongoDBMultiCluster que 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.name setting. The Kubernetes Operator handles SCRAM user authentication internally.

Se você habilitar a autenticação do SCRAM neste reconhecimento de data center, você deverá:

  • Crie um recurso de usuário MongoDB para conectar o Ops Manager ao banco de dados.

  • Specify the name of 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 backup inserirá um estado Pending . 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 mongoUri e ssl na configuração do Ops Manager com base nas suas alterações.

spec.backup.s3Stores.mongodbUserRef.name

Tipo: 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.name

Tipo: string

Obrigatório se você habilitar o backup usando um armazenamento S3 e não definir spec.backup.s3Stores.irsaEnabled como true.

Nome do segredo que contém os campos accessKey e secretKey. 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.irsaEnabled para true, você não precisará configurar o s3SecretRef, pois as credenciais do Amazon Web Services S3 são montadas como variáveis de ambiente do pod.

spec.backup.s3Stores.pathStyleAccessEnabled

Tipo: booleano

Indica o estilo da URL do endpoint do bucket.

Valor
Descrição
Exemplo

true

URL no estilo de caminho

s3.amazonaws.com/<bucket>

false

URL no estilo de host virtual

<bucket>.s3.amazonaws.com

O valor padrão é true.

spec.backup.s3Stores.s3BucketEndpoint

Tipo: 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 s3RegionOverride field.

spec.backup.s3Stores.s3BucketName

Tipo: 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.s3RegionOverride

Tipo: string

Região onde reside seu bucket compatível com S3. Use esse campo somente se o s3BucketEndpoint da 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.

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.version

Tipo: 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 20as tags não terminam mais -ent em.

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 featureCompatibilityVersion parameter under spec.applicationDatabase.

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.applicationDatabase

Tipo: 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.logLevel

Tipo: string

Padrão: INFO

Configura o nível de registro do agente de automação dentro do Pod. Os valores aceitos incluem:

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

spec.applicationDatabase.agent.<component>.logRotate

Tipo: objeto

Substitua o componente por um dos seguintes valores:

  • mongod

  • monitoringAgent

MongoDB configuration object for rotating the MongoDB logs of a process. To use the agent.<component>.logRotate settings, you must set systemLog.destination to file because you can't use the agent.<component>.logRotate settings 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 emptyDir volume, consider overriding the emptyDir volume with a Persistent Volume to prevent pod crashes. To learn more, see spec.statefulSet.spec.template.spec.volumes.

spec.applicationDatabase.agent.mongod.logRotate.numTotal

Tipo: inteiro

Padrão: 0

Total number of log files that Ops Manager retains. If you don't change the default, Ops Manager bases rotation on your other agent.<compenet>.logRotate settings.

spec.applicationDatabase.agent.mongod.logRotate.numUncompressed

Tipo: inteiro

Padrão: 5

Número máximo de arquivos de log totais para deixar descompactados, incluindo o arquivo de log atual.

spec.applicationDatabase.agent.mongod.logRotate.percentOfDiskspace

Tipo: número

Padrão: 0.02

Porcentagem 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.sizeThresholdMB

Tipo: número

Substitua o componente por um dos seguintes valores:

  • mongod

  • monitoringAgent

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 sizeThresholdMB or the logRotate.timeThresholdHrs limit.

spec.applicationDatabase.agent.<component>.logRotate.timeThresholdHrs

Tipo: inteiro

Substitua o componente por um dos seguintes valores:

  • mongod

  • monitoringAgent

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 timeThresholdHrs or the logRotate.sizeThresholdM limit.

spec.applicationDatabase.agent.mongod.auditlogRotate

Tipo: objeto

objeto de configuração MongoDB para girar os registros de auditar MongoDB de um processo.

spec.applicationDatabase.agent.mongod.auditlogRotate.numTotal

Tipo: inteiro

Padrão: 0

Total 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.auditlogRotate settings.

spec.applicationDatabase.agent.mongod.auditlogRotate.numUncompressed

Tipo: inteiro

Padrão: 5

Nú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.percentOfDiskspace

Tipo: número

Padrão: 0.02

Porcentagem 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.sizeThresholdMB

Tipo: 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 sizeThresholdMB or the auditlogRotate.timeThresholdHrs limit.

spec.applicationDatabase.agent.mongod.auditlogRotate.timeThresholdHrs

Tipo: 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 timeThresholdHrs or the auditlogRotate.sizeThresholdM limit.

spec.applicationDatabase.agent.startupOptions

Tipo: 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.systemLog

Tipo: objeto

Objeto de configuração do MongoDB para configurar as opções do systemLog .

spec.applicationDatabase.agent.systemLog.path

Tipo: string

Padrão: /var/log/mongodb-mms-automation/mongodb.log

The path of the log file to which mongod or mongos should 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.path mude dos padrões. Se você usar o pacote Linux e alterar systemLog.path, terá que usar seu próprio script de inicialização e desabilitar os scripts integrados.

spec.applicationDatabase.agent.systemLog.logAppend

Tipo: booleano

Padrão: false

When true, mongos or mongod appends new entries to the end of the existing log file when the mongos or mongod instance restarts. Without this option, mongod will back up the existing log and create a new file.

spec.applicationDatabase.agent.systemLog.destination

Tipo: string

The destination to which MongoDB sends all log output. Specify either file or syslog. If you specify file, you must also specify systemLog.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 file para sistemas de produção para garantir carimbos de data/hora precisos.

spec.applicationDatabase.externalAccess

Tipo: 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:

Campo
Valor
Descrição

Name

<pod-name>-svc-external

Nome do serviço externo. Não é possível alterar este valor.

Type

LoadBalancer

Cria um serviço LoadBalancer externo.

Port

<Port Number>

A port for mongod.

publishNotReadyAddress

true

Specifies that DNS records are created even if the Pod isn't ready. Do not set to false for any database Pod.

spec.externalAccess.externalService

Tipo: 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.annotations

Tipo: 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.

Valor
Descrição

{resourceName}

{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.externalDomain if specified. Otherwise, equal to the domain used for the mongod process FQDN.

Por exemplo, para o nome de host do processo mdb-rs-1.example.com, example.com é o nome do domínio.

{mongodProcessFQDN}

The mongod process 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 domains formato:

{resourceName}-{podIndex}.{mongodProcessDomain}

Por exemplo: mdb-rs-1.example.com

Se 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.local

Por exemplo: mdb-rs-1.mdb-rs-1-svc.ns.svc.cluster.local

Observaçã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.spec

Tipo: collection

Configuration for the ServiceSpec. To learn more, see spec.externalAccess.externalService.

spec.applicationDatabase.memberConfig

Tipo : 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.topology to MultiCluster, use spec.applicationDatabase.clusterSpecList.memberConfig instead of spec.applicationDatabase.memberConfig. In a multi-cluster Ops Manager deployment, the Kubernetes Operator ignores all parameters under spec.applicationDatabase.memberConfig.

O número de elementos na lista memberConfig deve ser igual a spec.applicationDatabase.members.

A ordem dos elementos na lista memberConfig deve refletir a ordem dos nós no conjunto de réplicas. Por exemplo, o primeiro elemento da array afeta o Pod no índice 0, o segundo elemento afeta o índice 1, 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.priority

Tipo: 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 priority mais alto.

  • Para diminuir a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de priority mais baixo.

Por exemplo, um nó com uma memberConfig.priority de 1.5 tem mais probabilidade do que um nó com uma memberConfig.priority de 0.5 de se tornar o primary.

Um nó com um memberConfig.priority de 0 não está qualificado para se tornar o primary. Para saber mais, consulte Priority do nó.

spec.applicationDatabase.memberConfig.tags

Tipo: 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.votes

Tipo: número

Determines whether an Application Database replica set member can vote in an election. Set to 1 to allow the member to vote. Set to 0 to exclude the member from an election.

spec.applicationDatabase.passwordSecretKeyRef.name

Tipo: 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.key

Tipo: 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.certsSecretPrefix

Tipo: 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.ca

Tipo: string

Nome do Kubernetes ConfigMap contendo o arquivo CA para o Banco de Dados do Aplicativo.

Importante

spec.applicationDatabase.security.tls.ca is 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-pem no ConfigMap.

A CA especificada nesta seção também é usada para configurar certificados TLS personalizados para armazenamento S3 quando spec.backup.s3OpLogStores.customCertificate ou spec.backup.s3Stores.customCertificate estiver definido como true.

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.com to prevent Ops Manager from becoming inoperable if the application database restarts.

spec.applicationDatabase.security.tls.enabled

Importante

spec.security.applicationDatabase.tls.enabled is deprecated and will be removed in a future release. To enable TLS, provide a value for the spec.security.applicationDatabase.certsSecretPrefix setting.

Criptografa comunicações usando certificados TLS entre o MongoDB Ops Manager e o aplicativo de banco de dados.

As seguintes configurações se aplicam quando você usa Prometheus com seu aplicativo de banco de dados:

spec.applicationDatabase.prometheus

Tipo: array

Opcional. Lista que contém os parâmetros para expor métricas ao Prometheus.

spec.applicationDatabase.prometheus.metricsPath

Tipo: 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.passwordSecretRef

Tipo: 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.key

Tipo: 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.name

Tipo: 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.port

Tipo: 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.tlseSecretKeyRef

Tipo: objeto

Opcional. Objeto que contém os detalhes do segredo para a autenticação TLS .

spec.applicationDatabase.prometheus.tlseSecretKeyRef.key

Tipo: 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.name

Tipo: 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.

spec.applicationDatabase.prometheus.username

Tipo: string

Condicional. Etiqueta legível que identifica o usuário para autenticação HTTP básica. Se você deseja usar o Prometheus com seu banco de dados do aplicativo, especifique esta configuração.

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.members

Tipo: inteiro

Conditional. The number of Ops Manager members in the Ops Manager cluster in a multi-Kubernetes cluster MongoDB deployment. When you set spec.topology to MultiCluster, 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.topology

Tipo: string

O tipo de sistema do Kubernetes para o recurso do MongoDB Ops Manager .

  • Os valores são SingleCluster ou MultiCluster. Se omitido, o valor padrão é SingleCluster.

  • Se você especificar MultiCluster:

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.clusterSpecList

Tipo: 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.

spec.clusterSpecList.clusterName

Tipo: 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.clusterDomain

Tipo: string

Optional. An override for spec.clusterDomain for the specific Ops Manager member cluster. If you omit this value, defaults to the value set in spec.clusterDomain. Kubernetes assigns each Pod a FQDN. The Kubernetes Operator calculates the FQDN for each Pod using a provided clusterDomain value. Kubernetes doesn't provide an API to query these hostnames.

spec.clusterSpecList.configuration

Tipo: collection

Optional. Ops Manager configuration properties that override properties you set in spec.configuration for the specific cluster. See Ops Manager Configuration Settings for property names and descriptions. Each property takes a value of type string. 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.jvmParameters

Tipo: array de strings

Opcional. Parâmetros JVM passados para o MongoDB Ops Manager e instâncias do Backup Daemon para esse cluster de membros.

spec.clusterSpecList.externalConnectivity

Tipo: collection

Optional. Configuration object that enables external connectivity to Ops Manager for the specific cluster. This is an override for spec.externalConnectivity for 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.externalConnectivity values 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.externalConnectivity for this member cluster.

spec.clusterSpecList.statefulSet.spec

Tipo: 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 from spec.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[*].backup

Opcional. Configurações de backup que substituem valores especificados em spec.backup para esse cluster de membros específico.

  • You can set these values only if spec.backup.enabled is set to true.

  • 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:

    • externalServiceEnabled

    • headDB

    • opLogStores

    • blockStores

    • s3Stores

    • fileSystemStores

    • queryableBackupSecretRef

    • encryption

spec.clusterSpecList[*].backup.members

Tipo: 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 of 0, the Kubernetes Operator won't deploy Backup Daemon instances in a particular member cluster.

spec.clusterSpecList[*].backup.assignmentLabels

Tipo: 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 in spec.backup.assignmentLabels for all Backup Daemon instances in a member cluster.

spec.clusterSpecList[*].backup.jvmParameters

Tipo: 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.statefulSet

Tipo: string

Opcional. Substituir porspec.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.

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.clusterSpecList

Tipo: 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.clusterName

Tipo: 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 topology and the clusterSpecList settings in the CRD.

spec.applicationDatabase.clusterSpecList.members

Tipo: 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.topology

Tipo: string

O tipo do sistema Kubernetes para o Banco de Dados de Aplicativo.

  • Os valores são SingleCluster ou MultiCluster. Se omitido, o valor padrão é SingleCluster.

  • Se você especificar MultiCluster, deverá especificar pelo menos um membro

  • cluster on which you want to deploy the Application Database using the clusterSpecList, clusterName, members parameters.

  • Se você especificar MultiCluster, o Operador Kubernetes ignorará valores que você configurou para o campo spec.applicationDatabase.members .

Para saber mais, consulte o exemplo da especificação de recursos de vários clusters.

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.externalAccess

Tipo: 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.com

Importante

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.memberConfig

Tipo: 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.topology to SingleCluster, use spec.applicationDatabase.memberConfig instead of spec.applicationDatabase.clusterSpecList.memberConfig.

The number of elements in the memberConfig list must equal spec.applicationDatabase.clusterSpecList.members.

A ordem dos elementos na lista memberConfig deve refletir a ordem dos nós no conjunto de réplicas. Por exemplo, o primeiro elemento da array afeta o Pod no índice 0, o segundo elemento afeta o índice 1, 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.priority

Tipo: 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 priority mais alto.

  • Para diminuir a probabilidade relativa de que um nó do conjunto de réplicas se torne o primary, especifique um valor de priority mais baixo.

Por exemplo, um nó com uma memberConfig.priority de 1.5 tem mais probabilidade do que um nó com uma memberConfig.priority de 0.5 de se tornar o primary.

Um nó com um memberConfig.priority de 0 não está qualificado para se tornar o primary. Para saber mais, consulte Priority do nó.

spec.applicationDatabase.clusterSpecList.memberConfig.tags

Tipo: 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.votes

Tipo: número

Determines whether an Application Database replica set member can vote in an election. Set to 1 to allow the member to vote. Set to 0 to exclude the member from an election.