Para que el Kubernetes Operator cree o actualice objetos en tu Cloud Manager u Ops Manager Proyecto, debes almacenar tu clave API programática en tu herramienta de almacenamiento secreto.
Pueden haber múltiples secretos en el mismo namespace. Cada usuario debe tener su propio secreto.
Puede seguir el procedimiento a continuación para almacenar manualmente la clave API programática como un secreto de Kubernetes. Como alternativa, puedes:
Utiliza la Interfaz de Usuario de MongoDB Cloud Manager o la Interfaz de Usuario de Ops Manager para generar automáticamente el archivo YAML del secreto de Kubernetes, que luego puedes aplicar a tu entorno de Kubernetes.
Almacene la clave API programática como un secreto de Vault utilizando el procedimiento para crear un secreto de Vault. Para usar Vault, también debes configurar el almacenamiento de secretos.
Requisitos previos
Para crear credenciales para el Operador de Kubernetes, debes:
Tenga o cree una Organización de Ops Manager.
Tener o generar una clave API programática.
Concede esta nueva Clave API programática:
The Organization Owner or
Global Ownerrole, if you want the Kubernetes Operator to create projects and manage them.El rol de Propietario del proyecto, si deseas que el operador de Kubernetes solo gestione proyectos.
Nota
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.Agrega el bloque IP o CIDR de cualquier host que sirva el Kubernetes operador a la Lista de Acceso API.
Procedimiento
Para crear tu secreto de Kubernetes:
Crear un nuevo secreto de Kubernetes
Asegúrate de tener las claves pública y las llaves privadas para tu clave API programática deseada de Ops Manager.
Ejecútese el siguiente comando de Kubernetes para crear su secret:
kubectl -n <metadata.namespace> \ create secret generic <mycredentials> \ --from-literal="publicKey=<publicKey>" \ --from-literal="privateKey=<privateKey>" La bandera
-nlimita el namespace al que se aplica este secreto. Todos los recursos de MongoDB en Kubernetes deben existir en el mismo namespace que los secrets y ConfigMaps. El Kubernetes operador no utiliza ni los secretos ni los ConfigMaps.Nota
La versión en desuso de este comando especifica un
usery unpublicApiKeyen lugar de unpublicKeyy unprivateKey. El Operador de Kubernetes acepta cualquiera de las versiones para la autenticación.
Verifica tu nuevo secreto de Kubernetes
Ejecute el siguiente comando de Kubernetes para verificar su secreto:
kubectl describe secrets/<mycredentials> -n <metadata.namespace>
Este comando devuelve una descripción secreta en el shell:
Name: <mycredentials> Namespace: <metadata.namespace> Labels: <none> Annotations: <none> Type: Opaque Data ==== privateKey: 31 bytes publicKey: 22 bytes