Para que el operador de Kubernetes cree o actualice objetos en su proyecto de Cloud Manager u Ops Manager, debe almacenar su clave de API programática en su 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 siguiendo el procedimiento para crear un secreto de Vault. Para usar Vault, también debe 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:
El Propietario de la organización o
Global Ownerrol, si quieres que el Operador de Kubernetes cree proyectos y los gestione.El rol de Propietario del proyecto, si deseas que el operador de Kubernetes solo gestione proyectos.
Nota
Debe asignar a la clave de API programática el rol de propietario de la
Global Ownerorganización o. Si desea asignar solo el rol de propietario del proyecto a la clave de API programática, primero debe crear el proyecto y, a continuación, la clave de API programática para el proyecto con dicho rol. El operador de Kubernetes no puede crear proyectos si la clave de API programática solo tiene el rol de propietario del proyecto.Agregar el IP o CIDR bloque de cualquier host que sirva el Operador de Kubernetes a la Lista de acceso a la API.
Procedimiento
Para crear su 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 obsoleta de este comando especifica
userypublicApiKeyen lugar depublicKeyyprivateKey. El operador de Kubernetes acepta cualquiera de las dos versiones para la autenticación.
Verifica tu nuevo secreto de Kubernetes
Invoque 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