Menu Docs
Página inicial do Docs
/
Operador de Kubernetes do MongoDB Enterprise
/

Especificação de recurso do Ops Manager

Nesta página

  • Exemplos
  • Configurações necessárias MongoDB Ops Manager
  • Configurações opcionais MongoDB Ops Manager
  • Configurações de conectividade externa
  • Configurações de backup
  • Configurações do S3
  • Configurações necessárias do banco de dados do aplicativo
  • Configurações opcionais do banco de dados do aplicativo
  • Configurações do Prometheus
  • Configurações de vários clusters
  • Configurações necessárias MongoDB Ops Manager
  • Configurações opcionais MongoDB Ops Manager
  • Configurações necessárias do banco de dados do aplicativo

O MongoDB Enterprise Kubernetes Operator cria um sistema do Ops Manager em contêiner a partir de arquivos de especificação que você grava.

Depois de criar ou atualizar uma especificação de recurso do Ops Manager, você direciona o MongoDB Enterprise Kubernetes Operator a aplicar essa especificação ao seu ambiente Kubernetes. O Kubernetes Operator cria os serviços e os recursos personalizados do Kubernetes exigidos pelo Ops Manager e, em seguida, distribui o Ops Manager e seu banco de dados de aplicativo de apoio em container em seu ambiente Kubernetes.

Cada MongoDB Ops Manager recurso usa um objeto especificação 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: "6.0.18"
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: "6.0.5-ubi8"
58 security:
59 tls:
60 ca: issuer-ca
61 secretRef:
62 prefix: appdb
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: "6.0.18"
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: "6.0.5-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 tls:
95 ca: issuer-ca
96 secretRef:
97 prefix: appdb

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 secreto. As implantações em vários clusters do Kubernetes não oferecem suporte ao armazenamento de segredos em ferramentas de armazenamento de segredos, como o HashiCorp Vault.

O usuário administrador recebe a função Proprietário global .

spec.replicas

Tipo: inteiro

Condicional. Número de instâncias do MongoDB Ops Manager a serem executadas em paralelo. Se você especificar SingleCluster em spec.topology, este parâmetro será obrigatório. O valor mínimo aceito é 1.

Se você especificar MultiCluster em spec.topology, este parâmetro será ignorado.

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

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

Não confunda o spec.opsManagerURL com a URL que você especifica em um ConfigMap para uma implantação específica para configurar implantações do MongoDB e Agentes de monitoramento para o Banco de Dados do Aplicativo. O Operador Kubernetes requer o spec.opsManagerURL para se conectar diretamente às instâncias MongoDB Ops Manager e configurar os MongoDB Ops Manager e do Banco de Dados de Aplicativos. O Operador Kubernetes não utiliza o spec.opsManagerURL para gerenciar bancos de dados MongoDB específicos.

Altere o parâmetro spec.opsManagerURL para uma URL personalizada nos seguintes casos:

  • 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

O Kubernetes atribui a cada Pod um FQDN . O clusterDomainoperador Kubernetes calcula o FQDN para cada Pod usando um fornecido . O Kubernetes não fornece uma API para consultar esses nomes de host.

spec.clusterName

Importante

spec.clusterName está obsoleto

Use spec.clusterDomain em vez disso.

Tipo: string

O Kubernetes atribui a cada Pod um FQDN . O clusterNameoperador Kubernetes calcula o FQDN para cada Pod usando um fornecido . O Kubernetes não fornece uma API para consultar esses nomes de host.

spec.configuration

Tipo: collection

Propriedades de configuração MongoDB Ops Manager . Consulte Definições de configuraçãoMongoDB Ops Manager para obter nomes e descrições de propriedades. Cada propriedade obtém um valor do tipo 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

O Kubernetes Operator calcula seus valores de heap de memória JVM da aplicação Ops Manager com base na memória do container. Alterar os valores -Xms e -Xmx pode causar problemas com o 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 MongoDB Ops Manager o .

Importante

