Menu Docs
Página inicial do Docs
/
Operador de Kubernetes do MongoDB Enterprise

Início rápido para o operador Kubernetes

Nesta página

Importante

Esta seção é somente para sistemas de cluster Kubernetes únicos. Para sistemas do MongoDB de cluster multi-Kubernetes, consulte Início Rápido de Multi-Kubernetes-Cluster.

O MongoDB Enterprise Kubernetes Operator usa a API e as ferramentas do Kubernetes para gerenciar clusters MongoDB. Kubernetes Operator trabalha junto com o MongoDB Cloud Manager ou o MongoDB Ops Manager. Este tutorial demonstra como distribuir e conectar ao seu primeiro conjunto de réplicas no MongoDB Cloud Manager com o Kubernetes Operator. Você pode usar o Kind para configurar rapidamente um cluster. Para saber mais, consulte o Kind.

Este tutorial requer:

  • Um cluster do MongoDB Cloud Manager em execução.

  • Um cluster Kubernetes em execução.

  • Nós do Kubernetes em execução em arquiteturas de hardware compatíveis.

1
helm repo add mongodb https://mongodb.github.io/helm-charts
2

Para instalar o Operador Kubernetes com o Gráfico Helm, consulte as instruções no repositório.

Exemplo

O seguinte comando instala o MongoDB Enterprise Kubernetes Operator no namespace do mongodb com a opção opcional do --create-namespace. Por padrão, o Kubernetes Operator utiliza o namespace default.

helm install enterprise-operator mongodb/enterprise-operator --namespace mongodb --create-namespace
3

Caso ainda não tenha feito isso, execute o seguinte comando para executar todos os comandos kubectl no namespace que você criou:

kubectl config set-context $(kubectl config current-context) --namespace=mongodb
4
  1. Acesse a página de configuração do Kubernetes na interface do usuário do Cloud Manager.

  2. Clique em Create New API Keys ou Use Existing API Keys.

  3. Preencha o formulário. Para saber mais, consulte Acesso programático ao Cloud Manager.

  4. Clique em Generate Key and YAML.

5

Copie e salve o arquivo config-map.yaml gerado.

Exemplo:

apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
namespace: mongodb
data:
baseUrl: https://cloud.mongodb.com
projectName: my-project # this is an optional parameter
orgId: 5ecd252f8c1a75033c74106c # this is a required parameter

Para saber mais, consulte as descrições do parâmetro.

6

Copie e salve o arquivo secret.yaml gerado.

Exemplo:

apiVersion: v1
kind: Secret
metadata:
name: organization-secret
namespace: mongodb
stringData:
user: <public_key>
publicAPIKey: <private_key>

Por motivos de segurança, o MongoDB Cloud Manager exibe este arquivo apenas uma vez.

7

Execute o seguinte comando:

kubectl apply -f secret.yaml -f config-map.yaml
8
  1. Copie e salve o seguinte arquivo YAML:

    apiVersion: mongodb.com/v1
    kind: MongoDB
    metadata:
    name: demo-mongodb-cluster-1
    namespace: mongodb
    spec:
    members: 3
    version: 4.4.5-ent
    type: ReplicaSet
    security:
    authentication:
    enabled: true
    modes: ["SCRAM"]
    cloudManager:
    configMapRef:
    name: my-project
    credentials: organization-secret
    persistent: true
    podSpec:
    podTemplate:
    spec:
    containers:
    - name: mongodb-enterprise-database
    resources:
    limits:
    cpu: 2
    memory: 1.5G
    requests:
    cpu: 1
    memory: 1G
    persistence:
    single:
    storage: 10Gi
  2. Execute o seguinte comando:

    kubectl apply -f <replica-set-conf>.yaml
9

Você pode optar por usar uma senha de texto simples ou uma senha codificada em Base64. As senhas de texto simples usam stringData.password e as senhas codificadas em Base64 usam data.password.

Observação

Forneça seus valores para os seguintes parâmetros. Para saber mais, consulte as descrições do parâmetro.

Para obter uma senha de texto não criptografado, crie e salve o seguinte arquivo YAML:

apiVersion: v1
kind: Secret
metadata:
name: mms-user-1-password
# corresponds to user.spec.passwordSecretKeyRef.name
type: Opaque
stringData:
password: <my-plain-text-password>
# corresponds to user.spec.passwordSecretKeyRef.key

Para obter uma senha codificada em Base64, crie e salve o seguinte arquivo YAML:

apiVersion: v1
kind: Secret
metadata:
name: mms-user-1-password
# corresponds to user.spec.passwordSecretKeyRef.name
type: Opaque
data:
password: <base-64-encoded-password>
# corresponds to user.spec.passwordSecretKeyRef.key
10
  1. Copie e salve o seguinte arquivo de Especificação de recursos do usuário do MongoDB :

    apiVersion: mongodb.com/v1
    kind: MongoDBUser
    metadata:
    name: mms-scram-user-1
    spec:
    passwordSecretKeyRef:
    name: mms-user-1-password
    # Match to metadata.name of the User Secret
    key: password
    username: "mms-scram-user-1"
    db: "admin" #
    mongodbResourceRef:
    name: "demo-mongodb-cluster-1"
    # Match to MongoDB resource using authenticaiton
    roles:
    - db: "admin"
    name: "clusterAdmin"
    - db: "admin"
    name: "userAdminAnyDatabase"
    - db: "admin"
    name: "readWrite"
    - db: "admin"
    name: "userAdminAnyDatabase"
  2. Execute o seguinte comando:

    kubectl apply -f <database-user-conf>.yaml
11

Você pode visualizar o usuário recém-criado no Cloud Manager ou Ops Manager:

  1. Na visualização Deployment do projeto, clique na guia Security.

  2. Clique no separador MongoDB Users aninhado.

12

Execute as seguintes etapas no aplicativo Cloud Manager:

  1. Clique em Deployment na navegação à esquerda.

  2. Clique em para o sistema ao qual você deseja se conectar.

  3. Clique em Connect to this instance.

  4. Execute o comando de conexão em um terminal para se conectar ao sistema.

← Operador de Kubernetes do MongoDB Enterprise