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

Referência de plug-in do MongoDB

Use o plug-in kubectl mongodb para:

Antes de começar, instale o plugin Kubectl MongoDB.

O plugin kubectl mongodb tem os seguintes subcomandos:

O subcomando kubectl mongodb multicluster setup configura a implantação inicial do MongoDB do cluster multi-Kubernetes. Ele executa as seguintes ações:

  • Cria um ConfigMap padrão denominado mongodb-kubernetes-operator-member-list que contém todos os clusters de membros do sistema MongoDB do cluster multi-Kubernetes. Este nome está codificado e você não pode alterá-lo. Consulte Problemas conhecidos.

  • Cria ServiceAccounts, Roles, ClusterRoles, RoleBindings e ClusterRoleBindings no cluster do operador e em cada cluster de membros.

  • Aplica as permissões corretas para contas de serviço.

  • Usa as configurações anteriores para criar sua implantação do MongoDB de clusters multikubernetes.

O subcomando setup do plug-in kubectl mongodb tem as seguintes opções:

Opção
Tipo de Dados
Descrição

central-cluster

string

Obrigatório. Cluster central no qual o Operador Kubernetes será implantado, como: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" .

central-cluster-namespace

string

Obrigatório. namespace no qual o Operador Kubernetes será implantado, como: --central-cluster-namespace="mongodb".

cleanup

booleano

Opcional. Sinalizador que indica se todos os recursos criados anteriormente devem ser excluídos, exceto namespaces. O valor padrão é false.

cluster-scoped

booleano

Opcional. Sinalizador que indica se você deve criar ClusterRole e ClusterRoleBindings para clusters de membros. O valor padrão é false.

create-service-account-secrets

booleano

Optional. Flag that indicates whether to create secrets for the service accounts in the Kubernetes API server. Default value is false.

install-database-roles

booleano

Opcional. Sinalizador que indica se devem ser instaladas as contas de serviço e as funções necessárias para executar cargas de trabalho do MongoDB nos clusters de membros. O valor padrão é false.

image-pull-secrets

booleano

Opcional. Sinalizador que indica se as contas de serviço que o plugin -in kubectl mongodb cria devem fazer referência ao segredo especificado no registro.imagePullSecrets configuração. O valor padrão é false. Para saber mais, consulte Configurações de instalação do Helm.

member-clusters

string

Obrigatório. Lista separada por vírgulas que contém clusters de membros, como: -member-clusters="${MDB_CLUSTER_2_FULL_NAME}, ${MDB_CLUSTER_3_FULL_NAME}, ${MDB_CLUSTER_4_FULL_NAME}".

member-cluster-ca

string

Opcional. Caminho para um pacote de CA codificado por PEM que o operador Kubernetes usa para acessar o servidor de API Kubernetes de um cluster de membros, no formato --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repita a opção uma vez para cada cluster de membro que requer seu próprio pacote de CA. Se você omitir um cluster de membros, o plugin-in kubectl mongodb usará o CA a partir do segredo de token da conta de serviço desse cluster. Para saber mais, consulte Pacotes de CA personalizados para clusters de membros.

member-cluster-namespace

string

Obrigatório. Namespace no qual os recursos do cluster de membros serão distribuídos, como: -member-cluster-namespace="mongodb" .

service-account

string

Opcional. Nome da conta de serviço que o Kubernetes Operator usará para se comunicar com os clusters de membros. O valor padrão é mongodb-kubernetes-operator-multi-cluster.

Para obter um exemplo completo do uso do kubectl mongodb subcomando do plug-in setup , consulte o início rápido do cluster multi-Kubernetes.

O subcomando kubectl mongodb multicluster pode recuperar automaticamente uma topologia de cluster com falha em alguns casos. Em outros casos, você deve se recuperar manualmente de uma falha. Para saber mais, consulte Recuperação de desastres.

O subcomando recover do plug-in kubectl mongodb tem as seguintes opções:

Opção
Tipo de Dados
Descrição

central-cluster

string