spec.security.tls.ca é necessário se você usar uma CA customizada para assinar seus MongoDB Ops Manager certificados TLS .

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

  • agentes nos Pods do banco de dados de aplicativos use para se comunicar com MongoDB Ops Manager o .

Aviso

Você deve concatenar seu arquivo CA personalizado e toda a cadeia de certificados TLS do downloads.mongodb.com para evitar que o Ops Manager se torne inoperável se o reconhecimento de data center da aplicação for reiniciado.

spec.security.tls.enabled

Importante

spec.security.tls.enabled está obsoleto e será removido em uma versão futura. Para habilitar o TLS, forneça um valor para a configuração spec.security.certsSecretPrefix .

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

spec.statefulSet.spec

Tipo: collection

Especificação do StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o MongoDB Ops Manager.

Para revisar quais campos você pode adicionar a spec.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.

spec.statefulSet.spec.template

Tipo: collection

Modelo para os Kubernetes Pods no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o MongoDB Ops Manager.

Observação

O Kubernetes Operator não valida os campos que você fornece no spec.statefulSet.spec.template.

spec.statefulSet.spec.template.metadata

Tipo: collection

Metadados para os Kubernetes Pods no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o MongoDB Ops Manager.

Para revisar quais campos você pode adicionar a , consulte a spec.statefulSet.spec.template.metadata documentaçãodo Kubernetes.

spec.statefulSet.spec.template.spec

Tipo: collection

Especificações dos Kubernetes Pods no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o MongoDB Ops Manager.

Para revisar a lista completa de campos que você pode adicionar a , consulte a spec.statefulSet.spec.template.spec documentaçãodo Kubernetes.

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 Enterprise Kubernetes Operator implementa:

statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-ops-manager
resources:
requests:
cpu: "0.70"
memory: "6Gi"
limits:
cpu: "1"
memory: "7000M"
spec.statefulSet.spec.template.spec.containers

Tipo: collection

Lista de contêineres que pertencem aos Kubernetes Pods MongoDB Enterprise Kubernetes Operator MongoDB Ops Managerdo no StatefulSet que o cria para o .

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.

O valor solicitado deve ser menor ou igual a spec.statefulSet.spec.template.spec.containers.resources.limits.cpu.

spec.statefulSet.spec.template.spec.containers.resources.limits.cpu

Tipo: string

Capacidade máxima da CPU para o sendo criado para hospedar o MongoDB Ops Manager. Se omitido, esse valor é definido como 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.

O valor solicitado deve ser menor ou igual a spec.statefulSet.spec.template.spec.containers.resources.limits.memory.

spec.statefulSet.spec.template.spec.containers.resources.limits.memory

Tipo: string

Capacidade máxima de memória para o sendo criado para hospedar o MongoDB Ops Manager. Se omitido, esse valor é definido como spec.statefulSet.spec.template.spec.containers.resources.requests.memory.

O Operador Kubernetes calcula e define parâmetros para o tamanho de heap Java baseado na memória do container.

Aviso

Limite este valor para menos de 32 GB

Definir esse valor para um valor superior a 32 GB (32Gi) pode causar problemas com o serviço de backup. O excesso de heaps pode causar resultados imprevisíveis no Ops Manager.

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 Kubernetes serviço do ServiceType que expõe o MongoDB Ops Manager fora do Kubernetes.

Obrigatório se spec.externalConnectivity.type estiver presente.

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.

  • Se spec.externalConnectivity.type for NodePort:

    • O serviço do Kubernetes expõe o aplicativo Ops Manager ao tráfego externo por meio dessa porta.

    • Se você não fornecer um valor spec.externalConnectivity.port , o serviço do Kubernetes o tráfego para o aplicativo MongoDB Ops Manager a partir de uma porta disponível selecionada aleatoriamente a partir do seguinte intervalo padrão: 30000-32767.

      Observação

      Você deve configurar o firewall da sua rede para permitir o tráfego por esta porta.

  • Se spec.externalConnectivity.type for 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 despec.externalConnectivity.port , o serviço do Kubernetes expõe o aplicativo MongoDB Ops Manager ao tráfego externo por meio da porta HTTP (8080) ou HTTPS (8443) padrão.

