Configurações de instalação do MongoDB Enterprise Kubernetes Operator
Nesta página
- agente.name
- appDb.name
- appDb.version
- database.name
- database.version
- initAppDb.name
- initAppDb.version
- initDatabase.name
- initDatabase.version
- initOpsManager.name
- initOpsManager.version
- managedSecurityContext
- mongodb.appdbAssumeOldFormat
- mongodb.imageType
- multiCluster.clusterClientTimeout
- namespace
- precisa de infraestrutura CA
- operator.deployment_name
- operador.env
- operator.maxConcurrentReconciles
- operator.mdbDefaultArchitecture
- operator.name
- operator.vaultSecretBackend.enabled
- operator.vaultSecretBackend.tlsSecretRef
- operador.versão
- operator.watchNamespace
- operator.watchedResources
- opsManager.name
- registro. agente
- registra.appDb
- registra.imagePullSecrets
- registra.initAppDb
- Registro.initOpsManager
- registra.operator
- Registro.opsManager
- operator.resources.requests
- operator.resources.limits
- subresourceEnabled
- webhook.installClusterRole
Para fornecer configurações opcionais, passe-as para o Helm usando o argumento --set
. Use os seguintes arquivos que listam as configurações de valor para seu tipo de sistema:
Vanilla Kubernetes: values.yaml
OpenShift: valores-openshift.yaml
Para saber mais sobre as configurações de instalação opcionais do Kubernetes Operator, consulte Configurações de instalação do Operator Helm.
Execute o comando como no exemplo a seguir e as opções especificadas serão passadas para a sua configuração:
helm upgrade enterprise-operator mongodb/enterprise-operator \ --set registry.pullPolicy='IfNotPresent'
agente.name
Nome da imagem do MongoDB Agent . Esta configuração é anexada ao registro. agente e define a variável de ambienteMDB_AGENT_IMAGE_REPOSITORY para a URL completa a partir da qual o StatefulSet baixa a imagem do MongoDB Agent para sistemas de banco de dados de dados. Para saber mais, consulte Imagens de Container.
O valor padrão é mongodb-agent-ubi.
agent: name: mongodb-agent-ubi
appDb.name
Nome da imagem do banco de dados de aplicativo.
O valor padrão é MongoDB Enterprise-appdb.
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
appDb.version
Versão da imagem que contém o MongoDB Agent usado pelo banco de dados de aplicação.
O valor padrão é 10.2.15.5958-1_4.2.11-ent.
appDb: name: mongodb-enterprise-appdb version: 10.2.15.5958-1_4.2.11-ent
database.name
Nome da imagem do reconhecimento de data center MongoDB Enterprise.
O valor padrão é MongoDB Enterprise reconhecimento de data center.
database: name: mongodb-enterprise-database version: 1.28
database.version
Versão da imagem do MongoDB Enterprise reconhecimento de data center que o Kubernetes Operator implementa.
database: name: mongodb-enterprise-database version: 1.28
initAppDb.name
Nome da imagem initContainer
que contém os scripts de inicialização do aplicativo de banco de dados e o teste de preparação.
O valor padrão é mongodb-enterprise-init-appdb .
database: name: mongodb-enterprise-init-appdb version: 1.28
initAppDb.version
Versão da imagem initContainer
que contém os scripts de inicialização do banco de dados de aplicação e o teste de preparação.
O valor padrão é 1.28.
database: name: mongodb-enterprise-init-appdb version: 1.28
initDatabase.name
Nome da imagem initContainer
que contém os scripts de inicialização do MongoDB Agent e a sonda de preparação.
O valor padrão é mongodb-enterprise-init-database .
database: name: mongodb-enterprise-init-database version: 1.28
initDatabase.version
Versão da imagem initContainer
que contém os scripts de inicialização do MongoDB Agent e o teste de preparação.
O valor padrão é 1.28.
database: name: mongodb-enterprise-init-database version: 1.28
initOpsManager.name
Versão da imagem initContainer
que contém os scripts de inicialização do Ops Manager e o teste de preparação.
O valor padrão é MongoDB Enterprise-init-Ops Manager.
database: name: mongodb-enterprise-init-ops-manager version: 1.28
initOpsManager.version
Versão da imagem initContainer
que contém os scripts de inicialização do Ops Manager e o teste de preparação.
O valor padrão é 1.28.
database: name: mongodb-enterprise-init-ops-manager version: 1.28
managedSecurityContext
Sinalizador que determina se o Kubernetes Operator herda ou não as configurações de securityContext que seu cluster do Kubernetes managed.
Este valor deve ser verdadeiro se você deseja executar o Operador Kubernetes no OpenShift ou em um ambiente restritivo.
O valor padrão é falso.
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: false
O valor padrão é verdadeiro .
# Set this to true if your cluster is managing SecurityContext for you. # If running OpenShift (Cloud, Minishift, etc.), set this to true. managedSecurityContext: true
mongodb.appdbAssumeOldFormat
No Kubernetes Operator 1.20, o registro de contêiner alterado para a imagem do banco de dados do aplicativo e as imagens usam um novo sufixo de tag. Quando você atualiza o Operador Kubernetes, o Operador Kubernetes atualiza automaticamente o sufixo anterior, -ent
, para todas as imagens que fazem referência ao novo registro de contêiner para -ubi8
ou o sufixo definido em MDB_IMAGE_TYPE ou mongodb.imageType.
Por exemplo, o Operador Kubernetes altera quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
para quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
.
Para impedir que o Operador Kubernetes atualize automaticamente o sufixo, defina MDB_APPDB_ASSUME_OLD_FORMAT ou mongodb.appdbAssumeOldFormat como true
. Por exemplo, talvez você queira interromper a alteração automática do sufixo se estiver espelhando essa imagem a partir do seu próprio repositório.
O valor padrão é false
, que atualiza automaticamente o sufixo da imagem.
mongodb: appdbAssumeOldFormat: false
mongodb.imageType
O sufixo da imagem do banco de dados do aplicativo .
No Kubernetes Operator 1.20, o registro de contêiner alterado para a imagem do banco de dados do aplicativo e as imagens usam um novo sufixo de tag. Quando você atualiza o Operador Kubernetes, o Operador Kubernetes atualiza automaticamente o sufixo anterior, -ent
, para todas as imagens que fazem referência ao novo registro de contêiner para -ubi8
ou o sufixo definido em MDB_IMAGE_TYPE ou mongodb.imageType.
Por exemplo, o Operador Kubernetes altera quay.io/mongodb/mongodb-enterprise-server:4.4.5-ent
para quay.io/mongodb/mongodb-enterprise-server:4.4.5-ubi8
.
Para impedir que o Operador Kubernetes atualize automaticamente o sufixo, defina MDB_APPDB_ASSUME_OLD_FORMAT ou mongodb.appdbAssumeOldFormat como true
. Por exemplo, talvez você queira interromper a alteração automática do sufixo se estiver espelhando essa imagem a partir do seu próprio repositório.
O padrão é ubi8
. Recomendamos usar somente imagens ubi
para consistência, mas, se necessário, você pode alterar essa configuração para ubuntu2204
.
mongodb: imageType: ubi8
multiCluster.clusterClientTimeout
Tempo, em segundos, o Operador Kubernetes tenta se conectar ao servidor de API Kubernetes de um cluster endpoint. Esse tempo limite é definido para todos os clusters Kubernetes em sistemas do MongoDB de vários clusters Kubernetes. Se o Kubernetes Operator não receber uma resposta do servidor da API do Kubernetes dentro do tempo especificado, ele registrará o status do cluster como "não íntegro". Para saber mais, consulte Solução de problemas de clusters Kubernetes.
O valor padrão é 10 .
multiCluster: clusterClientTimeout: 10
namespace
namespaces em que você deseja implantar o Operador Kubernetes.
Para usar um namespace diferente do padrão, especifique o namespace no qual você deseja implantar o Kubernetes Operator.
O valor padrão é mongodb.
# Name of the Namespace to use namespace: mongodb
precisa de infraestrutura CA
Determina se o Kubernetes cria um ClusterRole que permite ao Operador Kubernetes assinar certificados TLS utilizando o certificados.k8s.io API.
needsCAInfrastructure: true
O valor padrão é verdadeiro .
operator.deployment_name
Nome do container do Operador Kubernetes.
O valor padrão é MongoDB Enterprise-operator.
operator: deployment_name: mongodb-enterprise-operator
operador.env
Etiqueta para o ambiente de implementação dos Operadores Kubernetes. Esse valor afeta os tempos limite padrão e o nível e o formato do registro:
Se o valor for | O nível de registro está definido como | O formato de registro está definido como |
---|---|---|
dev | debug | text |
prod | informações | JSON |
O valor padrão é prod.
operator: # Execution environment for the operator, dev or prod. # Use dev for more verbose logging env: prod
operator.maxConcurrentReconciles
O número máximo de reconciliações simultâneas que o operador Kubernetes pode executar. Define MaxConcurrentReconciles. Para saber mais, consulte o Operador Kubernetes Distribui vários conjuntos de réplicas do MongoDB .
Exemplo
operator: # Control how many reconciles can be performed in parallel. # Increasing the number of concurrent reconciliations decreases the time needed to reconcile all watched resources, # but it might result in request load spikes and increased load on the Ops Manager API, and the Kubernetes API server generally. maxConcurrentReconciles: 10
operator.mdbDefaultArchitecture
Determina a arquitetura de containers usada por todos os seus sistemas:
Os contêineres não estáticos padrão que baixam o binário MongoDB no tempo de execução, ou
Containers estáticos (visualização pública) que são imutáveis no tempo de execução.
O padrão é non-static
.
Para habilitar contêineres estáticos, defina como static
.
Observação
Esta configuração se aplica a todas as suas implantações, incluindo implantações existentes. Para habilitar containers estáticos para uma única implantação, use metadata.annotations.mongodb.com/v1.architecture
no recurso MongoDB .
operator.mdbDefaultArchitecture: static
operator.name
Nome que o Kubernetes atribui aos objetos do Operador do Kubernetes, como Sistemas, Contas de Serviços, Funções e Pods.
Esse valor também corresponde ao nome do registro do container onde o Kubernetes Operator está localizado.
O valor padrão é MongoDB Enterprise-operator.
operator: name: mongodb-enterprise-operator
operator.vaultSecretBackend.enabled
Determina se o Operador do Kubernetes armazena segredos no HashiCorp Vault. Para saber mais, consulte Definir a ferramenta de armazenamento secreto. Se você estiver usando TLS com o Vault, também deverá especificar operator.vaultSecretBackend.tlsSecretRef.
O valor padrão é falso.
operator: # Set the following setting to "true" so that the MongoDB Kubernetes Operator stores secrets in Vault. vaultSecretBackend: false
operator.vaultSecretBackend.tlsSecretRef
Necessário se você estiver usando TLS com o Vault. O segredo TLS usado em sua configuração do Vault que contém uma entrada ca.crt
. O conteúdo da entrada ca.crt
deve corresponder ao certificado da CA usada para gerar os certificados Vault TLS. O Operador do Kubernetes armazena este segredo TLS em sua ferramenta de armazenamento secreto. Para saber mais, consulte Configurar armazenamento secreto. Requer que operator.vaultSecretBackend.enabled esteja definido como true
.
operator: vaultSecretBackend: true tlsSecretRef: "vault-tls-secret"
operador.versão
Versão do Operador Kubernetes que você deseja implantar.
O valor padrão é 1.28.
operator: version: 1.28
operator.watchNamespace
Namespaces que o Operador do Kubernetes observa quanto a alterações de recursos MongoDB
. Se este namespace for diferente do padrão, certifique-se de que a conta do serviço do operador Kubernetes possa acessar esse namespace.
Para observar todos os namespaces, especifique * e atribua o ClusterRole para a
mongodb-enterprise-operator
ServiceAccount que você usa para executar o Kubernetes Operator.Para observar um subconjunto de todos os namespaces, especifique-os em uma lista separada por vírgula, escape de cada vírgula com uma barra invertida e coloque a lista entre aspas, como
"operator.watchNamespace=ns1\,ns2"
.
Observar um subconjunto de namespaces é útil em sistemas em que uma única instância do Kubernetes Operator observa um tipo de recurso de cluster diferente. Por exemplo, você pode configurar o Operador Kubernetes para observar recursos do MongoDB
em um subconjunto de namespaces e para monitorar recursos do MongoDBMultiCluster
em outro subconjunto de namespaces. Para evitar condições de corrida durante a reconciliação de recursos, para cada tipo de recurso personalizado que você deseja que o Operador Kubernetes assista, certifique-se de definir o escopo para um subconjunto distinto de namespaces.
Importante
Para implantar recursos MongoDB Ops Manager MongoDB
do e do em um ou mais namespaces diferente daquele em que você implanta o Kubernetes Operator, consulte Definir escopo para a MongoDB Enterprise Kubernetes Operator implantação do para obter os valores que você deve usar e as etapas adicionais que podem ser necessárias.
O valor padrão é <metadata.namespace>.
# Watch one namespace helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace='namespace-to-watch' <...>
# Watch both namespace-a and namespace-b helm install enterprise-operator mongodb/enterprise-operator \ --set operator.watchNamespace="namespace-a\,namespace-b"
# Operator with name `mongodb-enterprise-operator-qa-envs` will # watch ns-dev, ns-qa and ns-uat namespaces helm install mongodb-enterprise-operator-qa-envs mongodb/enterprise-operator \ --set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"
# Operator with name `mongodb-enterprise-operator-staging` will # watch ns-staging and ns-pre-prod helm install mongodb-operator helm-chart --set operator.watchNamespace="ns-staging\,ns-pre-prod" mongodb-enterprise-operator-staging
operator.watchedResources
Recursos personalizados que o Operador do Kubernetes assiste.
O Operador Kubernetes instala o CustomResourceDefinitions para e observa apenas os recursos que você especificar.
O operador Kubernetes aceita os seguintes valores:
Valor | Descrição |
---|---|
mongodb | Instale o CustomResourceDefinitions para recursos de reconhecimento de data center e observe estes recursos. |
mongodbusers | Instale os recursos de usuário CustomResourceDefinitions para MongoDB e observe esses recursos. |
opsmanagers | Instale os recursos CustomResourceDefinitions para Ops Manager e observe esses recursos. |
operator: watchedResources: - mongodbusers - mongodb - opsmanagers
opsManager.name
Nome da imagem do Ops Manager.
O valor padrão é mongodb-enterprise-ops-manager .
opsManager: name: mongodb-enterprise-ops-manager
registro. agente
URL para o Quay registro de contêiner para imagens MongoDB. O Agent.name é anexado e define a variável de ambiente MDB_AGENT_IMAGE_REPOSITORY como a URL completa a partir da qual o StatefulSet baixa a imagem do MongoDB Agent para sistemas de banco de dados. Para saber mais, consulte Imagens de Container.
O valor padrão é quay.io/mongodb .
registry: agent: quay.io/mongodb/
registra.appDb
URL do repositório do qual o Kubernetes Operator baixa a imagem do banco de dados de aplicação.
O valor padrão é quay.io/mongodb .
registry: appDb: quay.io/mongodb
O valor padrão é registro.connect.redhat.com/mongodb.
registry: appDb: registry.connect.redhat.com/mongodb
registra.imagePullSecrets
segredo que contém as credenciais necessárias para extrair imagens do repositório.
Importante
O OpenShift exige esta configuração. Defina-o na configuração imagePullSecrets
desse arquivo ou passe-o ao instalar o Operador Kubernetes usando o Helm. Se você usar o Kubernetes Operator para implantar recursos do MongoDB em vários namespaces ou com um escopo de todo o cluster, crie o segredo somente no namespace onde você instalou o Kubernetes Operator. O Operador do Kubernetes sincroniza o segredo em todos os namespaces assistidos.
registry: # Specify the secret in the ``imagePullSecrets`` setting. If you # use the MongoDB Kubernetes Operator to deploy MongoDB resources # into multiple namespaces, create the secret only in the namespace # where you installed the Operator. The Operator synchronizes # the secret across all watched namespaces. imagePullSecrets: <openshift-pull-secret>
registra.initAppDb
URL do repositório do qual a imagem initContainer
que contém os scripts de inicialização do reconhecimento de data center de aplicação e o teste de preparação é baixada.
O valor padrão é quay.io/mongodb .
registry: initAppDb: quay.io/mongodb
O valor padrão é registro.connect.redhat.com/mongodb.
registry: initAppDb: registry.connect.redhat.com/mongodb
Registro.initOpsManager
URL do repositório do qual a imagem initContainer
que contém os scripts de inicialização do Ops Manager e o teste de preparação é baixada.
O valor padrão é quay.io/mongodb .
registry: initOpsManager: quay.io/mongodb
O valor padrão é registro.connect.redhat.com/mongodb.
registry: initOpsManager: registry.connect.redhat.com/mongodb
registra.operator
Repositório do qual a imagem do Kubernetes Operator é extraída. Especifique esse valor se quiser extrair a imagem do Kubernetes Operator de um repositório privado.
O valor padrão é quay.io/mongodb .
registry: operator: quay.io/mongodb
O valor padrão é registro.connect.redhat.com/mongodb.
registry: operator: registry.connect.redhat.com/mongodb
Registro.opsManager
URL do repositório do qual a imagem de um recurso do Ops Manager é baixada.
O valor padrão é quay.io/mongodb .
registry: opsManager: quay.io/mongodb
O valor padrão é registro.connect.redhat.com/mongodb.
registry: opsManager: registry.connect.redhat.com/mongodb
operator.resources.requests
Especificações para os limites de consumo de CPU e memória do Operador Kubernetes.
Exemplo
# operator cpu requests and limits resources: requests: cpu: 500m memory: 200Mi
operator.resources.limits
Especificações para os limites de consumo de CPU e memória do Operador Kubernetes.
Exemplo
# operator cpu requests and limits resources: limits: cpu: 1100m memory: 1Gi
subresourceEnabled
Sinalizador que indica se os subrecursos podem ser definidos no operador Kubernetes CustomResourceDefinition .
O valor padrão é verdadeiro .
subresourceEnabled: true
webhook.installClusterRole
O sinalizador permite configurar webhooks de entrada de validação de usuário para roles de cluster Kubernetes .
Configure este sinalizador para false
se o seu sistema não permitir funções de cluster Kubernetes.
O valor padrão é verdadeiro .
webhook: installClusterRole: false