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

Criar um projeto usando um ConfigMap

Nesta página

  • Considerações
  • Pré-requisitos
  • Criar um projeto usando um ConfigMap
  • Conecte-se ao Ops Manager habilitado para HTTPS usando uma CA personalizada
  • Próximos passos

O Operador do MongoDB Enterprise Kubernetes utiliza um Kubernetes ConfigMap para vincular a um único e exclusivo Projeto do Ops Manager. Se o projeto referenciado não existir, o Operador Kubernetes criará de acordo com o projectName que você fornece no ConfigMap.

Para criar um Kubernetes Operator ConfigMap, você pode editar algumas linhas do exemplo ConfigMap arquivoYAML e aplicar o ConfigMap. Para ver um exemplo completo, acesse project.yaml arquivo.

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

  1. Você pode distribuir 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 de usuário do banco de dados por projeto. Para saber mais, consulte Implantar um Recurso de Banco de Dados MongoDB.

  2. Você deve emparelhar um sistema do MongoDB Enterprise Kubernetes Operator com um exclusivo MongoDB Ops Manager Project. Você pode criar um ConfigMap distinto para cada instância do MongoDB Enterprise Kubernetes Operator que você implantar, ou você pode reutilizar o mesmo ConfigMap para qualquer número de sistemas omitindo o data.projectName do seu ConfigMap, para que os nomes do projeto se alinham com os nomes dos recursos implementados. Quando um nome de projeto for fornecido no mapa de configuração, se esse projeto ainda não existir, ele será criado.

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.

  • MongoDB Enterprise Kubernetes Operator versão 0.11 ou posterior 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 central, 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.

Dica

Veja também:

  • Documentação do Kubernetes sobre nomes. Este nome deve seguir RFC1123 convenções de nomenclatura, usando apenas caracteres alfanuméricos minúsculos, - ou ., e deve começar e terminar com um caractere alfanumérico.

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 .

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.

Especifique uma organização existente:

1

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

2

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

Observação

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 Ops Manager com o Kubernetes Operator e o Ops Manager gerenciar os recursos do banco de dados MongoDB implantados fora do cluster do Kubernetes em que foi implantado, será necessário definir data.baseUrl com o mesmo valor da configuração spec.configuration.mms.centralUrl na especificação de recursos do Ops Manager.

Observação

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 requer o certificado CA raiz do CA que emitiu o certificado do host do MongoDB Ops Manager . Execute o seguinte comando para criar um ConfigMap contendo a CA raiz no mesmo namespace dos pods do seu banco de dados:

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 ser entre aspas simples ou o operador lançará um erro.

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

Importante

Sempre inclua a opção de namespace com kubectl. kubectl O padrão é um namespace vazio se você não especificar a -n opção , resultando em falhas no sistema. Você deve especificar o valor do campo <metadata.namespace> . O Operador Kubernetes, segredo, e os MongoDB recursos devem ser executados no mesmo namespace exclusivo.

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.

Voltar

Crie Credenciais para o

Próximo

Gerar certificados de cliente X.509