Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Criar um projeto por sistema do MongoDB usando um ConfigMap

The MongoDB Controllers for Kubernetes Operator uses a Kubernetes ConfigMap to link to a single and unique Ops Manager Project. If the referenced project doesn't exist, the Kubernetes Operator creates it according to the projectName that you provide in the ConfigMap.

Para criar um Kubernetes Operator ConfigMap, você pode editar algumas linhas do exemplo ConfigMap arquivo YAML e aplicar o ConfigMap. Para visualizar um exemplo completo, consulte o arquivo .yaml do projeto.

Como alternativa, você pode usar a MongoDB Cloud Manager interface do usuário do ou a MongoDB Ops Manager interface do usuário do para criar ou escolher um projeto e gerar automaticamente o arquivo YAML do ConfigMap, que você pode aplicar ao seu Kubernetes ambiente .

  1. Você pode implantar apenas um recurso MongoDB por projeto. Esse limite se aplica porque o Ops Manager permite apenas um método de autenticação para o acesso do trigger de banco de dados por projeto. Para saber mais, consulte Implementar um recurso de reconhecimento de data center MongoDB.

  2. You must pair a MongoDB Controllers for Kubernetes Operator deployment to a unique Ops Manager Project. You can either create a distinct ConfigMap for each MongoDB Controllers for Kubernetes Operator instance you deploy, or you can reuse the same ConfigMap for any number of deployments by omitting the data.projectName from your ConfigMap, so that project names align with deployed resource names. Where a project name is provided in the config map, if that project does not exist yet it will be created.

Importante

  • 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.

  • Kubernetes versão 1.11 ou posterior ou OpenShift versão 3.11 ou posterior.

  • Controladores MongoDB para operador Kubernetes

    instalado.

1

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

Observação

Se você estiver implantando um recurso MongoDB Ops Manager em um sistema do MongoDB de vários clusters Kubernetes:

  • Defina context como o nome do cluster de operadores, como: kubectl config set context "$MDB_CENTRAL_CLUSTER_FULL_NAME".

  • Defina --namespace para o mesmo escopo usado para sua implantação do MongoDB de vários clusters Kubernetes, como: kubectl config --namespace "mongodb".

kubectl config set-context $(kubectl config current-context) --namespace=<metadata.namespace>
2
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 1123 convenções de nomenclatura RFC, contendo apenas caracteres alfanuméricos minúsculos ou,- 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

Kubernetes namespace where the Kubernetes Operator creates this MongoDB resource and other objects.

mongodb

data.projectName

string

Etiqueta do seu Projeto Ops Manager.

The Kubernetes Operator creates the Ops Manager project if it does not exist. If you omit the projectName, the Kubernetes Operator creates a project with the same name as your Kubernetes resource.

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 Cloud Manager ou 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 Ops Manager Organização e Projeto.

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.

    Select your organization, view the current URL in your browser and copy the value displayed in the <orgId> placeholder as follows:

    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

O URL para seu aplicativo do 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

3
kubectl describe configmaps <configmap-name>

Este comando retorna uma descrição do ConfigMap no shell:

Name: <configmap-name>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
baseUrl:
----
<myOpsManagerURL>
Events: <none>

Você pode ter optado por usar seu próprio certificado TLS para habilitar o HTTPS para sua instância do Ops Manager. Se você usou um certificado personalizado, precisará adicionar a CA que assinou esse certificado personalizado ao Kubernetes Operator. Para adicionar sua CA personalizada, faça o seguinte:

1

O Kubernetes Operator exige o certificado CA raiz do CA que emitiu o certificado do host do Ops Manager. Execute o seguinte comando para criar um ConfigMap contendo a CA raiz no mesmo namespace de seu banco de dados Pods:

kubectl -n <metadata.namespace> create configmap <root-ca-configmap-name> \
--from-file=mms-ca.crt

Importante

O Operador Kubernetes exige que você nomeie o certificado do recurso do Ops Manager mms-ca.crt no ConfigMap.

2
1---
2apiVersion: v1
3kind: ConfigMap
4metadata:
5 name: <my-configmap>
6 namespace: <my-namespace>
7data:
8 projectName: <my-ops-manager-project-name> # this is an optional parameter
9 orgId: <org-id> # this is a required parameter
10 baseUrl: https://<my-ops-manager-URL>
11 sslMMSCAConfigMap: <root-ca-configmap-name>
12 sslRequireValidMMSServerCertificates: ‘true’
13...
3
  1. Invoque o seguinte comando para editar o ConfigMap do seu projeto no editor configurado padrão:

    kubectl edit configmaps <my-configmap> -n <metadata.namespace>
  2. Cole a seção destacada no exemplo ConfigMap no final do projeto ConfigMap.

4

Altere as seguintes chaves TLS :

Chave
Tipo
Descrição
Exemplo

sslMMSCAConfigMap

string

Nome do ConfigMap criado na primeira etapa contendo o certificado CA raiz usado para assinar o MongoDB Ops Manager certificado do host do . Isso monta o certificado da CA para o Kubernetes Operator e os recursos do banco de dados.

my-root-ca

sslRequireValidMMSServerCertificates

booleano

Força o operador a exigir um certificado TLS válido do MongoDB Ops Manager.

IMPORTANTE: o valor deve estar entre aspas simples ou o operador lançará um erro.

'true'

5
6
kubectl describe configmaps <my-configmap> -n <metadata.namespace>

Importante

Always include the namespace option with kubectl. kubectl defaults to an empty namespace if you don't specify the -n option, resulting in deployment failures. You must specify the value of the <metadata.namespace> field. The Kubernetes Operator, secret, and MongoDB resources should run in the same unique namespace.

Este comando retorna uma descrição do ConfigMap no shell:

Name: <my-configmap>
Namespace: <namespace>
Labels: <none>
Annotations: <none>
Data
====
sslMMSCAConfigMap:
----
<root-ca-configmap-name>
sslRequireValidMMSServerCertificates:
----
true
Events: <none>

Agora que você criou seu ConfigMap, crie Credenciais para o Kubernetes Operator antes de começar a implantar recursos do MongoDB.