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
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-kubernetes.yaml. También debe actualizar el valor subjects[0].namespace en cada RoleBinding y ClusterRoleBinding en el mismo archivo. Si omite este valor, los enlaces buscan el ServiceAccount en el namespace mongodb por defecto y no lo encuentran:
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncatedPersonaliza tu archivo YAML del operador de Kubernetes antes de actualizarlo.
Si es necesario, encuentra el archivo de ejemplo de implementación YAML correspondiente para la versión elegida del Operador de Kubernetes en el repositorio de GitHub. Luego, para evitar cambios disruptivos, personaliza el archivo de ejemplo YAML para que coincida con los detalles de configuración de tu operador de Kubernetes actualmente implementado.
Actualiza a la nueva versión del Operador de Kubernetes.
Implementa tu operador de Kubernetes personalizado ejecutando lo siguiente:
kubectl apply -f <customized-operator-yaml-file>.yamlSi no necesitas modificar el YAML de implementación proporcionado, puedes aplicarlo directamente de la siguiente manera:
Multi-Clúster
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/mongodb-kubernetes-multi-cluster.yamlClúster único
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/mongodb-kubernetes.yamlUtiliza 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-kubernetesSi 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 mongodbSi no tiene instalado el repositorio Helm localmente, puede instalarlo ejecutando:
helm repo add mongodb https://mongodb.github.io/helm-chartsPersonaliza 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 --install mongodb-kubernetes-operator mongodb/mongodb-kubernetesPuedes 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 --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \--namespace mongodb \--create-namespaceActualizar 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
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-kubernetes-openshift.yaml. También debe actualizar el valor subjects[0].namespace en cada RoleBinding y ClusterRoleBinding en el mismo archivo. Si omite este valor, los enlaces buscan el ServiceAccount en el namespace mongodb por defecto y no lo encuentran:
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-operator namespace: production
apiVersion: rbac.authorization.k8s.io/v1kind: RoleBindingmetadata: name: mongodb-kubernetes-operator namespace: productionroleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: mongodb-kubernetes-operatorsubjects: - kind: ServiceAccount name: mongodb-kubernetes-operator namespace: production
apiVersion: apps/v1kind: Deploymentmetadata: name: mongodb-kubernetes-operator namespace: production
# Example truncatedPersonaliza 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: v1kind: ServiceAccountmetadata: name: enterprise-operator
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-appdb
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>
apiVersion: v1kind: ServiceAccountmetadata: name: mongodb-kubernetes-database-pods
namespace: mongodb
imagePullSecrets: - name: <openshift-pull-secret>Actualiza los CustomResourceDefinitions para implementaciones de MongoDB.
Ejecute el siguiente comando oc:
Ejecuta el siguiente comando oc para implementar la versión elegida de los CRDs en tu clúster de Kubernetes:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/crds.yamlActualiza a la nueva versión del Operador de Kubernetes.
Ejecuta el siguiente comando oc para implementar tu versión elegida del Operador de Kubernetes en tu clúster de Kubernetes:
oc apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/mongodb-kubernetes-openshift.yamlActualiza 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-kubernetesSi 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 mongodbSi no tiene instalado el repositorio Helm localmente, puede instalarlo ejecutando:
helm repo add mongodb https://mongodb.github.io/helm-chartsPersonaliza 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 --install mongodb-kubernetes-operator mongodb/mongodb-kubernetesPuedes 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 --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \--namespace mongodb \--create-namespacePara 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 foundPara 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: