Início rápido do OpenShift
Nesta página
- Pré-requisitos
- Procedimento
- Clone o repositório do MongoDB Enterprise Kubernetes Operator.
- Crie um namespace para sua implantação do Kubernetes.
- Configure o
kubectl
como padrão para seu namespace. - Instale o MongoDB Enterprise Kubernetes Operator
- Crie credenciais e armazene-as como um segredo.
- Invoke the following command to create a ConfigMap.
- Implemente o recurso conjunto de réplicas.
- Crie um segredo com sua senha de usuário do banco de dados
- Criar um utilizador de banco de dados.
- Opcional: visualize o usuário recém-criado no Cloud Manager ou no Ops Manager.
- Conecte ao conjunto de réplicas.
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.
Pré-requisitos
Este tutorial requer:
Um cluster do Cloud Manager ou do Ops Manager em execução.
Procedimento
Clone o repositório do MongoDB Enterprise Kubernetes Operator.
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
Instale o MongoDB Enterprise Kubernetes Operator
Invoque o seguinte comando oc para instalar o CustomResourceDefinitions para implantações do MongoDB:
oc apply -f crds.yaml Adicione seu
<openshift-pull-secret>
às definições doServiceAccount
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> Invocar o seguinte comando oc para instalar o Kubernetes Operator:
oc apply -f mongodb-enterprise-openshift.yaml
Crie credenciais e armazene-as como um segredo.
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>"
Invoke the following command to create a ConfigMap.
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 Para saber mais, consulte a documentação do Kubernetes sobre nomes. | my-project |
metadata.namespace | string | 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 Para usar um projeto existente em uma organização do Cloud Manager ou do Ops Manager, localize o | 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:
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 | 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 Se estiver usando o Cloud Manager, defina o valor | https://ops.example.com:8443 |
Implemente o recurso conjunto de réplicas.
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 Execute o seguinte comando:
kubectl apply -f <replica-set-conf>.yaml
Crie um segredo com sua senha de usuário do banco de dados
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
Criar um utilizador de banco de dados.
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" Execute o seguinte comando:
kubectl apply -f <database-user-conf>.yaml
Conecte-se ao conjunto de réplicas.
Execute as seguintes etapas no aplicativo Cloud Manager:
Clique em Deployment na navegação à esquerda.
Clique em para o sistema ao qual você deseja se conectar.
Clique em Connect to this instance.
Execute o comando de conexão em um terminal para se conectar ao sistema.