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 implementou seu recurso Kubernetes. Para saber mais sobre como se conectar à sua implementação, consulte Conectar-se a um processo do 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 aplicação Gerenciador de Operações ou Gerenciador de 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 operador do Kubernetes cria automaticamente quando você adiciona um usuário do 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 cluster 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 utilizador de banco de dadospassword
: Senha para o usuário do banco de dadosconnectionString.standard
: stringde conexão padrão que pode conectar você ao banco de dados como este usuário do banco de dados.connectionString.standardSrv
: stringconexão da lista de sementes de DNS que pode conectar você ao banco de dados como este 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.