Para que o Operador do Kubernetes crie ou atualize objetos em seu Projeto do Cloud Manager ou Ops Manager, você precisa armazenar sua Chave de API programática em sua ferramenta de armazenamento secreto.
Vários segredos podem existir no mesmo namespace. Cada usuário deve ter seu próprio segredo.
Você pode seguir o Procedimento abaixo para armazenar manualmente a Chave de API programática como um segredo do Kubernetes. Como alternativa, você pode:
Use a MongoDB Cloud Manager interface do usuário do ou a MongoDB Ops Manager interface do usuário do para gerar automaticamente o Kubernetes arquivo YAML secreto do , que você pode aplicar ao seu Kubernetes ambiente do .
Armazene a chave de API programática como um segredo de cofre usando o procedimento para Criar um segredo de cofre. Para usar o Vault, você também deve configurar o armazenamento secreto.
Pré-requisitos
Para criar credenciais para o Operador Kubernetes, você deve:
Ter ou criar uma organização MongoDB Ops Manager .
Ter ou gerar uma chave de API programática.
Conceda esta nova chave de API programática:
The Organization Owner or
Global Ownerrole, if you want the Kubernetes Operator to create projects and manage them.A role "Proprietário do projeto" , se você quiser que o operador Kubernetes gerencie apenas projetos.
Observação
You must grant the Programmatic API Key the Organization Owner or
Global Ownerrole. If you want to grant the Programmatic API Key only the Project Owner role, you must first create the project and then the Programmatic API Key for the project with the Project Owner role. The Kubernetes Operator can't create projects if the Programmatic API Key has only the Project Owner role.Adicione o bloco IP ou CIDR de qualquer host que atenda ao operador Kubernetes à lista de acesso da API.
Procedimento
Para criar seu segredo do Kubernetes:
Criar um novo segredo do Kubernetes
Certifique-se de ter as chaves pública e privada para a chave de API programática do Ops Manager desejada.
Invoque o seguinte comando do Kubernetes para criar seu segredo:
kubectl -n <metadata.namespace> \ create secret generic <mycredentials> \ --from-literal="publicKey=<publicKey>" \ --from-literal="privateKey=<privateKey>" O sinalizador
-nlimita o namespace ao qual esse segredo se aplica. Todos os recursos do MongoDB Kubernetes devem existir no mesmo namespace que os segredos e ConfigMaps. O Kubernetes Operator não usa os segredos nem o ConfigMaps.Observação
A versão obsoleta deste comando especifica um
userepublicApiKeyem vez de umpublicKeyeprivateKey. O Kubernetes Operator aceita qualquer versão para autenticação.
Verifique seu novo segredo do Kubernetes
Invoque o seguinte comando do Kubernetes para verificar seu segredo:
kubectl describe secrets/<mycredentials> -n <metadata.namespace>
Este comando retorna uma descrição secreta na shell:
Name: <mycredentials> Namespace: <metadata.namespace> Labels: <none> Annotations: <none> Type: Opaque Data ==== privateKey: 31 bytes publicKey: 22 bytes