Para que el operador de Kubernetes pueda crear o actualizar objetos en su proyecto de Cloud Manager u Ops Manager, debe almacenar su clave API programática en su herramienta de almacenamiento de secretos.
Pueden haber múltiples secretos en el mismo namespace. Cada usuario debe tener su propio secreto.
Puede seguir el procedimiento que se describe a continuación para almacenar manualmente la clave API programática como un secreto de Kubernetes. Alternativamente, puede:
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 rol de Organization Owner o
Global Owner, si deseas 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 otorgar a la clave API programática el rol de Organization Owner o
Global Owner. Si desea conceder a la clave de API programática solo el Project Owner rol, primero debe crear el Proyecto y, a continuación, la clave de API programática para el Proyecto con el Project Owner rol. El operador de Kubernetes no puede crear proyectos si la clave API programática solo tiene el rol de Project Owner.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