Menu Docs

Início rápido para o operador Kubernetes

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:

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 --create-namespace opcional. 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 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 authentication
    roles:
    - db: "admin"
    name: "clusterAdmin"
    - db: "admin"
    name: "userAdminAnyDatabase"
    - db: "admin"
    name: "readWrite"
  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.