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.
Exemplos
Os exemplos a seguir mostram uma especificação de recurso para um sistema do Ops Manager:
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: om 5 spec: 6 topology: SingleCluster # optional, SingleCluster by default 7 opsManagerURL: https://link.to.configured.load-balancer.example.com # optional OM URL for the operator 8 replicas: 1 9 version: "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
1 apiVersion: mongodb.com/v1 2 kind: MongoDBOpsManager 3 metadata: 4 name: om 5 spec: 6 topology: MultiCluster # optional, SingleCluster by default 7 opsManagerURL: https://link.to.configured.lb.example.com # optional OM URL for the operator 8 clusterSpecList: # optional ClusterSpecOMItem list, the type is different than ClusterSpecItem for AppDB and MongoDB 9 - clusterName: cluster-1 # required 10 replicas: 1 # required, OM application replicas 11 # optional parameters to override those defined at MongoDBOpsManager level 12 clusterDomain: cluster-1.example.com # optional, default cluster.local 13 jvmParameters: ["-Xmx4352m","-Xms4352m"] 14 externalConnectivity: # optional to override 15 type: LoadBalancer 16 port: 9090 17 annotations: 18 key: value 19 statefulSet: # StatefulSetSpecWrapper override 20 spec: {} 21 metadata: {} 22 configuration: 23 automation.versions.source: mongodb 24 mms.adminEmailAddr: cloud-manager-support@mongodb.com 25 backup: # MongoDBOpsManagerBackup, optional, we only support a subset of fields 26 members: 1 # backup daemon replicas, optional, default=1 27 assignmentLabels: [] # assignment labels to override 28 jvmParameters: ["-Xmx4352m","-Xms4352m"] # optional 29 statefulSet: # mdbc.StatefulSetConfiguration, optional to override for backup daemon 30 spec: {} 31 metadata: {} 32 - clusterName: cluster-2 33 replicas: 1 34 35 .... 36 37 replicas: 1 38 version: "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
Configurações necessárias MongoDB Ops Manager
Esta seção descreve as configurações que você deve usar para todos os recursos do Ops Manager.
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
emspec.topology
, este parâmetro será obrigatório. O valor mínimo aceito é1
.Se você especificar
MultiCluster
emspec.topology
, este parâmetro será ignorado.
Configurações opcionais MongoDB Ops Manager
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 ospec.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 ospec.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
clusterDomain
operador 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
Tipo: string
O Kubernetes atribui a cada Pod um FQDN . O
clusterName
operador 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
aspec.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
eRAM_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çãospec.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 nó 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 nó 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 nó MongoDB Ops Manager do para hospedar o no Kubernetes. Este valor é expresso como um número inteiro seguido por uma unidade de memória na notação JEDEC .
Exemplo
Se o Ops Manager no Kubernetes exigir 6 gigabytes de memória, defina esse valor como
6Gi
.Observação
O MongoDB recomenda definir esse valor para pelo menos
5Gi
.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 nó 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.
Configurações de conectividade externa
Esta seção descreve as configurações opcionais relacionadas à conectividade externa no MongoDB Ops Manager. Para obter configurações opcionais de conectividade externa específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.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
eNodePort
.LoadBalancer
é recomendado se o seu fornecedor de nuvem suportar. Utilize oNodePort
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
forNodePort
: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
forLoadBalancer
: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
spec.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
forLoadBalancer
. 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
eLocal
. Para saber quais valores atendem aos seus requisitos, consulte IPs de origem no Kubernetes na documentação do Kubernetes.Observação
Se você selecionar
Cluster
, oSource-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 .
Configurações de backup
Esta seção descreve as configurações opcionais relacionadas a backups no MongoDB Ops Manager. Para obter configurações de backup opcionais específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.backup.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 roleGlobal 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
oumy-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.
EscalarTipo de DadosDescriçãolabelSelector
stringTag usada para vincular volumes montados a diretórios.storage
stringTamanho 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
stringTipo 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 recursoMongoDBMultiCluster
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 estadoPending
. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoURI
essl
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 estadoPending
. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoURI
essl
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 nó 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 nó 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 nó 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 que4.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 nó 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.
Configurações do S3
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á ospec.applicationDatabase.security.tls.ca
como o certificado personalizado para backups.Cada entrada na lista especifica o
name
e okey
. 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.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 comoFalse
, 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árioSCRAM
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
esecretKey
. 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.
ValorDescriçãoExemplotrue
URL no estilo de caminhos3.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 o
s3BucketEndpoint
do 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á ospec.applicationDatabase.security.tls.ca
como o certificado personalizado para backups.Cada entrada na lista especifica o
name
e okey
. 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 comoFalse
, 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 recursoMongoDBMultiCluster
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árioSCRAM
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 estadoPending
. O Kubernetes Operator tenta novamente a cada 10 segundos até que um reconhecimento de data center MongoDB com esse nome seja criado.Observação
O Kubernetes Operator começa a reconciliar o recurso do Ops Manager automaticamente quando você faz alterações de segurança nos recursos de reconhecimento de data center a que você faz referência nesta configuração. O Kubernetes Operator atualiza os sinalizadores
mongoURI
essl
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
esecretKey
. 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.
ValorDescriçãoExemplotrue
URL no estilo de caminhos3.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 o
s3BucketEndpoint
da 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 .
Configurações necessárias do banco de dados do aplicativo
Esta seção descreve as configurações que você deve usar , além das configurações necessárias do MongoDB Ops Manager para configurar o Ops Manager Application Database.
spec.applicationDatabase.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
emspec.applicationDatabase
.
Configurações opcionais do banco de dados do aplicativo
Esta seção descreve as configurações opcionais relacionadas ao Ops Manager Application Database. Para obter configurações opcionais de banco de dados de aplicativos específicas para sua implantação MongoDB Ops Manager de vários clusters, consulte Configurações de vários clusters.
spec.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 definirsystemLog.destination
comofile
porque não é possível usar as configuraçõesagent.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
oulogRotate.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
oulogRotate.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
oumongos
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 alterarsystemLog.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
oumongod
acrescenta novas entradas ao final do arquivo de log existente quando a instânciamongos
oumongod
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
ousyslog
. Se você especificarfile
, você também deverá especificarsystemLog.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
de1.5
tem mais probabilidade do que um nó com umamemberConfig.priority
de0.5
de se tornar o primary.Um nó com um
memberConfig.priority
de0
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 como0
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
ouspec.backup.s3Stores.customCertificate
estiver definido comotrue
.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çãospec.security.applicationDatabase.certsSecretPrefix
.Criptografa comunicações usando certificados TLS entre o Ops Manager e o banco de dados de aplicativos.
Configurações do Prometheus
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.
Configurações de vários clusters
Configurações necessárias MongoDB Ops Manager
Esta seção descreve as configurações que você deve usar para a implantação do MongoDB Ops Manager de vários clusters, além das configurações necessárias do MongoDB Ops Manager .
spec.clusterSpecList.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
paraMultiCluster
, 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
ouMultiCluster
. Se omitido, o valor padrão éSingleCluster
.Se você especificar
MultiCluster
:Adicione o recurso
MongoDBMultiCluster
à lista de recursos monitorados. Isso indica ao Operador Kubernetes que ele deve trabalhar no modo de cluster multi-Kubernetes e executar as ações de configuração necessárias para lidar com recursos multi-Kubernetes.Especifique pelo menos um cluster de membros no qual você deseja implantar o MongoDB Ops Manager, usando
spec.clusterSpecList
e seus parâmetrosspec.clusterSpecList.clusterName
espec.clusterSpecList.members
aninhados.Se você especificar
MultiCluster
, o Operador Kubernetes ignorará todos os valores definidos paraspec.members
. Veja o exemplo da especificação do recurso.
Configurações opcionais MongoDB Ops Manager
Os recursos MongoDB Ops Manager também podem usar as seguintes configurações específicas para sistemas do MongoDB Ops Manager em vários clusters:
spec.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.
Ao definir
spec.topology
comoMultiCluster
, você deve especificar o valor paraspec.clusterSpecList.members
. Todos os outros parâmetros emspec.clusterSpecList
são opcionais.Quando você configura
spec.topology
paraSingleCluster
, o Operador Kubernetes ignora todos os parâmetros emspec.clusterSpecList
.
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 emspec.clusterDomain
. O Kubernetes atribui a cada Pod um FQDN . O operador Kubernetes calcula o FQDN para cada Pod usando umclusterDomain
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 tipostring
. 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.
Se você especificar este parâmetro, seus valores substituirão os valores especificados em
spec.jvmParameters
. Para obter valores de exemplo, consulte o exemplo da especificação do recurso.Se você omitir esse parâmetro, os valores de
spec.jvmParameters
serão usados para as instâncias do MongoDB Ops Manager e do Backup Daemon nesse 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 despec.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 comotrue
.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 de0
, 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 emspec.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 aosspec.clusterSpecList[*].backup.statefulSet
aplicativos , consulte StatefulSetSpec v1 aplicativos na documentação do Kubernetes.
Configurações necessárias do banco de dados do aplicativo
Esta seção descreve as configurações específicas para a implantação MongoDB Ops Manager de vários clusters que você deve usar para o banco de dados de aplicativos.
spec.applicationDatabase.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
eclusterSpecList
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
ouMultiCluster
. Se omitido, o valor padrão éSingleCluster
.Se você especificar
MultiCluster
, deverá especificar pelo menos um membrocluster 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 campospec.applicationDatabase.members
.
Para saber mais, consulte o exemplo da especificação de recursos de vários clusters.