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

Início rápido do OpenShift

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 Cluster Multi-Kubernetes.

O MongoDB Enterprise Kubernetes Operator usa a API e as ferramentas do Kubernetes para gerenciar clusters MongoDB. O Kubernetes Operator trabalha em conjunto com o MongoDB Cloud Manager ou Ops Manager. Este tutorial demonstra como implantar e conectar-se ao seu primeiro conjunto de réplicas no Cloud Manager ou no Ops Manager a partir do OpenShift com o Kubernetes Operator.

Este tutorial requer:

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

1
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
2

Por padrão, o Kubernetes Operator usa o namespace mongodb. Para simplificar a instalação, considere a criação de um namespace rotulado como mongodb usando o seguinte comando kubectl:

kubectl create namespace mongodb
3

Se você ainda não tiver 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. Invoque o seguinte comando oc para instalar o CustomResourceDefinitions para implantações do MongoDB:

    oc apply -f crds.yaml
  2. Adicione seu <openshift-pull-secret> às definições do ServiceAccount no arquivo MongoDB Enterprise Kubernetes Operator YAML.

    ---
    # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: enterprise-operator
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-enterprise-appdb
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: mongodb-enterprise-database-pods
    namespace: mongodb
    imagePullSecrets:
    - name: <openshift-pull-secret>
  3. Invocar o seguinte comando oc para instalar o Kubernetes Operator:

    oc apply -f mongodb-enterprise-openshift.yaml
5

Execute o seguinte comando:

Observação

Forneça seus valores de Chave Pública e Privada para os seguintes parâmetros. Para saber mais, consulte Criar Credenciais para o Operador Kubernetes.

kubectl -n mongodb \
create secret generic ops-manager-admin-key \
--from-literal="publicKey=<publicKey>" \
--from-literal="privateKey=<privateKey>"
6
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
namespace: mongodb
data:
projectName: myProjectName # this is an optional parameter; when omitted, the Operator creates a project with the resource name
orgId: 5b890e0feacf0b76ff3e7183 # this is a required parameter
baseUrl: https://ops.example.com:8443
EOF
Chave
Tipo
Descrição
Exemplo

metadata.name

string

Nome do objeto do Kubernetes.

Os nomes de recursos devem ter 44 caracteres ou menos.

Esse nome deve seguir as convenções de nomenclatura RFC , contendo apenas caracteres alfanuméricos minúsculos ou1123 - , e começar e terminar com um caractere alfanumérico.

Para saber mais, consulte a documentação do Kubernetes sobre nomes.

my-project

metadata.namespace

string

Namespace Kubernetes onde o Operador Kubernetes cria este MongoDB recurso do e outros objetos.

mongodb

data.projectName

string

Etiqueta do seu Projeto Ops Manager.

O Kubernetes Operator cria o projeto do MongoDB Ops Manager se ele não existir. Se você omitir o projectName, o Operador Kubernetes criará um projeto com o mesmo nome que seu recurso Kubernetes.

Para usar um projeto existente em uma organização do Cloud Manager ou do Ops Manager, localize o projectName clicando no link All Clusters no canto superior esquerdo da página do Cloud Manager ou do Ops Manager e pesquisando por nome na caixa Search ou rolando para encontrar o nome na lista. Cada cartão nesta lista representa a combinação de um Cloud Manager ou organização e projeto do Ops Manager.

myProjectName

data.orgId

string

Obrigatório. string hexadecimais de 24 caracteres que identificam exclusivamente sua organização Cloud Manager ou do MongoDB Ops Manager .

Você pode usar o Operador Kubernetes para implantar recursos do MongoDB com o Cloud Manager e o Ops Manager versão 6.0.x ou posterior.

Você pode usar o Atlas Operator para implantar recursos do MongoDB no Atlas.

Especifique uma organização existente:

  1. Encontre o ID da organização.

    Clique em Settings na barra de navegação à esquerda.

  2. Copie e cole o orgId na URL.

    Selecione sua organização, visualize a URL atual em seu navegador e copie o valor exibido no espaço reservado do <orgId> como segue:

    https://ops.example.com:8443/ v2#/org/<orgId>/projects

Você deve ter a função Organization Project Creator para criar um novo projeto em uma organização existente do Cloud Manager ou do Ops Manager.

Se você fornecer uma string vazia como seu orgId, o Kubernetes Operator criará uma organização com o mesmo nome que seu projeto.

5b890e0feacf0b76ff3e7183

data.baseUrl

string

URL para seu aplicativo Ops Manager, incluindo o FQDN e o número da porta.

IMPORTANTE: se você implantar o MongoDB Ops Manager com o Kubernetes Operator e o MongoDB Ops Manager gerenciar os recursos do banco de dados de dados do MongoDB fora do cluster do Kubernetes para o qual ele será distribuído, defina data.baseUrl para o mesmo valor da configuração spec.configuration.mms.centralUrl no MongoDB Ops Manager Especificação de recursos . Para saber mais, consulte Gerenciando sistemas externos do MongoDB .

Se estiver usando o Cloud Manager, defina o valor data.baseUrl como https://cloud.mongodb.com.

https://ops.example.com:8443

7
  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
8

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
9
  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
10

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.

11

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.

Voltar

Tutoriais do OpenShift