Menu Docs

Página inicial do DocsOperador de Kubernetes do MongoDB Enterprise

Definir o escopo para a implantação do MongoDB Enterprise Kubernetes Operator

Nesta página

  • Escopos de implantação do operador Kubernetes
  • Próximos passos

Antes de instalar o Kubernetes Operator, você pode definir o escopo do sistema do Kubernetes Operator. Os escopos dependem dos namespaces nos quais você escolhe para implantar os recursos do Ops Manager e do MongoDB .

Você pode definir um destes escopos:

  • O operador usa o mesmo namespace único que os recursos (Padrão)

  • O operador usa um subconjunto de namespaces

  • O operador usa o escopo em todo o cluster

Você pode definir o escopo do Operador Kubernetes para usar o mesmo namespace como recursos. Nesse caso, o Operador do Kubernetes observa o Ops Manager e os MongoDB recursos do no mesmo namespace.

Quando você instala o Operador Kubernetes, ele utiliza o namespace padrão.

Você pode definir o escopo do Operador Kubernetes para usar um ou mais namespaces que diferem do namespace usado pelos recursos do Kubernetes Operator. Nesse caso, o Operador do Kubernetes observa o Ops Manager e os MongoDB recursos do em um subconjunto de namespaces que você especificar.

Para instalar as instâncias do Operador Kubernetes com esse escopo, use helm com o operador.watchNamespace Parâmetro.

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.

Siga as instruções de instalação relevantes para helm, mas especifique um ou mais namespaces no operador.watchNamespace parâmetro para o operador Kubernetes observar:

Exemplo

# Watch one namespace
helm install enterprise-operator mongodb/enterprise-operator \
--set operator.watchNamespace='namespace-to-watch' <...>

Exemplo

# Watch both namespace-a and namespace-b
helm install enterprise-operator mongodb/enterprise-operator \
--set operator.watchNamespace="namespace-a\,namespace-b"

Exemplo

# 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"

Exemplo

# 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

Ao instalar o Operador Kubernetes para observar recursos em um ou mais namespaces diferentes do namespace no qual o Operador Kubernetes está distribuído:

  1. Crie os seguintes recursos:

    • Um clusterRole com acesso a vários recursos. Para obter a definição completa do recurso, consulte o arquivo operator-roles.yaml exemplo. Este é um recurso com escopo de cluster.

    • Criar um ClusterRoleBinding para vincular o ClusterRole com ServiceAccount. Esse clusterRoleBinding vinculará o clusterRole que você criou à ServiceAccount que o Kubernetes Operator está usando no namespace onde você o instala.

  2. Incluir o ClusterRole e ClusterRoleBinding nos arquivos de configuração padrão que você aplica durante a instalação.

O exemplo a seguir ilustra como o ClusterRole e ClusterRoleBinding trabalhar junto no cluster.

Suponha que você crie um ServiceAccount no namespace mongodb e depois instale o Kubernetes Operator nesse namespace. O Operador Kubernetes usa esta ServiceAccount.

Para definir o escopo do Operador Kubernetes para monitorar os namespaces ns1 e ns2:

  1. Obtenha privilégios de administrador de cluster.

  2. Usando esses privilégios, crie um ClusterRole sem namespace e em todo o cluster .

  3. Criar um ClusterRoleBinding em três namespaces: mongodb, ns1 e ns2. Este ClusterRoleBinding vinculará o ClusterRole para a ServiceAccount no mongodb namespace . O clusterRoleBinding permitirá ao Operador Kubernetes implantado no namespace mongodb acessar os recursos descritos no clusterRole do namespace de destino, ou seja, em mongodb, ns1 e ns2.

Consulte também operator.watchNamespace.

Você pode definir o escopo do Operador Kubernetes para o cluster Kubernetes. Nesse caso, o Operador do Kubernetes observa o Ops Manager e MongoDB os recursos do em todos os namespaces no cluster Kubernetes.

Importante

Você pode implantar apenas uma instância do Operador Kubernetes com um escopo de todo o cluster por cluster Kubernetes.

Para definir um escopo de todo o cluster para o Operador Kubernetes, siga as instruções para seu método de instalação preferido.

Após configurar o escopo do MongoDB Enterprise Kubernetes Operator, você pode:

←  Escolher o modo de instalação do Kubernetes Operator: Clusters Kubernetes únicos ou multi-KubernetesConsiderações →