Conecte-se a um recurso de banco de dados MongoDB a partir de Kubernetes internos
O procedimento a seguir descreve como se conectar a um recurso do MongoDB distribuído em Kubernetes a partir de dentro do cluster de Kubernetes.
Considerações
Você deve conseguir se conectar ao host e à porta onde implantou seu recurso do Kubernetes. Para saber mais sobre como se conectar à sua implantação, consulte Conectar a um processo MongoDB.
Procedimento
Recupere e execute o comando de conexão para sua implementação. Você pode recuperar o comando de conexão a partir do aplicativo MongoDB Ops Manager ou Cloud Manager , dependendo de onde seus clusters estão hospedados. Você também pode recuperar o comando de conexão do segredo do Kubernetes que o Kubernetes Operator cria automaticamente quando você adiciona um usuário MongoDB com autenticação SCRAM ou X509.
O procedimento para se conectar a um recurso de banco de dados MongoDB varia de acordo com a forma como você deseja recuperar a string de conexão:
Execute as seguintes etapas no aplicativo Gerenciador de Operações ou Gerenciador de Nuvem, dependendo de onde seus clusters são hospedados:
Execute o comando de conexão em um terminal para se conectar ao sistema.
Exemplo
Para conectar a um recurso de agrupamento fragmentado denominado shardedcluster
, você pode utilizar a seguinte string de conexão:
mongosh --host shardedcluster-mongos-0.shardedcluster-svc.mongodb.svc.cluster.local \ --port 27017
Ao se conectar a um recurso de dentro do Kubernetes, o nome do host ao qual você se conecta tem o seguinte formulário:
<k8s-pod-name>.<k8s-internal-service-name>.<k8s-namespace>.<cluster-name>
Quando você cria um novo MongoDB database usuário do , o operadorKubernetes cria automaticamente um novo Kubernetes segredo. O segredo do Kubernetes contém as seguintes informações sobre o novo usuário do banco de dados:
username
: Nome de usuário para o usuário de banco de dados de dadospassword
: Senha do usuário de banco de dados de dadosconnectionString.standard
: string de conexão padrão que pode conectar você ao banco de banco de dados como esse usuário de banco de dados de dados.connectionString.standardSrv
: connection string da lista de sementes de DNS que pode conectar você ao banco de dados como esse usuário do banco de dados.
Observação
Como alternativa, você pode especificar um campo spec.connectionStringSecretName
opcional na Especificação de Recurso de Usuário do MongoDB para especificar o nome do segredo da string de conexão que o Kubernetes Operator cria.
Execute as etapas a seguir para visualizar as credenciais e usar a string de conexão para se conectar ao MongoDB:
Execute o comando para visualizar o arquivo secreto do Kubernetes.
Execute o seguinte comando em um terminal para visualizar o segredo, substituindo as variáveis pelos valores na tabela:
Espaço reservado | Descrição |
---|---|
{MongoDB-Resource-Name} | Rótulo legível por humanos que identifica o recurso MongoDB. |
{User-Name} | Rótulo legível por humanos que identifica o usuário MongoDB. |
kubectl get secret {MongoDB-Resource-Name}-{User-Name}-admin -o jsonpath='{.data}'
Se este comando retornar um erro, você poderá verificar o nome do segredo executando o seguinte comando e recuperando o nome correto:
kubectl get secrets
Execute o comando de conexão.
Use o valor connectionString.standard
em uma connection string para se conectar ao sistema.
mongosh {connectionString.standard}
(Opcional) Monte o segredo do Kubernetes em seu pod.
Você pode montar o segredo no seu pod para garantir que seus aplicativos possam acessar as credenciais.