Obrigatório. Cluster central no qual o Operador Kubernetes será implantado, como: --central-cluster="MDB_CENTRAL_CLUSTER_FULL_NAME" .

central-cluster-namespace

string

Obrigatório. namespace no qual o Operador Kubernetes será implantado, como: --central-cluster-namespace="mongodb".

cleanup

booleano

Opcional. Sinalizador que indica se todos os recursos criados anteriormente devem ser excluídos, exceto namespaces. O valor padrão é false.

cluster-scoped

booleano

Opcional. Sinalizador que indica se você deve criar ClusterRole e ClusterRoleBindings para clusters de membros. O valor padrão é false.

member-cluster-ca

string

Opcional. Caminho para um pacote de CA codificado por PEM que o operador Kubernetes usa para acessar o servidor de API Kubernetes de um cluster de membros, no formato --member-cluster-ca <member-cluster-name>=<path-to-pem-file>. Repita a opção uma vez para cada cluster de membro que requer seu próprio pacote de CA. Se você omitir um cluster de membros, o plugin-in kubectl mongodb usará o CA a partir do segredo de token da conta de serviço desse cluster. Para saber mais, consulte Pacotes de CA personalizados para clusters de membros.

Para obter um exemplo completo do uso do subcomando kubectl mongodb plugin recover , consulte o procedimento manual de recuperação de desastres.

Por padrão, o plugin-in kubectl mongodb lê a CA para cada cluster de membros a partir do segredo de token da conta de serviço desse cluster e a grava no segredo mongodb-enterprise-operator-multi-cluster-kubeconfig gerado. Em alguns casos, talvez você queira fornecer um pacote de CA personalizado, por exemplo: quando o caminho de rede do Operador Kubernetes para o servidor da API Kubernetes de um cluster de membros encerra o TLS em outro lugar, como em um proxy ou balanceador de carga que apresenta seu próprio certificado. Use a opção member-cluster-ca para fornecer um pacote de CA personalizado.

O comando a seguir fornece um pacote de CA para dois dos três clusters de membros:

kubectl mongodb multicluster setup \
--central-cluster="operator-cluster" \
--member-clusters="cluster-1,cluster-2,cluster-3" \
--member-cluster-namespace=mongodb \
--central-cluster-namespace=mongodb \
--member-cluster-ca cluster-1=/path/to/cluster-1-ca.pem \
--member-cluster-ca cluster-2=/path/to/cluster-2-ca.pem

No exemplo anterior, cluster-3 mantém em segredo o token da CA de sua conta de serviço.

O plugin-in kubectl mongodb copia o conteúdo do arquivo para o segredo KubeConfig sem modificação, portanto, passe apenas certificados. Cada arquivo deve atender aos seguintes requisitos:

  • Contém pelo menos um certificado codificado por PEM.

  • Não contém chave privada. Um pacote que um terminador TLS exporta pode colocar a chave do servidor ao lado de seu certificado. O plugin-in rejeita esse pacote com o erro found a private key (<block type> block), pass certificates only.

O plugin-in também retorna um erro se você passar um par <member-cluster-name>=<path-to-pem-file> malformado, nomear um cluster de membros que member-clusters não lista ou nomear o mesmo cluster de membros mais de uma vez.

Os subcomandos setup e recover regeneram todo o segredo do KubeConfig. Se você omitir um cluster de membros de member-cluster-ca em uma execução posterior, esse cluster será revertido para a CA a partir de seu segredo de token de conta de serviço. Para preservar uma CA personalizada, toda vez que você executar um dos subcomandos, certifique-se de passar novamente a opção member-cluster-ca para cada cluster de membros que exija um.

Quando um subcomando substitui uma CA que não corresponde ao segredo do token da conta de serviço do cluster de membros, o plugin-in imprime um aviso semelhante ao seguinte:

Warning: replacing the CA for member cluster cluster-1, which does not match its ServiceAccount token secret. Pass --member-cluster-ca cluster-1=<path-to-pem-file> to keep a custom CA.

O aviso é consultivo. O subcomando ainda conclui e grava o novo segredo KubeConfig.