Página inicial do Docs → Operador de Kubernetes do MongoDB Enterprise
Definir o escopo para a implantação do MongoDB Enterprise Kubernetes Operator
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
.
Escopos de implantação do operador Kubernetes
Você pode definir um destes escopos:
O operador usa o mesmo namespace único que os recursos
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.
O operador usa um subconjunto de namespaces
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:
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á oclusterRole
que você criou à ServiceAccount que o Kubernetes Operator está usando no namespace onde você o instala.
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
:
Usando esses privilégios, crie um ClusterRole sem namespace e em todo o cluster .
Criar um ClusterRoleBinding em três namespaces:
mongodb
,ns1
ens2
. Este ClusterRoleBinding vinculará o ClusterRole para a ServiceAccount nomongodb
namespace . OclusterRoleBinding
permitirá ao Operador Kubernetes implantado no namespacemongodb
acessar os recursos descritos noclusterRole
do namespace de destino, ou seja, emmongodb
,ns1
ens2
.
Consulte também operator.watchNamespace.
O operador usa o escopo em todo o cluster
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.
Próximos passos
Após configurar o escopo do MongoDB Enterprise Kubernetes Operator, você pode:
Leia as considerações.
Conclua os pré- requisitos.