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 mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --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 ambiente MDB_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 . Para saber mais, consulte Imagens de Container.
O valor padrão é mongodb-agent.
agent: name: mongodb-agent
appDb.name
Nome da imagem do banco de dados de aplicativo.
O valor padrão é mongodb-kubernetes-appdb.
appDb: name: mongodb-kubernetes-appdb version: 10.2.15.5958-1_4.2.11
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.
appDb: name: mongodb-kubernetes-appdb version: 10.2.15.5958-1_4.2.11
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.4.0
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.4.0
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-kubernetes-init-appdb.
database: name: mongodb-kubernetes-init-appdb version: 1.4.0
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.4.0.
database: name: mongodb-kubernetes-init-appdb version: 1.4.0
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-kubernetes-init-database.
database: name: mongodb-kubernetes-init-database version: 1.4.0
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.4.0.
database: name: mongodb-kubernetes-init-database version: 1.4.0
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-kubernetes-init-ops-manager.
database: name: mongodb-kubernetes-init-ops-manager version: 1.4.0
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.4.0.
database: name: mongodb-kubernetes-init-ops-manager version: 1.4.0
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
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 .
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 Kubernetes Operator tenta se conectar ao endpoint de servidor da API Kubernetes de um cluster. 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 a API certificados.k8s.io.
needsCAInfrastructure: true
O valor padrão é verdadeiro .
operator.deployment_name
Nome do container do Operador Kubernetes.
O valor padrão é mongodb-kubernetes-operator.
operator: deployment_name: mongodb-kubernetes-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 |
|---|---|---|
| debug | text |
| 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
Essa configuração se aplica a todas as suas implantações, incluindo as implantações existentes. Para habilitar contêineres 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-kubernetes-operator.
operator: name: mongodb-kubernetes-operator
operator.telemetry
Permite ao Operador Kubernetes coletar e enviar telemetria. O padrão para as seguintes configurações é true.
operator: telemetry: # Enables telemetry. Setting this to "false" will stop all telemetry. enabled: true # Adds RBAC clusterRole for kube-system UID detection for the Kubernetes cluster UID. # Adds RBAC clusterRole for RBAC for nodes. We are listing exactly one node to detect the cluster provider (for example, eks). # Adds RBAC clusterRole for /version query for detecting Kubernetes server version. installClusterRole: true collection: # Controls how often the Kubernetes Operator collects and saves the data to the telemetry ConfigMap. It doesn't control whether this data is sent to MongoDB for analysis. # Valid time units for frequency are "m", or "h". Anything less than one minute defaults to 1h. frequency: 1h # Enables the Kubernetes Operator to collect and send cluster-level telemetry. # Note: the cluster UUID is unique but random and MongoDB has no way to map this to a customer. clusters: enabled: true # Enables the Kubernetes Operator to collect and send deployment-level telemetry. deployments: enabled: true # Enables the Kubernetes Operator to collect and send Kubernetes Operator-level telemetry. operators: enabled: true # Enables sending the collected telemetry to MongoDB. send: enabled: true # Controls how often the Kubernetes Operator sends the collected the data to MongoDB for analysis. # Valid time units are "h". Anything less than one hour defaults to 168h, which is one week. frequency: 168h
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
Required if you are using TLS with Vault. The TLS secret used in your Vault configuration that contains a ca.crt entry. The content of the ca.crt entry must match the certificate of the CA used to generate the Vault TLS certificates. The Kubernetes Operator stores this TLS secret in its secret storage tool. To learn more, see Configure Secret Storage. Requires that operator.vaultSecretBackend.enabled is set to 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.4.0.
operator: version: 1.4.0
operator.watchNamespace
Namespaces que o Operador do Kubernetes observa quanto a alterações de recursos MongoDB. If this namespace for diferente do padrão, certifique-se de que o Kubernetes Operator ServiceAccount possa acessá-lo namespace.
To watch all namespaces, specify * and assign the ClusterRole to the
mongodb-kubernetes-operatorServiceAccount that you use to run the 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 do Ops Manager e do MongoDB para um ou mais namespaces diferente daquele onde você implanta o Operador Kubernetes, consulte Definir escopo para Controladores MongoDB para Sistema do Operador Kubernetes para valores que você deve usar e etapas adicionais que você pode ter que executar.
O valor padrão é <metadata.namespace>.
# Watch one namespace helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set operator.watchNamespace='namespace-to-watch' <...>
# Watch both namespace-a and namespace-b helm install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --set operator.watchNamespace="namespace-a\,namespace-b"
# Operator with name `mongodb-kubernetes-operator-qa-envs` will # watch ns-dev, ns-qa and ns-uat namespaces helm install mongodb-kubernetes-operator-qa-envs mongodb/mongodb-kubernetes \ --set operator.watchNamespace="ns-dev\,ns-qa\,ns-uat"
# Operator with name `mongodb-kubernetes-operator-staging` will # watch ns-staging and ns-pre-prod helm install mongodb-kubernetes-operator-staging mongodb/mongodb-kubernetes --set operator.watchNamespace="ns-staging\,ns-pre-prod"
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 |
|---|---|
| Instale o CustomResourceDefinitions para recursos de reconhecimento de data center e observe estes recursos. |
| Instale os recursos de usuário CustomResourceDefinitions para MongoDB e observe esses recursos. |
| 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 registro de contêiner Quay para imagens MongoDB. O agente.name é anexado e define a variável de ambiente MDB_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 . 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 aplicativo de banco de dados.
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 of the repository from which the initContainer image that contains the Application Database start-up scripts and the readiness probe is downloaded.
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 of the repository from which the initContainer image that contains the Ops Manager start-up scripts and the readiness probe is downloaded.
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
webhook.installClusterRole
O sinalizador permite que você configure webhooks de validação de usuário para funções 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