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:
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
Debes conceder a la clave API programática el rol de Propietario(a) de organización o el rol de
Global Owner. Si deseas otorgar a la clave API programática únicamente el rol de Propietario del proyecto, primero debes crear el proyecto y luego la clave API programática para el proyecto con el rol de Propietario del proyecto. El Operador de Kubernetes no puede crear proyectos si la Clave 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 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