El siguiente procedimiento describe cómo actualizar el operador de Kubernetes a su versión más reciente. Este proceso de actualización se parece al proceso de instalación del operador de Kubernetes.
Actualiza los controladores de MongoDB para operador de Kubernetes corriendo en Kubernetes
Nota
Se puede usar el mismo namespace siempre
By default, the Kubernetes Operator deploys all resources in your Kubernetes cluster to the namespace mongodb. You can deploy Kubernetes Operator resources to a different namespace by editing all values for metadata.namespace in mongodb-kubernetes.yaml. You must also update the subjects[0].namespace value in every RoleBinding and ClusterRoleBinding in the same file. If you omit this value, the bindings look for the ServiceAccount in the default mongodb namespace and can't find it:
apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator namespace: production apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: mongodb-kubernetes-operator namespace: production roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operator subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator namespace: production # Example truncated ...
Personaliza tu operador de Kubernetes YAML antes de actualizarlo.
Para evitar cambios disruptivos, debe asegurarse de seleccionar la misma configuración que la de su implementación existente. Para obtener información sobre los ajustes opcionales de instalación del Operador de Kubernetes, consulta Configuraciones de instalación de Helm del Operador.
Actualiza a la nueva versión del Operador de Kubernetes.
Completa el marcador de posición <version> y ejecuta el siguiente comando kubectl para implementar la versión seleccionada del Operador de Kubernetes en su clúster de Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.4.0/public/mongodb-kubernetes.yaml
Utiliza los MongoDB Helm Charts para Kubernetes.
Actualiza a la última versión de los Helm Charts de MongoDB para Kubernetes.
Ejecute el siguiente comando para comprobar la versión de su plantilla Helm actual:
helm search repo mongodb/mongodb-kubernetes
Si la versión que tiene actualmente instalada no es la versión más reciente, ejecute el siguiente comando para actualizar su repositorio de Helm:
helm repo update mongodb
Si no tiene instalado el repositorio Helm localmente, puede instalarlo ejecutando:
helm repo add mongodb https://mongodb.github.io/helm-charts
Personaliza tu Helm gráfica antes de actualizarlo.
Para evitar cambios disruptivos, debe asegurarse de seleccionar la misma configuración que la de su implementación existente. Para obtener información sobre los ajustes opcionales de instalación del Operador de Kubernetes, consulta Configuraciones de instalación de Helm del Operador.
Actualiza 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 mongodb-kubernetes-operator mongodb/mongodb-kubernetes
Puedes pasar las banderas --namespace y --namespace-create para implementar el operador de Kubernetes en un namespace que no esté establecido por defecto, de la siguiente manera:
helm upgrade mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --namespace mongodb \ --create-namespace
Actualizar los controladores de MongoDB para el operador de Kubernetes que se ejecuta en OpenShift
Los siguientes pasos dependen de cómo esté configurado el entorno:
Nota
Se puede usar el mismo namespace siempre
By default, the Kubernetes Operator deploys all resources in your Kubernetes cluster to the namespace mongodb. You can deploy Kubernetes Operator resources to a different namespace by editing all values for metadata.namespace in mongodb-kubernetes-openshift.yaml. You must also update the subjects[0].namespace value in every RoleBinding and ClusterRoleBinding in the same file. If you omit this value, the bindings look for the ServiceAccount in the default mongodb namespace and can't find it:
apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-operator namespace: production apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: mongodb-kubernetes-operator namespace: production roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operator subjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production apiVersion: apps/v1 kind: Deployment metadata: name: mongodb-kubernetes-operator namespace: production # Example truncated ...
Personaliza el operador de Kubernetes YAML antes de actualizarlo.
Para evitar cambios disruptivos, debe asegurarse de seleccionar la misma configuración que la de su implementación existente. Para obtener información sobre los ajustes opcionales de instalación del Operador de Kubernetes, consulta Configuraciones de instalación de Helm del Operador.
Debes añadir tu <openshift-pull-secret> a las definiciones de ServiceAccount:
apiVersion: v1 kind: ServiceAccount metadata: name: enterprise-operator namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-appdb namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret> apiVersion: v1 kind: ServiceAccount metadata: name: mongodb-kubernetes-database-pods namespace: mongodb imagePullSecrets: - name: <openshift-pull-secret>
Actualiza a la nueva versión del Operador de Kubernetes.
Completa el marcador de posición <version> y ejecuta el siguiente oc:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.4.0/public/mongodb-kubernetes-openshift.yaml
Actualiza los CustomResourceDefinitions para implementaciones de MongoDB.
Ejecute el siguiente comando oc:
Completa el marcador de posición <version> y ejecuta el siguiente comando oc para implementar la versión deseada de los CRD en tu clúster de Kubernetes:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.4.0/public/crds.yaml
Actualiza a la última versión de los Helm Charts de MongoDB para Kubernetes.
Ejecute el siguiente comando para comprobar la versión de su plantilla Helm actual:
helm search repo mongodb/mongodb-kubernetes
Si la versión que tiene actualmente instalada no es la versión más reciente, ejecute el siguiente comando para actualizar su repositorio de Helm:
helm repo update mongodb
Si no tiene instalado el repositorio Helm localmente, puede instalarlo ejecutando:
helm repo add mongodb https://mongodb.github.io/helm-charts
Personaliza tu Helm gráfica antes de actualizarlo.
Para evitar cambios disruptivos, debe asegurarse de seleccionar la misma configuración que la de su implementación existente. Para obtener información sobre los ajustes opcionales de instalación del Operador de Kubernetes, consulta Configuraciones de instalación de Helm del Operador.
Actualiza 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 mongodb-kubernetes-operator mongodb/mongodb-kubernetes
Puedes pasar las banderas --namespace y --namespace-create para implementar el operador de Kubernetes en un namespace que no esté establecido por defecto, de la siguiente manera:
helm upgrade mongodb-kubernetes-operator mongodb/mongodb-kubernetes \ --namespace mongodb \ --create-namespace
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.
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-kubernetes-operator -n <metadata.namespace>
oc describe deployments mongodb-kubernetes-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-kubernetes-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 actualizar el MongoDB Controllers para Kubernetes operador, puedes: