Siga los pasos para su tipo de implementación para comenzar a gestionar sus implementaciones de MongoDB Enterprise y Ops Manager con MongoDB Controllers para Kubernetes Operator en lugar de la MongoDB Enterprise Kubernetes Operator.
Migrar del MongoDB Enterprise Operator a MongoDB Controllers for Kubernetes Operator para la mayoría de las implementaciones
Sigue estos pasos para migrar en la mayoría de los escenarios de implementación. Si estás utilizando Operator Lifecycle Manager (OLM) para gestionar tus implementaciones del operador (normalmente en clústeres OpenShift), consulta estos pasos en su lugar.
Actualiza a la v1.33 del MongoDB Enterprise Kubernetes Operator.
Actualice su implementación de MongoDB Enterprise Kubernetes Operator a la v1.33 antes de migrar. El proceso de actualización requiere que actualice de forma incremental a través de cada versión secundaria. Por ejemplo, si está actualizando desde la versión 1.31.x, primero debe actualizar a la v 1.32.x antes de continuar con la v 1.33.x.
Realice las dos siguientes tareas si ha implementado recursos con MCG en varios clústeres de Kubernetes:
Haz una copia de seguridad del binario del complemento
kubectl. Esto facilita revertir la migración hacia los controladores de MongoDB para el operador de Kubernetes si surgen problemas.Configure los clústeres de nodos ya sea siguiendo la documentación de configuración de clústeres múltiples (asegurándose de utilizar el plugin
kubectlde la versión del operador de MongoDB Controllers para Kubernetes) o manualmente utilizando plantillas de Helm.Importante
Los RBAC del operador MongoDB Controllers para Kubernetes deben implementarse en los clústeres de nodos antes de implementar el operador MongoDB Controllers para Kubernetes en el paso 5. Los nuevos recursos de RBAC comienzan con
mongodb-kubernetes-operator-. También debe asegurarse de que elmongodb-kubernetes-operator-member-listesté presente en su clúster central después de ejecutar la versión más reciente del binario del complementokubectl.
Instala manualmente los MongoDB Controllers para los CRD del operador de Kubernetes.
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.4.0/public/crds.yamlPara verificar que los CRD están instalados en tu clúster de Kubernetes, busca el CRD mongodbcommunity:
Tip
Los nombres de recursos personalizados para Ops Manager y MongoDB Enterprise no han cambiado en los MongoDB Controllers para el operador Kubernetes. Aunque es posible que no tenga recursos de la comunidad de MongoDB implementados, buscar recursos personalizados mongodbcommunity es la forma más sencilla de verificar la instalación de los controladores de MongoDB para Kubernetes Operator.
kubectl get crds | grep mongodbcommunityInstala los nuevos controladores de MongoDB para Kubernetes operador desde la gráfica Helm.
Advertencia
Si ha anulado los valores por defecto de la gráfica de Helm para su implementación del Enterprise Kubernetes Operator, no debe usar los mismos valores para su implementación del Operador de Controladores de MongoDB para Kubernetes, ya que los nombres de los recursos podrían entrar en conflicto y evitar que la migración se realice correctamente.
helm repo add mongodb https://mongodb.github.io/helm-charts && \helm repo update && \helm upgrade --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes --namespace <your-namespace>El reconciliador de MongoDB Controllers para Kubernetes operador se ejecuta y procesa los recursos personalizados existentes.
Los controladores de MongoDB para Kubernetes operador aplican imágenes actualizadas, ServiceAccounts, y otros recursos.
Importante
Este paso desencadena un reinicio en secuencia de los Pods desplegados, ya que los nombres de RBAC han cambiado de MongoDB Enterprise Kubernetes Operator a MongoDB Controllers for Kubernetes Operator.
Espera a que los recursos se reconcilien (lleguen a la fase Running) y se vuelvan saludables.
Por defecto, MongoDB Controllers para el operador de Kubernetes no concilia varios recursos en paralelo. Para cambiar el comportamiento por defecto, consulte https://github.com/mongodb/mongodb-kubernetes/blob/1.4.0/public/mongodb-kubernetes.yaml#L408 y aumente la variable de entorno MDB_MAX_CONCURRENT_RECONCILES.
Remover activos antiguos.
Ahora puedes remover la Helm gráfica para MongoDB Enterprise Kubernetes Operator, así como los RBAC en todos los clústeres de Kubernetes y cualquier binario de plugin kubectl respaldado.
Si has implementado recursos en varios clústeres de Kubernetes, ahora puedes remover de manera segura el mongodb-enterprise de los nodos miembros y borrar tu copia de seguridad binaria del complemento kubectl.
Migrar de MongoDB Enterprise Kubernetes operador a MongoDB Controllers for Kubernetes operador con el operador Lifecycle administrador (OLM) en OpenShift u otras plataformas
Para migrar del MongoDB Enterprise Kubernetes Operator a los MongoDB Controllers para Kubernetes Operator usando OLM (el método de implementación típico en clústeres OpenShift, pero también posible en otras plataformas de Kubernetes), se debe desinstalar el operador antiguo y luego instalar el nuevo:
Importante
Eliminar el Enterprise Kubernetes Operator no afecta a la base de datos ni a los recursos de Ops Manager que se despliegan en Kubernetes. El proceso de migración no afecta sus cargas de trabajo.
Borrar el ClusterServiceVersion (CSV) del antiguo MongoDB Enterprise Kubernetes Operator.
Por lo general, puedes encontrar el nombre del CSV listando los CSVs en el espacio de nombres del operador. Reemplaza <operator-namespace> y <csv-name> con los valores adecuados.
kubectl -n <operator-namespace> delete csv <csv-name>Instala los controladores MongoDB para el operador Kubernetes desde un catálogo disponible en tu clúster.
Los controladores de MongoDB para Kubernetes operadores están disponibles en el catálogo de operadores certificados de Red Hat, así como en el operatorhub.io catálogo.
kubectl create -f <path-to-bundle>Migrar del Community Kubernetes Operator a los MongoDB Controllers for Kubernetes operador
Consulta los siguientes recursos para aprender a migrar a MongoDB Controllers for Kubernetes Operator: