Requisitos previos y consideraciones
Antes de instalar el operador de Kubernetes, asegúrate de planificar la instalación:
Elige una topología de implementación.
Lee las Consideraciones.
Completa los requisitos previos.
Nota
Este tutorial presupone cierto conocimiento de Kubernetes y contiene enlaces a documentación relevante de Kubernetes. Si no estás familiarizado con Kubernetes, revisa esa documentación primero.
Instala con Kubernetes
El procedimiento de instalación varía según cómo desees configurar tu entorno:
Nota
Se puede usar el mismo namespace siempre
De forma predeterminada, el operador de Kubernetes implementa todos los recursos de su clúster de Kubernetes en el espacio de nombres mongodbPuede implementar recursos de Kubernetes Operator en un espacio de nombres diferente editando todos los valores de metadata.namespace en mongodb-enterprise.yaml:
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-enterprise-operator namespace: production # Example truncated ...
Opcional: Personalice el operador de Kubernetes YAML antes de instalarlo.
Para aprender sobre la configuración opcional de instalación de Kubernetes Operator, se puede consultar Configuración de instalación de kubectl y oc del operador.
Nota
Para habilitar la vista previa pública de contenedores estáticos, que mejoran y simplifican la seguridad, consulta Contenedores estáticos (vista previa pública). No recomendamos usar esta funcionalidad en producción mientras está en vista previa pública.
Complete el marcador de posición <version> y ejecute el siguiente comando kubectl para implementar la versión elegida del operador de Kubernetes en su clúster de Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/<version>/mongodb-enterprise.yaml
Aplica los CRDs de MongoDB por tu cuenta.
Complete el marcador de posición <version> y ejecute el siguiente comando kubectl para implementar la versión elegida de los CRD en su clúster de Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-enterprise-kubernetes/<version>/crds.yaml
Utiliza los MongoDB Helm Charts para Kubernetes.
Añada los Helm Charts de MongoDB para Kubernetes.
Puedes añadir la gráfica Helm del operador de Kubernetes localmente ejecutando:
helm repo add mongodb https://mongodb.github.io/helm-charts
Personaliza tu gráfica de Helm antes de implementarla.
Para aprender más sobre las configuraciones opcionales de instalación del operador de Kubernetes, consulta Configuración de instalación del operador de Helm.
Implementa el operador de Kubernetes.
Ejecuta el siguiente comando helm para implementar el operador de Kubernetes en el namespace por defecto de tu clúster de Kubernetes:
helm upgrade --install enterprise-operator mongodb/enterprise-operator
Puedes pasar las banderas --namespace y --create-namespace para implementar el operador de Kubernetes en un namespace que no esté establecido por defecto, de la siguiente manera:
helm upgrade --install enterprise-operator mongodb/enterprise-operator \ --namespace mongodb \ --create-namespace
Instala una compilación diaria específica con Helm
MongoDB reconstruye las imágenes del operador de Kubernetes todos los días para integrar las últimas actualizaciones de seguridad y del sistema operativo.
Por defecto, helm instala la última compilación para la versión del operador de Kubernetes que especifiques.
Para instalar una versión anterior, especifica el ID de compilación como un parámetro con --set build=<build-id>. Los IDs de compilación siempre están en el formato -b<YYYYMMDD>T000000Z, donde <YYYYMMDD> es la fecha en que se creó la compilación que quieres utilizar.
Ejemplo
Este ejemplo muestra cómo instalar el Operador de Kubernetes con la imagen más reciente:
helm install enterprise-operator mongodb/enterprise-operator
Este ejemplo muestra cómo instalar el operador de Kubernetes con la imagen creada en la medianoche del 5 de febrero de 2021:
helm install enterprise-operator mongodb/enterprise-operator \ --set build=-b20210205T000000Z
Nota
MongoDB recomienda usar el compilado por defecto (más reciente).
Instala con OpenShift
Antes de comenzar, asegúrate de que el indicador MANAGED_SECURITY_CONTEXT esté configurado en true cuando implementes el operador de Kubernetes en OpenShift. Este valor está predefinido en el archivo values-openshift.yaml.
El procedimiento de instalación varía según cómo desees configurar tu entorno:
Nota
Se puede usar el mismo namespace siempre
Por defecto, el operador de Kubernetes implementa todos los recursos de tu clúster de Kubernetes en el namespace mongodb. Puedes implementar recursos de operador de Kubernetes en otro namespace diferente editando todos los valores para metadata.namespace en mongodb-enterprise-openshift.yaml:
##--- # Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: production ##--- # Source: mongodb-enterprise-operator/templates/operator.yaml apiVersion: apps/v1 kind: Deployment metadata: name: enterprise-operator namespace: production # Example truncated ...
Clona el repositorio de MongoDB Enterprise Kubernetes Operator.
Ejecuta el siguiente comando git:
git clone https://github.com/mongodb/mongodb-enterprise-kubernetes.git
Navegue hasta el directorio en el que clonó el repositorio del operador de Kubernetes de MongoDB Enterprise.
Por ejemplo, si se ha clonado el repositorio en el directorio principal, se debe ejecutar:
cd ~/mongodb-enterprise-kubernetes
Instale CustomResourceDefinitions para implementaciones de MongoDB.
Invoca el siguiente comando oc:
oc apply -f crds.yaml
Opcional: Personalizar YAML del operador de Kubernetes antes de instalarlo.
Para aprender sobre la configuración opcional de instalación de Kubernetes Operator, se puede consultar Configuración de instalación de kubectl y oc del operador.
Nota
Para habilitar la vista previa pública de contenedores estáticos, que mejoran y simplifican la seguridad, consulta Contenedores estáticos (vista previa pública). No recomendamos usar esta funcionalidad en producción mientras está en vista previa pública.
Añada <openshift-pull-secret> a las definiciones ServiceAccount en YAML del operador de Kubernetes antes de instalarlo.
# Source: mongodb-enterprise-operator/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-appdb namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-enterprise-database-pods namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret>
Para obtener más información, se puede consultar la configuración registry.imagePullSecrets en la configuración de instalación de Helm.
Utiliza los MongoDB Helm Charts para Kubernetes.
Puedes instalar el operador de Kubernetes con Helm 3.
Agrega el repositorio Helm Charts de MongoDB para Kubernetes a Helm.
helm repo add mongodb https://mongodb.github.io/helm-charts
Instale el operador Kubernetes utilizando helm.
Instala los Helm Charts de MongoDB para Kubernetes:
helm install enterprise-operator mongodb/enterprise-operator \ --values https://raw.githubusercontent.com/mongodb/helm-charts/main/charts/enterprise-operator/values-openshift.yaml
Usa la configuración del archivo values-openshift.yaml. Para aprender sobre la configuración de instalación opcional del operador de Kubernetes, consulta Configuración de instalación del operador de Helm.
Nota
Para habilitar la vista previa pública de contenedores estáticos, que mejoran y simplifican la seguridad, consulta Contenedores estáticos (vista previa pública). No recomendamos usar esta funcionalidad en producción mientras está en vista previa pública.
Instala una compilación diaria específica con Helm
MongoDB reconstruye las imágenes del operador de Kubernetes todos los días para integrar las últimas actualizaciones de seguridad y del sistema operativo.
Por defecto, helm instala la última compilación para la versión del operador de Kubernetes que especifiques.
Para instalar una versión anterior, especifica el ID de compilación como un parámetro con --set build=<build-id>. Los IDs de compilación siempre están en el formato -b<YYYYMMDD>T000000Z, donde <YYYYMMDD> es la fecha en que se creó la compilación que quieres utilizar.
Ejemplo
Este ejemplo muestra cómo instalar el Operador de Kubernetes con la imagen más reciente:
helm install enterprise-operator mongodb/enterprise-operator
Este ejemplo muestra cómo instalar el operador de Kubernetes con la imagen creada en la medianoche del 5 de febrero de 2021:
helm install enterprise-operator mongodb/enterprise-operator \ --set build=-b20210205T000000Z
Nota
MongoDB recomienda usar el compilado por defecto (más reciente).
Verifica la instalación
Para verificar que el Operador de Kubernetes se instaló correctamente, ejecuta el siguiente comando y verifica el resultado:
kubectl describe deployments mongodb-enterprise-operator -n <metadata.namespace>
oc describe deployments mongodb-enterprise-operator -n <metadata.namespace>
Por defecto, las implementaciones existen en el namespace mongodb. Si aparece el siguiente mensaje de error, asegúrate de utilizar el namespace correcto:
Error from server (NotFound): deployments.apps "mongodb-enterprise-operator" not found
Para solucionar problemas de tu operador de Kubernetes, consulta Revisión de registros del operador de Kubernetes y otros temas de solución de problemas.
Importante
Si necesitas eliminar el operador Kubernetes o el namespace, primero debes eliminar los recursos de MongoDB.
Próximos pasos
Después de instalar MongoDB Enterprise Kubernetes Operator, puede: