Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / / /

Actualizar los controladores de MongoDB para el operador de Kubernetes

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.

Nota

Se puede usar el mismo namespace siempre

De forma predeterminada, el operador de Kubernetes implementa todos los recursos en su clúster de Kubernetes en namespace mongodb. Puedes implementar los recursos del Operador de Kubernetes en un namespace diferente editando todos los valores para metadata.namespace en mongodb-kubernetes.yaml:

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

Ejecuta el siguiente comando kubectl para implementar tu versión elegida de los CRDs en el clúster de Kubernetes:

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/crds.yaml
2

Ejecuta el siguiente comando para obtener los detalles de configuración de tu Kubernetes Operator implementado actualmente:

kubectl get deployment <operator-deployment-name> -n <namespace> -o yaml
3

Si es necesario, encontrar el archivo YAML de implementación de ejemplo apropiado 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 Kubernetes Operator actualmente implementado.

4

Implementa tu operador de Kubernetes personalizado ejecutando lo siguiente:

kubectl apply -f <customized-operator-yaml-file>.yaml

Si no necesitas modificar el YAML de implementación proporcionado, puedes aplicarlo directamente de la siguiente manera:

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/mongodb-enterprise-multi-cluster.yaml
kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/mongodb-kubernetes.yaml

Utiliza los MongoDB Helm Charts para Kubernetes.

1

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
2

Para evitar cambios importantes, asegúrese de seleccionar la misma configuración que en su implementación actual. Para obtener más información sobre la configuración opcional de instalación del operador de Kubernetes, consulte Configuración de instalación del timón del operador.

3

Ejecuta el siguiente comando kubectl para implementar los CRD en tu clúster de Kubernetes:

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/crds.yaml
4

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-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 --install mongodb-kubernetes-operator mongodb/mongodb-kubernetes \
--namespace mongodb \
--create-namespace

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:

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-kubernetes-operator
namespace: production
---
# Example truncated
---
...
1

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>
2

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.yaml
3

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.yaml
1

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
2

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.

3

Ejecuta el siguiente comando kubectl para implementar los CRD en tu clúster de Kubernetes:

kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-kubernetes/1.6.1/public/crds.yaml
4

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-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 --install 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.

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.

Después de actualizar el MongoDB Controllers para Kubernetes operador, puedes:

En esta página