spec.externalConnectivity.loadBalancerIP

Tipo: string

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

Essa configuração só pode ser usada se o seu provedor de nuvem suportar e spec.externalConnectivity.type for LoadBalancer. Para saber mais sobre o Type LoadBalancer, consulte a documentação do Kubernetes.

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

Se você definir este parâmetro, a chave de API vinculada ao valor de spec.credentials deverá ter o role Global Owner .

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

Etiqueta legível por humanos que identifica o ConfigMap que contém uma entrada para o certificado CA ( ca.pem ) para usar para autenticação KMIP .

spec.backup.encryption.kmip.server.url

Tipo: string

URL do servidor KMIP que usa o formato hostname.port (por exemplo, 192.168.1.3:5696 ou 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.

Certifique-se de definir a StorageClass para reclaimPolicy Reter. Isso garante que os dados sejam mantidos quando uma declaração de volume persistente é removido.

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

O Kubernetes Operator calcula os valores de heap de memória JVM do serviço de backup com base na memória do container. Alterar os valores -Xms e -Xmx pode causar problemas com o Ops Manager.

spec.backup.members

Tipo: inteiro

Opcional. Número de serviços de daemon de backup a serem implementados no Kubernetes. Se não for especificado, o padrão será 1. Para garantir alta disponibilidade para seu serviço de backup, implemente vários daemons de backup no MongoDB 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.

  • Especifique o name do usuário na definição de recurso do MongoDB Ops Manager .

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.

  • Especifique o name do usuário na definição de recurso do MongoDB Ops Manager .

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 MongoDB Enterprise Kubernetes Operator cria para o serviço de backup daemon.

Para revisar quais campos você pode adicionar a spec.backup.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.

spec.backup.statefulSet.spec.template

Tipo: collection

Modelo para os Pods Kubernetes no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o serviço de backup daemon.

Observação

O Kubernetes Operator não valida os campos que você fornece no spec.backup.statefulSet.spec.template.

spec.backup.statefulSet.spec.template.metadata

Tipo: collection

Metadados para os Pods Kubernetes no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o serviço de backup daemon.

Para revisar quais campos você pode adicionar a , consulte a spec.backup.statefulSet.spec.template.metadata documentaçãodo Kubernetes.

spec.backup.statefulSet.spec.template.spec

Tipo: collection

Especificações dos Pods Kubernetes no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o serviço de backup daemon.

Para revisar a lista completa de campos que você pode adicionar a , consulte a spec.backup.statefulSet.spec.template.spec documentaçãodo Kubernetes.

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 daemon de backup que o MongoDB Enterprise Kubernetes Operator implementa:

statefulSet:
spec:
template:
spec:
containers:
- name: mongodb-backup-daemon
resources:
requests:
cpu: "0.50"
memory: "4500M"
limits:
cpu: "1"
memory: "6000M"
spec.backup.statefulSet.spec.template.spec.containers

Tipo: collection

Lista de contêineres que pertencem aos Pods do Kubernetes no StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para o serviço de backup daemon.

Para modificar as especificações do container de serviço do daemon de backup , você deve fornecer o nome exato do container usando o campo name , conforme mostrado no exemplo a seguir:

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 de daemon de backup.

O valor solicitado deve ser menor ou igual a spec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpu.

spec.backup.statefulSet.spec.template.spec.containers.resources.limits.cpu

Tipo: string

Capacidade máxima da CPU para o sendo criado para hospedar o serviço de daemon de backup . Se omitido, este valor é definido como spec.backup.statefulSet.spec.template.spec.containers.resources.requests.cpu.

spec.backup.statefulSet.spec.template.spec.containers.resources.requests.memory

Tipo: string

Capacidade mínima de memória que deve estar disponível em um do Kubernetes para hospedar o serviço de 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.

O valor solicitado deve ser menor ou igual a spec.backup.statefulSet.spec.template.spec.containers.resources.limits.memory.

spec.backup.statefulSet.spec.template.spec.containers.resources.limits.memory

Tipo: string

Capacidade máxima de memória para o sendo criado para hospedar o serviço de daemon de backup . Se omitido, este valor é definido como spec.backup.statefulSet.spec.template.spec.containers.resources.requests.memory.

O Operador Kubernetes calcula e define parâmetros para o tamanho de heap Java baseado na memória do container.

Aviso

Limite este valor para menos de 32 GB

Definir esse valor para um valor superior a 32 GB (32Gi) pode causar problemas com o serviço de backup. O excesso de heaps pode causar resultados imprevisíveis no Ops Manager.

Você pode configurar o Ops Manager para usar o S3 para armazenar oplogs e snapshots de backup, e conectar conexões seguras ao S3 com TLS usando chaves emitidas por CA personalizadas.

Para configurar chaves CA personalizadas, use o ConfigMap com o qual você configurou o TLS para seu banco de dados do aplicativo, conforme descrito na aba TLS-Encrypted Connection (HTTPS) de Implantar um Recurso MongoDB Ops Manager . Defina spec.applicationDatabase.security.tls.ca como este ConfigMap.

Você pode usar o TLS para o S3 e o banco de dados de aplicativo, ou apenas para o S3 .

  • Para usar TLS para ambos, obtenha certificados para ambos os fins do mesmo ca-pem referenciado no ConfigMap.

  • Para usar TLS apenas para S3 , não defina spec.security.applicationDatabase.certsSecretPrefix no seu ConfigMap.

spec.backup.s3OpLogStores.assignmentLabels

Tipo: array de strings

Uma lista de rótulos de atribuição para armazenamentos de oplog S3 . Use rótulos de atribuição para identificar se armazenamentos de oplog S3 específicos estão associados a projetos específicos. Se você definir rótulos de atribuição usando o operador Kubernetes , os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do 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.s3OpLogStores.customCertificate

Tipo: booleano

Obsoleto. Em vez disso, use spec.backup.s3OpLogStores.customCertificateSecretRefs .

Sinalizador que indica se você usa certificados AppDB (appdb-ca) como certificado TLS personalizado para seu armazenamento de oplog do 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 . 64O -codificado x básico.509 certificado já deve estar presente em um segredo do Kubernetes com uma chave e deve ser analisável 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 o certificado personalizado para backups.

Cada entrada na lista especifica o name e o key. Se você especificar vários segredos, o Kubernetes Operator usará todos os certificados nos segredos especificados.

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 de oplog S3 . 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 o64x codificado509 base. Certificado . Se você não especificar essa configuração, o Kubernetes Operator não poderá utilizar o certificado personalizado para backups de armazenamento de oplog do S3 .

spec.backup.s3OpLogStores.irsaEnabled

Tipo: booleano

Sinalizador que permite usar funções do Amazon Web Services IAM para contas de serviço no Amazon Web Services EKS para configurar um armazenamento de S3 oplog . O padrão é False. Se você não estiver usando o Amazon Web Services EKS, esse sinalizador não terá efeito. Quando definido como False, o uso de roles do Amazon Web Services IAM para contas de serviço no EKS para configurar um armazenamento de S3 oplog é 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 utilizando um armazenamento S3 . Nome do armazenamento de oplog S3 .

spec.backup.s3OpLogStores.mongodbResourceRef.name

Tipo: string

Nome do recurso de MongoDB database que você cria para armazenar metadados para o oplog do S3 . Você deve implantar este recurso de reconhecimento de data center no mesmo namespace que o recurso Ops Manager.

Observação

Omita essa configuração para usar o banco de dados de aplicativo para armazenar metadados para o armazenamento de oplog do S3 .

Se você omitir esta configuração, você também deverá omitir a configuração spec.backup.s3OpLogStores.mongodbUserRef.name . O Operador Kubernetes lida com a autenticação do usuário SCRAM internamente.

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.

  • Especifique o name do usuário na definição de recurso do MongoDB Ops Manager .

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 de dados. Nome do recurso de usuário MongoDB usado para se conectar ao banco de banco de dados de metadados do armazenamento de oplog S3 . Implemente este recurso de usuário no mesmo namespace que o recurso MongoDB 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 oplog de metadados do S3 .

spec.backup.s3OpLogStores.s3SecretRef.name

Tipo: string

Necessário para armazenar o oplog utilizando um armazenamento S3 . 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 o bucket compatível com o Amazon Web Services S3 ou S3 . Para configurar o armazenamento de oplog S3 , você deve especificar ambas as chaves no segredo.

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 Kubernetes documentação do .

O valor padrão é true.

spec.backup.s3OpLogStores.s3BucketEndpoint

Tipo: string

Necessário para armazenar o oplog utilizando um armazenamento S3 . URL do bucket S3 da Amazon Web3Services ou bucket compatível com S que hospeda o armazenamento oplog de .

Observação

Se o seu endpoint não incluir uma região em seu URL, especifique o campo s3RegionOverride .

spec.backup.s3OpLogStores.s3BucketName

Tipo: string

Necessário para armazenar o oplog utilizando um armazenamento S3 . Nome do bucket S3 da Amazon Web Services ou 3bucket compatível com S que hospeda o armazenamento oplog de .

spec.backup.s3OpLogStores.s3RegionOverride

Tipo: string

Região onde reside seu bucket compatível com S3 . Use esse campo somente se os3BucketEndpointdo seu armazenamento de oplog S3 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 do Amazon Web Services S3 . Para obter mais informações, consulte Configuração do Blockstore 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 se armazenamentos S3 específicos estão associados a projetos específicos. Se você definir rótulos de atribuição usando o operador Kubernetes , os valores definidos no arquivo de configuração do Kubernetes para rótulos de atribuição substituirão os valores definidos na UI do 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.s3Stores.customCertificate

Tipo: booleano

Obsoleto. Em vez disso, use spec.backup.s3Stores.customCertificateSecretRefs .

Sinalizador que indica se você usa certificados do banco de dados de aplicativos (appdb-ca) como certificado TLS personalizado para seus backups do 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 . 64O -codificado x básico.509 certificado já deve estar presente em um segredo do Kubernetes com uma chave e deve ser analisável 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 o certificado personalizado para backups.

Cada entrada na lista especifica o name e o key. Se você especificar vários segredos, o Kubernetes Operator utilizará todos os segredos especificados.

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

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

spec.backup.s3Stores.customCertificateSecretRefs.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 o64x codificado509 base. Certificado . Se você não especificar essa configuração, Kubernetes Operator não poderá utilizar o certificado personalizado para o armazenamento de snapshots do S3 e padronizará para o armazenamento de confiança JVM {Java Virtual Machine) padrão usado pelo MongoDB Ops Manager.

spec.backup.s3Stores.irsaEnabled

Tipo: booleano

Sinalizador que permite usar funções do Amazon Web Services IAM para contas de serviço no Amazon Web Services EKS para configurar um armazenamento de snapshots do S .3 O padrão é False. Se você não estiver usando o Amazon Web Services EKS, esse sinalizador não terá efeito. Quando definido como False, o uso de roles do Amazon Web Services 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 utilizando 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 este recurso de reconhecimento de data center no mesmo namespace que o recurso Ops Manager.

Observação

Omitir essa configuração para usar o reconhecimento de data center da aplicação para armazenar metadados para o armazenamento de snapshots do S3 .

Se você omitir esta configuração, você também deverá omitir a configuração spec.backup.s3Stores.mongodbUserRef.name . O Operador Kubernetes lida com a autenticação do usuário SCRAM internamente.

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.

  • Especifique o name do usuário na definição de recurso do MongoDB Ops Manager .

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.

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 MongoDB database 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 MongoDB 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 do S3 .

spec.backup.s3Stores.s3SecretRef.name

Tipo: string

Obrigatório se você habilitar o backup usando um armazenamento S3 . 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 o bucket compatível com o Amazon Web Services S3 ou S3 . O armazenamento de snapshots S3 não poderá ser configurado se o segredo estiver sem chave.

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

Obrigatório se você habilitar o backup usando um armazenamento S3 . URL do bucket Amazon Web Services S3 da ou bucket compatível com S que hospeda o armazenamento de snapshots.3

Observação

Se o seu endpoint não incluir uma região em seu URL, especifique o campo s3RegionOverride .

spec.backup.s3Stores.s3BucketName

Tipo: string

Obrigatório se você habilitar o backup usando um armazenamento S3 . Nome do bucket S3 da Amazon Web Services ou 3bucket compatível com S 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 os3BucketEndpointda sua loja S3 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 do Amazon Web Services S3 . Para obter mais informações, consulte Configuração do Blockstore S3 .

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 banco de dados do aplicativo MongoDB Ops Manager. Você deve especificar uma versão MongoDB empresarial compatível com base na marcação no registro do contêiner. Por exemplo, 6.0.0-ubi8. A partir da versão 1 do operador Kubernetes .20, as tags não terminam mais em -ent.

Importante

Certifique-se de escolher uma versão compatível do MongoDB Server.

Versões compatíveis diferem dependendo da imagem base que o recurso do banco de dados MongoDB utiliza.

Observação

Se você atualizar esse valor para uma versão mais recente do MongoDB para o Banco de Dados de Aplicativos, o Feature Compatibility Version (FCV) não será alterado , a menos que você também especifique o parâmetro featureCompatibilityVersion em 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.

Observação

Todas as configurações em spec.applicationDatabase.agent se aplicam à Automação e Monitoramento, a menos que você especifique valores para Automação e Monitoramento separadamente em spec.applicationDatabase.agent e spec.applicationDatabase.monitoringAgent.

spec.applicationDatabase.agent.logRotate

Tipo: objeto

Objeto de configuração MongoDB para girar os registros MongoDB de um processo. Para usar as configurações de agent.logRotate , você deve definir systemLog.destination como file porque não é possível usar as configurações agent.logRotate se estiver gravando registros no sistema de syslog do host.

spec.applicationDatabase.agent.logRotate.numTotal

Tipo: inteiro

Padrão: 0

Número total de arquivos de log que o MongoDB Ops Manager mantém. Se você não alterar o padrão, o MongoDB Ops Manager baseará a rotação em suas outras configurações agent.logRotate.

spec.applicationDatabase.agent.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.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.logRotate.sizeThresholdMB

Tipo: número

Obrigatório se estiver girando registros. Tamanho máximo em MB para um arquivo de log individual antes que o MongoDB Ops Manager o gire. O MongoDB Ops Manager gira o arquivo de log imediatamente se ele atender ao valor fornecido neste limite sizeThresholdMB ou logRotate.timeThresholdHrs .

spec.applicationDatabase.agent.logRotate.timeThresholdHrs

Tipo: inteiro

Necessário se registros de rotação. Duração máxima em horas para um arquivo de log individual antes da próxima rotação. O tempo é desde a última rotação. O MongoDB Ops Manager gira o arquivo de log imediatamente se ele atender ao valor fornecido no limite timeThresholdHrs ou logRotate.sizeThresholdM .

spec.applicationDatabase.agent.logRotate.includeAuditLogsWithMongoDBLogs

Tipo: booleano

Defina como true para que o agente de automação gire os arquivos de auditoria junto com os arquivos de log do MongoDB.

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

O caminho do arquivo de log para o qual o mongod ou mongos deve enviar todas as informações de registro de diagnóstico, em vez da saída padrão ou do syslog do host . O MongoDB cria o arquivo de log no caminho especificado.

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

Quando true, mongos ou mongod acrescenta novas entradas ao final do arquivo de log existente quando a instância mongos ou mongod for reiniciada. Sem essa opção, mongod fará backup do registro existente e criará um novo arquivo.

spec.applicationDatabase.agent.systemLog.destination

Tipo: string

O destino para o qual o MongoDB envia toda a saída de log. Especifique file ou syslog. Se você especificar file, você também deverá especificar systemLog.path.

Se você não especificar systemLog.path, o MongoDB enviará toda a saída de log para saída padrão.

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.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 marcações 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 do aplicativo.

spec.applicationDatabase.memberConfig.votes

Tipo: número

Determina se um nó do conjunto de réplicas do aplicativo de banco de dados pode votar em uma eleição. Defina como 1 para permitir que o membro vote. Defina como 0 para excluir o membro de uma eleição.

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

Texto para prefixo do segredo do Kubernetes que você criou que contém a chave e o certificado TLS do banco de dados do seu aplicativo.

Você deve nomear seu segredo <prefix>-<metadata.name>-db-cert.

Para saber como configurar sua instância do Ops Manager para ser executada por HTTPS, consulte Implantar um recurso do Ops Manager .

spec.applicationDatabase.security.tls.ca

Tipo: string

Nome do Kubernetes ConfigMap contendo o arquivo CA para o banco de dados do aplicativo.

Importante

spec.applicationDatabase.security.tls.ca é necessário se você usar uma CA customizada para assinar os certificados TLS do banco de dados do aplicativo.

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 banco de dados de aplicação que os nós usam para se comunicar uns com os outros e

  • O Ops Manager usa para se comunicar com o conjunto de réplicas do banco de dados de aplicativo.

Aviso

Você deve concatenar seu arquivo CA personalizado e toda a cadeia de certificados TLS do downloads.mongodb.com para evitar que o Ops Manager se torne inoperável se o reconhecimento de data center da aplicação for reiniciado.

spec.applicationDatabase.security.tls.enabled

Importante

spec.security.applicationDatabase.tls.enabled está obsoleto e será removido em uma versão futura. Para habilitar o TLS, forneça um valor para a configuração spec.security.applicationDatabase.certsSecretPrefix .

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

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

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 endpoint 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 Prometheus com seu banco de banco de dados de aplicativo, você deve especificar esta configuração.

spec.applicationDatabase.prometheus.passwordSecretRef.key

Tipo: string

Padrão: "password"

Opcional. legível por humanos string que identifica a chave no segredo que armazena a senha para HTTP autenticação básica. Se você não especificar essa configuração, o padrão será aplicado.

spec.applicationDatabase.prometheus.passwordSecretRef.name

Tipo: string

Condicional

Rótulo 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 do aplicativo, especifique esta configuração.

spec.applicationDatabase.prometheus.port

Tipo: inteiro

Padrão: 9216

Opcional. Número que identifica a porta à qual o endpoint 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. legível por humanos string 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 o banco de dados de aplicativo 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

Condicional. O número de membros do MongoDB Ops Manager MongoDB Ops Manager no cluster do MongoDB Ops Manager em um sistema do MongoDB de vários clusters Kubernetes. Ao configurar spec.topology para MultiCluster, você deve especificar o valor para este parâmetro. Omita este parâmetro para sistemas de cluster único. Se você definir esse parâmetro como zero, isso removerá esse cluster de membros do MongoDB Ops Manager da lista de clusters de membros no cluster multikubernetes de instâncias do MongoDB Ops Manager .

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 Kubernetes cluster de membros em umKubernetes sistema de cluster multi- MongoDB onde o MongoDB Enterprise Kubernetes Operator Operador agenda o StatefulSet para o MongoDB Ops Manager ou o Backup Daemon.

spec.clusterSpecList.clusterDomain

Tipo: string

Opcional. Uma substituição de spec.clusterDomain para o cluster de membros específico do MongoDB Ops Manager . Se você omitir este valor, o padrão será o valor configurado em spec.clusterDomain. O Kubernetes atribui a cada Pod um FQDN . O operador Kubernetes calcula o FQDN para cada Pod usando um clusterDomain valor fornecido. O Kubernetes não fornece uma API para consultar esses nomes de host.

spec.clusterSpecList.configuration

Tipo: collection

Opcional. Propriedades de configuração MongoDB Ops Manager que substituem as propriedades que você definiu em spec.configuration para o cluster específico. Consulte Definições de configuraçãoMongoDB Ops Manager para obter nomes e descrições de propriedades. Cada propriedade obtém um valor do tipo string. Por exemplo, a definição dessas propriedades permite alterar as variáveis de ambiente que você deve passar para o MongoDB Ops Manager e o Backup Daemon nesse cluster de membros específico.

Se você omitir a especificação de valores, o padrão será os valores definidos em 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

Opcional. objeto de configuração que habilita a conectividade externa ao MongoDB Ops Manager para o cluster específico. Esta é uma substituição de spec.externalConnectivity para o cluster específico.

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:

  • O Kubernetes Operator não usa valores spec.externalConnectivity para esse cluster de membros MongoDB Ops Manager .

  • O Kubernetes operador do cria um Kubernetes serviço, denominado <om-name>-svc-ext, que permite que o tráfego originado de fora do Kubernetes cluster chegue ao MongoDB Ops Manager aplicativo nesse cluster de membros.

Se você omitir este parâmetro, o Operador Kubernetes utilizará valores de spec.externalConnectivity para este cluster de membro.

spec.clusterSpecList.statefulSet.spec

Tipo: collection

Opcional. Especificação do StatefulSet que o MongoDB Enterprise Kubernetes Operator cria para um cluster de membros específico naKubernetes MongoDB Ops Manager implementação de multi- cluster. Este parâmetro é uma substituição para spec.statefulSet.spec. Se você omitir, o Operador Kubernetes utilizará os valores de spec.statefulSet.spec. Por exemplo, você pode usar esse parâmetro para especificar valores de armazenamento diferentes para cada um dos clusters do MongoDB Ops Manager na implantação do MongoDB de vários clusters Kubernetes.

Para revisar quais campos você pode adicionar a spec.clusterSpecList.statefulSet.spec, consulte aplicativos StatefulSetSpec v1 na documentação do Kubernetes.

spec.clusterSpecList[*].backup

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

  • Você pode definir estes valores somente se spec.backup.enabled estiver definido como 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

Opcional. Substituir para spec.backup.members. O número de instâncias do Backup Daemon a serem implementadas neste cluster. se você omitir esse valor ou fornecer um valor de 0, o Kubernetes Operator não implantará instâncias do Backup Daemon em um cluster de membros específico.

spec.clusterSpecList[*].backup.assignmentLabels

Tipo: array de strings

Opcional. Substituir para spec.backup.assignmentLabels. Se especificado, o Kubernetes Operator usa os valores especificados nessa substituição para todas as instâncias do Backup Daemon em um cluster de membros específico. Se você omitir valores para esse parâmetro, os valores padrão serão os especificados em spec.backup.assignmentLabels para todas as instâncias do Backup Daemon em um cluster de membros.

spec.clusterSpecList[*].backup.jvmParameters

Tipo: array de strings

Opcional. Substituir para spec.backup.jvmParameters. Permite personalizar o valor de JVM para instâncias de Backup Daemon em um cluster de membros específico.

spec.clusterSpecList[*].backup.statefulSet

Tipo: string

Opcional. Substituir para spec.backup.statefulSet.spec. Permite personalizar os valores de um Backup Daemon em um cluster de membros específico. Para revisar quais campos você pode adicionar aos spec.clusterSpecList[*].backup.statefulSet aplicativos , consulte StatefulSetSpec v1 aplicativos 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 Kubernetes cluster de membros em umKubernetes sistema de cluster multi- MongoDB onde o MongoDB Enterprise Kubernetes Operator Operador agenda o StatefulSet para o Banco de Dados de Aplicativos.

Importante

Não é possível converter uma única instância MongoDB Ops Manager de cluster em uma instância de sistema do MongoDB de cluster multi-Kubernetes modificando as configurações do topology e clusterSpecList no 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 no qual você deseja implementar o banco de dados de aplicativos usando os parâmetros clusterSpecList, clusterName, members .

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

Voltar

Referência