Actualización de clústeres, nodos trabajadores y componentes de clúster
Mantén tu clúster seguro y con soporte técnico actualizando el nodo maestro, los nodos de trabajo y los componentes del clúster en el orden correcto. Actualizar fuera de secuencia puede provocar errores de desajuste de versiones o tiempos de inactividad inesperados.
Realiza las actualizaciones en el siguiente orden:
- Actualiza el nodo maestro del clúster.
- Actualiza tus nodos de trabajo — Classic, VPC o Satellite — en función de tu tipo de infraestructura. ¿No sabes qué tipo tienes? En la consola de IBM Cloud, haz clic en tu clúster y comprueba el campo Infraestructura en la pestaña Descripción general: mostrará Classic, VPC o Satellite.
- Actualiza los componentes del clúster, como los servidores de aplicación de Fluentd, y los ALB de Ingress, si los gestionas manualmente.
- Actualizar los complementos gestionados.
Actualización del nodo maestro
- ¿Cómo sé cuándo debo actualizar el archivo maestro?
- Se le notificará en la consola, los anuncios y la CLI cuando haya actualizaciones disponibles. También puede comprobar periódicamente la página de versiones soportadas.
- ¿Cuántas versiones por detrás de la última puede estar la versión maestra?
- Solo puedes actualizar el servidor de la API a la versión inmediatamente superior a la actual (
n+1). - ¿Pueden mis nodos de trabajo ejecutar una versión posterior a la del nodo maestro?
- Los nodos de trabajador no pueden ejecutar una versión de Kubernetes
major.minorposterior a la del maestro. Además, tus nodos de trabajo solo pueden estar una versión menor por detrás de la versión maestra (n-1). En primer lugar, actualiza tu versión maestra a la última versión de Kubernetes. Luego actualice los nodos trabajadores del clúster.
Los nodos trabajadores pueden ejecutar versiones posteriores del parche que el maestro, como versiones de parches específicas de los nodos trabajadores para las actualizaciones de seguridad.
- ¿Cómo se aplican las actualizaciones de parches?
- De forma predeterminada, las actualizaciones de parches para el nodo maestro se aplican automáticamente durante el curso de varios días, por lo que una versión de parche maestro podría aparecer como disponible antes de que se aplique a su
nodo maestro. La automatización de actualizaciones también pasa por alto los clústeres que no están en buen estado o que tienen operaciones actualmente en curso. Ocasionalmente, IBM podría inhabilitar las actualizaciones automáticas para
un fixpack maestro específico, como un parche que solo sea necesario si se actualiza un nodo maestro de una versión menor a otra. En cualquiera de estos casos, puedes consultar el Red Hat OpenShift on IBM Cloud Información sobre la versión para ver si hay algún impacto potencial y optar por utilizar el tú mismo
ibmcloud oc cluster master updatecomando de forma segura sin esperar a que se aplique la actualización automática.
A diferencia de lo que sucede con el nodo maestro, debe actualizar los nodos trabajadores para cada versión de parche.
- ¿Qué ocurre durante la actualización del maestro?
- El nodo maestro está altamente disponible con tres pods de maestro de réplica. Los pods del nodo maestro tienen una actualización continua, durante la cual solo hay un pod que no está disponible al mismo tiempo. Dos instancias están activas y en ejecución para que pueda acceder y cambiar el clúster durante la actualización. Sus nodos trabajadores, apps y recursos continúan en ejecución.
- ¿Puedo revertir la actualización?
- No, no puede retrotraer un clúster a una versión anterior después de realizar el proceso de actualización. Asegúrese de utilizar un clúster de prueba y siga las instrucciones para abordar posibles problemas antes de actualizar el nodo maestro de producción.
- ¿Qué proceso debo seguir para actualizar el archivo maestro?
- El diagrama siguiente muestra el proceso que puede realizar para actualizar el maestro.
Pasos para actualizar el nodo maestro del clúster
Antes de empezar, asegúrate de que dispones del rol de acceso a la plataforma IAM Operador o Administrador. Si no estás seguro de cuál es tu rol de acceso, ve a Gestionar → Acceso (IAM) → Usuarios en la consola de IBM Cloud, o pregunta al administrador de tu cuenta.
Si se está llevando a cabo una rotación de certificados de una autoridad de certificación (CA), la actualización maestra queda bloqueada hasta que finalice la rotación. Comprueba el estado de cualquier rotación en curso antes de empezar.
Para actualizar la versión principal o menor de nodo maestro de Red Hat OpenShift:
-
Revise la información de versión deRed Hat OpenShift on IBM Cloud y realice las actualizaciones marcadas como Actualizar antes que maestro.
-
Revisa cualquier advertencia útil de Kubernetes, como los avisos de obsolescencia.
-
Compruebe que la actualización de la versión del clúster no tenga consecuencias para los complementos y plugins instalados en el clúster.
-
Comprobación de complementos
- Obtenga una lista de los complementos en el clúster.
ibmcloud oc cluster addon ls --cluster CLUSTER - Compruebe la versión de Red Hat OpenShift soportada para cada complemento instalado.
ibmcloud oc addon-versions - Si el complemento debe actualizarse para que se ejecute en la versión de Red Hat OpenShift a la que desea actualizar el clúster, actualice el complemento.
- Obtenga una lista de los complementos en el clúster.
-
Comprobación de plug-ins
- En el catálogo de Helm, busca los complementos que has instalado en tu clúster.
- En el menú lateral, expanda la sección SOURCES & TAR FILE.
- Descargue y abra el código fuente.
- Compruebe los archivos
README.mdoRELEASENOTES.mdpara las versiones soportadas. - Si el plugin debe actualizarse para que se ejecute en la versión de Red Hat OpenShift a la que desea actualizar el clúster, actualice el plugin siguiendo las instrucciones del plugin.
-
-
Actualiza tu servidor API y los componentes principales asociados utilizando el IBM Cloud consola o ejecutando la CLI.
ibmcloud oc cluster master updatecomando -
Espere unos minutos y luego confirme que la actualización se ha completado. Revise la versión del servidor de API en el panel de control de IBM Cloud o ejecutando
ibmcloud oc cluster ls. -
Instale la versión de
oc clique coincida con la versión del servidor de API que se ejecuta en el maestro. Kubernetes No es compatible con versiones de clienteocque tengan una diferencia de dos o más versiones respecto a la versión del servidor (n ± 2). Para actualizar tu configuración local, ejecutaibmcloud oc cluster config -c CLUSTER_NAME_OR_ID, y a continuación compruébalo conoc version --client.
Cuando se haya completado la actualización del nodo maestro, actualiza tus nodos de trabajo. El método depende del tipo de infraestructura que tengas:
- Actualización de nodos de trabajo clásicos: utiliza una actualización progresiva controlada por un ConfigMap y el comando
worker update. - Actualización de los nodos de trabajo de VPC: los nodos de trabajo bare metal de VPC se actualizan in situ mediante
worker reload; los nodos de trabajo VSI de VPC deben utilizarworker replace --update. El procedimiento de actualización progresiva de ConfigMap aún no es compatible con los nodos de trabajo de VPC.
Actualización de nodos trabajadores clásicos
Los nodos de trabajo de la infraestructura clásica realizan una actualización progresiva in situ. Las actualizaciones se controlan mediante un Kubernetes ( ConfigMap ), que define cuántos nodos pueden estar indisponibles al mismo tiempo. El
comando ibmcloud oc worker update solo es compatible con los nodos de trabajo clásicos.
Puedes realizar dos tipos de actualizaciones:
- Parche: aplica correcciones de seguridad y actualizaciones a la última versión del parche. Utiliza o
ibmcloud oc worker reloadibmcloud oc worker update. Ambos comandos actualizan el nodo a la última versión del parche. El comandoupdatetambién aplica al mismo tiempo cualquier actualización de versiónmajor.minordisponible para que coincida con la versión maestra. - Major.minor: Actualiza la versión de Kubernetes del nodo de trabajo para que coincida con la del nodo maestro. Tus nodos de trabajo pueden estar, como máximo, una versión por detrás del maestro (
n-1). Utiliza el comandoibmcloud oc worker update.
Para obtener más información, consulte Tipos de actualización.
Es una buena práctica rotar tus certificados CA siempre que actualices tus nodos trabajadores, ya que el paso más largo de la rotación de certificados incluye recargar o reemplazar tus nodos trabajadores.
- ¿Qué ocurre con mis aplicaciones durante una actualización?
- Las aplicaciones que se ejecutan en nodos de trabajo actualizados se reprograman en otros nodos de trabajo del clúster, incluidos nodos de diferentes grupos de trabajo o nodos de trabajo independientes. Para evitar tiempos de inactividad, asegúrese de que el clúster tiene capacidad suficiente para soportar la carga de trabajo antes de iniciar la actualización.
- ¿Cómo puedo controlar cuántos nodos de trabajo se desactivan a la vez durante una actualización o recarga?
- Utilice la opción Kubernetes ( ConfigMap ) para establecer el número máximo de nodos de trabajo que pueden estar indisponibles al mismo tiempo. Los nodos de trabajo se identifican por sus etiquetas. Puedes utilizar las etiquetas proporcionadas p IBM o etiquetas personalizadas. Si necesitas que todos tus nodos de trabajo permanezcan disponibles, plantéate ajustar el tamaño de tu grupo de nodos de trabajo o añadir nodos de trabajo independientes para aumentar la capacidad de forma temporal antes de la actualización.
El control ConfigMap solo regula el comportamiento de las actualizaciones. No afecta a las recargas de los nodos de trabajo, que se producen inmediatamente cuando se solicitan.
- ¿Qué ocurre si decido no definir un mapa de configuración?
- Por defecto, durante la actualización puede que un máximo del 20 % de todos los nodos de trabajo de cada clúster no estén disponibles. Puedes anular este valor definiendo un ConfigMap con una entrada
defaultcheck.json.
Requisitos previos
Antes de actualizar los nodos de trabajo de tu infraestructura clásica, sigue los siguientes pasos previos.
Durante la actualización de un nodo de trabajo, se reinstala el sistema operativo del nodo y se eliminan de forma permanente todos los datos que no estén almacenados en un almacenamiento persistente. Comprueba que todos los datos que debas conservar estén almacenados fuera del nodo de trabajo antes de empezar.
Si tiene instalado Portworx en su clúster, debe actualizar la configuración de Portworx antes de actualizar los nodos de trabajo.
Acciones previas a la actualización (a realizar en orden)
- Consulta la información sobre la versión Red Hat OpenShift on IBM Cloud para conocer los últimos parches de seguridad y los cambios necesarios.
- Realice los cambios marcados como Actualizar antes de master o Actualizar después de master en la guía de preparación de la versión Red Hat OpenShift.
- Actualiza el nodo maestro antes de actualizar los nodos de trabajo. La versión del nodo de trabajo no puede ser superior a la versión del servidor de API que se ejecuta en el nodo maestro.
- Acceda al clúster de Red Hat OpenShift.
- Considera la posibilidad de añadir nodos de trabajo a tu clúster para proporcionar capacidad adicional que permita reprogramar las cargas de trabajo durante la actualización. Puede eliminar los nodos sobrantes una vez finalizada la actualización.
Permisos necesarios
Asegúrate de que dispones del rol de acceso a la plataforma IAM de Operador o Administrador. Si no estás seguro de cuál es tu rol de acceso, ve a Gestionar → Acceso (IAM) → Usuarios en la consola de IBM Cloud, o pregunta al administrador de tu cuenta.
Actualización de nodos trabajadores clásicos en la CLI con un mapa de configuración
Utiliza un ConfigMap para realizar una actualización progresiva de tus nodos de trabajo clásicos. La función ConfigMap te permite controlar cuántos nodos pueden estar indisponibles a la vez, por zona o región. Si la regla predeterminada del 20 % de indisponibilidad es aceptable para su clúster, puede omitir los pasos 3 y 4 (creación de ConfigMap ) y pasar directamente al paso 5 para aplicar la actualización utilizando el comportamiento predeterminado.
-
Complete los pasos de requisito previo.
-
Obtenga una lista de los nodos trabajadores disponibles y anote su dirección IP privada.
ibmcloud oc worker ls --cluster CLUSTER -
Vea las etiquetas de un nodo trabajador. Encontrará las etiquetas de los nodos trabajadores en la sección Labels de la información de salida de la CLI. Cada etiqueta consta de un
NodeSelectorKeyy unNodeSelectorValue.oc describe node PRIVATE-WORKER-IPSalida de ejemplo
NAME: 10.184.58.3 Roles: <none> Labels: arch=amd64 beta.kubernetes.io/arch=amd64 beta.kubernetes.io/os=linux failure-domain.beta.kubernetes.io/region=us-south failure-domain.beta.kubernetes.io/zone=dal12 ibm-cloud.kubernetes.io/encrypted-docker-data=true ibm-cloud.kubernetes.io/iaas-provider=softlayer ibm-cloud.kubernetes.io/machine-type=u3c.2x4.encrypted kubernetes.io/hostname=10.123.45.3 privateVLAN=2299001 publicVLAN=2299012 Annotations: node.alpha.kubernetes.io/ttl=0 volumes.kubernetes.io/controller-managed-attach-detach=true CreationTimestamp: Tue, 03 Apr 2022 15:26:17 -0400 Taints: <none> Unschedulable: false -
Cree un mapa de configuración y defina las reglas de no disponibilidad para los nodos trabajadores. ConfigMap admite hasta 15 comprobaciones con nombre. Cada comprobación se centra en un conjunto de nodos de trabajo según su etiqueta y establece el porcentaje máximo de esos nodos que pueden estar indisponibles al mismo tiempo. El siguiente ejemplo muestra una comprobación de zona (
zonecheck.json), una comprobación de región (regioncheck.json), una comprobación de alternativa predeterminada (defaultcheck.json) y una plantilla para comprobaciones personalizadas. En cada comprobación, elige una de las etiquetas de los nodos de trabajo que has recuperado en el paso anterior para identificar los nodos de destino.Para cada comprobación, solo puede seleccionar un valor para
NodeSelectorKeyyNodeSelectorValue. Si desea establecer reglas para más de una región, zona u otras etiquetas de nodo trabajador, cree una nueva comprobación. Define hasta 15 comprobaciones en un mapa de configuración. Si añade más comprobaciones, sólo se vuelve a cargar 1 nodo trabajador cada vez hasta que se actualicen todos los trabajadores solicitados.Ejemplo
apiVersion: v1 kind: ConfigMap metadata: name: ibm-cluster-update-configuration namespace: kube-system data: drain_timeout_seconds: "120" zonecheck.json: | { "MaxUnavailablePercentage": 30, "NodeSelectorKey": "failure-domain.beta.kubernetes.io/zone", "NodeSelectorValue": "dal13" } regioncheck.json: | { "MaxUnavailablePercentage": 20, "NodeSelectorKey": "failure-domain.beta.kubernetes.io/region", "NodeSelectorValue": "us-south" } defaultcheck.json: | { "MaxUnavailablePercentage": 20 } <check_name>: | { "MaxUnavailablePercentage": <value_in_percentage>, "NodeSelectorKey": "<node_selector_key>", "NodeSelectorValue": "<node_selector_value>" }drain_timeout_seconds- Opcional: El tiempo de espera, en segundos, hasta que finalice el vaciado. El drenaje de un nodo trabajador elimina de forma segura todos los pods existentes del nodo trabajador y replanifica los pods en otros nodos trabajadores del clúster. Los valores aceptados son enteros comprendidos entre 1 y 180. El valor predeterminado es 30.
zonecheck.jsonyregioncheck.json- Dos comprobaciones que definen una regla para un conjunto de nodos de trabajador que puede identificar con los valores
NodeSelectorKeyyNodeSelectorValueespecificados.zonecheck.jsonidentifica los nodos de trabajador en función de la etiqueta de su zona yregioncheck.jsonutiliza la etiqueta de región que se añade a cada nodo de trabajador durante el suministro. En el ejemplo, el 30 % de todos los nodos de trabajador que tienendal13como etiqueta de zona y el 20 % de todos los nodos de trabajador que hay enus-southpueden estar no disponibles durante la actualización. defaultcheck.json- Si no crea una ningún mapa de configuración o el mapa se configura de forma incorrecta, se aplica el valor predeterminado de Kubernetes. De forma predeterminada, solo el 20% de los nodos trabajadores del clúster pueden no estar disponibles
a la vez. Puede modificar el valor predeterminado añadiendo la comprobación predeterminada al mapa de configuración. En el ejemplo, todos los nodos de trabajador que no se especifican en las comprobaciones de zona y región (
dal13ous-south) pueden estar no disponibles durante la actualización. MaxUnavailablePercentage- El número máximo de nodos que pueden no estar disponibles para una clave de etiqueta y un valor especificados, especificado como un porcentaje. Un nodo trabajador no está disponible cuando está en proceso de despliegue, de recarga o de suministro. Los nodos trabajadores en cola están bloqueados para actualizarse si se supera cualquier porcentaje no disponible máximo definido.
NodeSelectorKey- La clave de etiqueta del nodo trabajador para el que desea definir una regla. Puede establecer reglas para las etiquetas predeterminadas proporcionadas por IBM, así como para las etiquetas de nodos trabajadores que haya creado. Si desea
añadir una regla para los nodos de trabajador que pertenecen a una agrupación de trabajadores, puede utilizar la etiqueta
ibm-cloud.kubernetes.io/machine-type. NodeSelectorValue- El valor de etiqueta que debe tener el nodo trabajador para que se tenga en cuenta para la regla que defina.
-
Cree el mapa de configuración en el clúster.
oc apply -f <filepath/configmap.yaml> -
Verifique que se ha creado el mapa de configuración.
oc get configmap --namespace kube-system -
Actualice los nodos trabajadores.
ibmcloud oc worker update --cluster CLUSTER --worker WORKER-NODE-1-ID --worker WORKER-NODE-2-ID -
Opcional: compruebe los sucesos que desencadena el mapa de configuración y los errores de validación que se produzcan. Los sucesos se pueden revisar en la sección Events de la información de salida de la CLI.
oc describe -n kube-system cm ibm-cluster-update-configuration -
Confirme que la actualización se ha completado revisando la versión de Kubernetes de los nodos trabajadores.
oc get nodes -
Verifique que no tiene nodos de trabajador duplicados. En ocasiones, los clústeres más antiguos muestran nodos de trabajo duplicados con un estado
NotReadytras una actualización. Para eliminar los duplicados, consulte resolución de problemas.
Próximos pasos
-
Repita el proceso de actualización con otras agrupaciones de nodos trabajadores.
-
Notifique a todos los desarrolladores que trabajan en el clúster que actualicen su
ocCLI para que coincida con la versión maestra de Kubernetes. No se admite el uso de un clienteocque tenga una diferencia de dos o más versiones con respecto a la versión del servidor, ya que puede provocar errores inesperados. -
Si el panel de control de Kubernetes no muestra gráficos de utilización, suprima el pod
kube-dashboard.
Actualización de nodos trabajadores clásicos en la consola
Una vez que hayas configurado por primera vez el servicio ConfigMap, podrás actualizar los nodos de trabajo mediante la consola IBM Cloud. La consola respeta las reglas de indisponibilidad que ha definido en el servicio de gestión de indisponibilidad ( ConfigMap ).
- Sigue los pasos previos y configura un ConfigMap para controlar cómo se actualizan tus nodos de trabajo.
- En el menú de la consola IBM Cloud
, haga clic en Containers > Clusters.
- En la página Clústeres, pulse el clúster.
- En el separador Nodos trabajadores, marque el recuadro de selección de cada nodo trabajador que desee actualizar. Se muestra una barra de acciones sobre la fila de cabecera de la tabla.
- En la barra de acciones, pulse Actualizar.
Si tienes instalado Portworx en tu clúster, debes reiniciar los pods de Portworx en los nodos de trabajo actualizados. Para obtener más información, consulte las Limitaciones de Portworx.
Actualización de nodos trabajadores de VPC
Los nodos de trabajo de VPC se actualizan de forma diferente según su tipo y la plataforma del clúster. El comando ibmcloud oc worker update no es compatible con ningún nodo de trabajo de VPC. En todos los casos, primero hay que
actualizar el nodo maestro del clúster.
- Trabajadores de VPC bare metal: Actualizados in situ mediante
ibmcloud oc worker reload. El nodo conserva su dirección IP. - Trabajadores de instancias de servidor virtual (VSI) de VPC: sustituidos por (
ibmcloud oc worker replace --updatepara que coincidan con la versión maestra) oibmcloud oc worker replace(solo actualización del parche). Se elimina el nodo antiguo y se aprovisiona uno nuevo.
Puedes realizar dos tipos de actualizaciones:
- Parche: aplica correcciones de seguridad y actualizaciones al último parche de la versión actual de la lista de materiales (BOM). Para los trabajadores de VPC bare metal, utilice
ibmcloud oc worker reload. Para los trabajadores de VPC VSI, utiliceibmcloud oc worker replace. - Major.minor: Actualiza la versión de Kubernetes del nodo de trabajo para que coincida con la del nodo maestro. Tus nodos de trabajo pueden estar, como máximo, una versión por detrás del maestro (
n-1). Para los nodos de trabajo bare metal de VPC, utilizaibmcloud oc worker reload. Para los trabajadores de VPC VSI, utiliceibmcloud oc worker replace --update.
Es una buena práctica rotar tus certificados CA siempre que actualices tus nodos trabajadores, ya que el paso más largo de la rotación de certificados incluye recargar o reemplazar tus nodos trabajadores.
Si ha desplegado OpenShift Data Foundation en el clúster, siga los pasos para actualizar nodos de trabajador de VPC con OpenShift Data Foundation.
- ¿Qué ocurre con mis aplicaciones durante una actualización?
- Las aplicaciones que se ejecutan en nodos de trabajo actualizados se reprograman en otros nodos de trabajo del clúster. Estos nodos trabajadores pueden estar en otra agrupación de nodos trabajadores. Para evitar tiempos de inactividad, asegúrate de que tu clúster tenga capacidad suficiente para soportar la carga de trabajo antes de iniciar la actualización. Para obtener más información, consulte Adición de nodos trabajadores a clústeres clásicos o Adición de nodos trabajadores a clústeres de VPC.
- ¿Qué ocurre con mi nodo de trabajo durante una actualización?
- En el caso de los trabajadores de VPC bare metal, el nodo de trabajo se recarga in situ utilizando
worker reload. El nodo conserva su dirección IP; los datos de los discos locales se eliminan y deben almacenarse fuera del nodo de trabajo. En el caso de los trabajadores de instancias de servidor virtual (VSI) de VPC, el nodo de trabajo se sustituye eliminando el nodo de trabajo antiguo y aprovisionando un nuevo nodo de trabajo que se ejecute con el parche o la versiónmajor.minoractualizados. El nodo trabajador de sustitución se crea en la misma zona y en la misma agrupación de nodos trabajadores, y con el mismo tipo que el nodo trabajador suprimido. Sin embargo, al nodo trabajador de sustitución se le asigna una nueva dirección IP privada y pierde las marcas o etiquetas personalizadas que ha aplicado al nodo trabajador antiguo (las marcas o etiquetas de la agrupación de nodos trabajadores se siguen aplicando al nodo trabajador de sustitución). - ¿Qué ocurre si sustituyo varios nodos de trabajo al mismo tiempo?
- Si sustituye varios nodos trabajadores al mismo tiempo, se suprimen y se sustituyen simultáneamente, no uno por uno. Asegúrese de que tiene suficiente capacidad en el clúster para volver a planificar las cargas de trabajo antes de sustituir los nodos trabajadores.
- ¿Qué ocurre si no se crea un nodo de trabajo de sustitución?
- No se crea un nodo trabajador de sustitución si la agrupación de nodos trabajadores no tiene el reequilibrio automático habilitado.
Requisitos previos
Antes de actualizar los nodos de trabajo de tu infraestructura VPC, sigue los siguientes pasos previos.
En el caso de los trabajadores VPC VSI, el nodo de trabajo se elimina y se sustituye por un nuevo nodo. En el caso de los servidores bare metal de VPC, el nodo se recarga in situ. En ambos casos, los datos que no se almacenan en un almacenamiento persistente se eliminan de forma permanente. Comprueba que todos los datos que debas conservar estén almacenados fuera del nodo de trabajo antes de empezar.
Si tienes un Portworx e implementado en tu clúster, sigue los pasos para actualizar los nodos de trabajo de VPC con volúmenes de Portworx en lugar de los pasos que se indican en esta página.
Acciones previas a la actualización (a realizar en orden)
- Consulta la información sobre la versión Red Hat OpenShift on IBM Cloud para conocer los últimos parches de seguridad y los cambios necesarios.
- Realice los cambios marcados como Actualizar antes de master o Actualizar después de master en la guía de preparación de la versión Red Hat OpenShift.
- Actualiza el nodo maestro antes de actualizar los nodos de trabajo. La versión del nodo de trabajo no puede ser superior a la versión del servidor de API que se ejecuta en el nodo maestro.
- Acceda al clúster de Red Hat OpenShift.
Permisos necesarios
Asegúrate de que dispones del rol de acceso a la plataforma IAM de Operador o Administrador. Si no estás seguro de cuál es tu rol de acceso, ve a Gestionar → Acceso (IAM) → Usuarios en la consola de IBM Cloud, o pregunta al administrador de tu cuenta.
Actualización de nodos trabajadores de VPC en la CLI
Sigue estos pasos para actualizar tus nodos de trabajo mediante la CLI.
- Complete los pasos de requisito previo.
- Opcional: Aumenta la capacidad de tu clúster cambiando el tamaño del grupo de trabajadores. Los pods del nodo trabajador se pueden volver a planificar y pueden seguir ejecutándose en los nodos trabajadores añadidos durante la actualización. Para obtener más información, consulte Adición de nodos trabajadores a clústeres clásicos o Adición de nodos trabajadores a clústeres de VPC.
- Obtenga una lista de los nodos trabajadores del clúster y anote el ID y la IP principal del nodo trabajador que desea actualizar.
ibmcloud oc worker ls --cluster CLUSTER - Actualiza el nodo de trabajo. El comando que hay que utilizar depende del tipo de nodo de trabajo.
Trabajadores de VPC bare metal: utilicen para worker reload reinstalar el sistema operativo del nodo in situ. El nodo conserva su dirección IP y se actualiza a la última versión del parche.
```sh {: pre}
ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-ID
```
**Procesos de la instancia de servidor virtual (VSI) de VPC**: utilice el comando `worker replace` para actualizar la versión del parche o la versión `major.minor` que coincida con la versión maestra.
* Para actualizar el nodo de trabajo a la misma `major.minor` versión que el maestro, incluye la `--update` opción.
```sh {: pre}
ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID --update
```
* Para actualizar el nodo de trabajo a la última versión del parche dentro de la misma `major.minor` versión, no incluyas la opción `--update`.
```sh {: pre}
ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID
```
- Repita estos pasos para cada nodo trabajador que deba actualizar.
- Opcional: Una vez que los nodos de trabajo sustituidos se encuentren en estado Listo, ajuste el tamaño del grupo de trabajo para que se ajuste a la capacidad de clúster que desee. Para obtener más información, Adición de nodos trabajadores a clústeres de VPC.
Si ejecuta Portworx en el clúster de VPC, debe conectar manualmente el volumen de Block Storage for VPC al nuevo nodo trabajador.
Actualizaciones de firmware durante la recarga de un trabajador bare metal de VPC
Al reiniciar un nodo de trabajo bare metal de VPC, la infraestructura de IBM Cloud comprueba automáticamente si hay alguna actualización de firmware pendiente para ese servidor y la aplica como parte del proceso de reinicio. No es necesario realizar ninguna acción adicional para activar la actualización del firmware.
Ten en cuenta las siguientes consideraciones al reiniciar un nodo de trabajo bare metal de VPC:
- Tiempo de recarga prolongado
- Si se aplica una actualización de firmware durante la recarga, la duración total de la recarga puede aumentar significativamente —en 30 minutos o más— por encima de la duración habitual de la recarga. Planifica tus ventanas de mantenimiento en consecuencia.
- No hay información previa sobre las actualizaciones pendientes
- No se puede saber si hay alguna actualización de firmware pendiente para un nodo de trabajo antes de ejecutar el comando de recarga.
- Riesgo de pérdida de datos
- Al igual que ocurre con todas las recargas de máquinas bare metal de VPC, los datos de los discos locales se borran durante la recarga, independientemente de si se aplica una actualización de firmware. Haz una copia de seguridad de todos los datos que no estén almacenados en un almacenamiento persistente antes de volver a cargarlos.
- Error de recarga debido a una actualización del firmware
- En algunos casos, una actualización de firmware puede fallar, lo que provoca que el nodo de trabajo entre en un estado
reload_failed(Failed to reload worker) con los detalles del estadoThe infrastructure firmware update has failed. (P4056). Si ocurre esto:- Espera unos minutos y, a continuación, vuelve a intentar actualizar la página ejecutando de nuevo
ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-ID. - Si el error persiste tras 2 o 3 intentos, abre un caso de asistencia en IBM Cloud.
- Espera unos minutos y, a continuación, vuelve a intentar actualizar la página ejecutando de nuevo
Actualización de nodos trabajadores de VPC en la consola
Puede actualizar los nodos trabajadores de VPC en la consola. Antes de empezar, plantéate añadir nodos de trabajo al clúster para evitar el tiempo de inactividad de tus aplicaciones.
Lo que hace la acción Actualizar depende del tipo de nodo de trabajo y de la plataforma del clúster:
- Trabajadores de VPC bare metal: el nodo se recarga in situ. No se aprovisiona ningún nodo de sustitución.
- Trabajadores de instancias de servidor virtual (VSI) de VPC: el nodo de trabajo se sustituye por un nuevo nodo en la versión actualizada.
- Complete los pasos de requisito previo.
- En el menú de la consola IBM Cloud
, haga clic en Containers > Clusters.
- En la página Clústeres, pulse el clúster.
- En el separador Nodos trabajadores, marque el recuadro de selección de cada nodo trabajador que desee actualizar. Se muestra una barra de acciones sobre la fila de cabecera de la tabla.
- En la barra de acciones, pulse Actualizar.
Actualización de las versiones (tipos de máquina)
Actualiza la variante (tipo de máquina) de tus nodos de trabajo cuando necesites recursos de computación diferentes; por ejemplo, más memoria, CPU adicionales o una máquina con GPU. Al actualizar una variante, se crea un nuevo grupo de trabajadores con la nueva variante y, a continuación, se elimina el grupo de trabajadores anterior. Dado que este proceso sustituye los nodos, todos los datos de los nodos de trabajo que no estén almacenados en un almacenamiento persistente se eliminan de forma permanente.
Antes de empezar
- Acceda al clúster de Red Hat OpenShift.
- Comprueba que todos los datos que debas conservar estén almacenados en un almacenamiento persistente fuera del nodo de trabajo. Los datos almacenados únicamente en el nodo de trabajo se pierden y no se pueden recuperar.
- Asegúrate de que dispones del rol de acceso a la plataforma IAM de Operador o Administrador. Si no estás seguro de cuál es tu rol de acceso, ve a Gestionar → Acceso (IAM) → Usuarios en la consola de IBM Cloud, o pregunta al administrador de tu cuenta.
Para actualizar las variantes
-
Obtenga una lista de los nodos trabajadores disponibles y anote su dirección IP privada.
- Obtenga una lista de los nodos trabajadores del clúster.
ibmcloud oc worker-pool ls --cluster CLUSTER ``` 2. Obtenga una lista de los nodos trabajadores de la agrupación de nodos trabajadores. Anote el **ID** y la **IP privada**. ```sh {: pre} ibmcloud oc worker ls --cluster CLUSTER --worker-pool WORKER-POOL ``` 3. Obtenga los detalles de un nodo trabajador. En la salida, anote la zona y el ID de VLAN privada y pública para los clústeres clásicos o el ID de subred para clústeres de VPC. ```sh {: pre} ibmcloud oc worker get --cluster CLUSTER --worker WORKER-ID ``` -
Obtenga una lista de las versiones disponibles en la zona.
ibmcloud oc flavors --zone <zone> -
Cree un nodo trabajador con el nuevo tipo de máquina.
- Cree una agrupación de nodos trabajadores con el número de nodos trabajadores que desea sustituir.
- Clústeres clásicos:
ibmcloud oc worker-pool create classic --name WORKER-POOL --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE - Clústeres VPC Generación 2:
ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE --label LABEL
- Clústeres clásicos:
- Verifique que la agrupación de nodos trabajadores se ha creado.
ibmcloud oc worker-pool ls --cluster CLUSTER ``` 3. Añada la zona a la agrupación de nodos trabajadores que ha recuperado anteriormente. Cuando se añade una zona, los nodos trabajadores definidos en la agrupación de nodos trabajadores se suministran en la zona y se tienen en cuenta para la futura planificación de la carga de trabajo. Si desea distribuir los nodos trabajadores en varias zonas, elija una ubicación multizona [clásica](/docs/openshift?topic=openshift-regions-and-zones#zones-mz) o [VPC](/docs/openshift?topic=openshift-regions-and-zones#zones-vpc). * Clústeres clásicos: ```sh {: pre} ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --private-vlan PRIVATE-VLAN-ID --public-vlan PUBLIC-VLAN-ID ``` * Clústeres VPC: ```sh {: pre} ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --subnet-id VPC-SUBNET-ID ``` - Cree una agrupación de nodos trabajadores con el número de nodos trabajadores que desea sustituir.
-
Espere a que se desplieguen los nodos trabajadores. Cuando el estado del nodo trabajador pase a ser Normal, significa que el despliegue ha finalizado.
ibmcloud oc worker ls --cluster CLUSTER -
Elimina el antiguo grupo de trabajadores. Si eliminas una variante Classic bare metal (que se factura mensualmente), se te cobrará el mes completo aunque la elimines a mitad de mes. Los trabajadores de VPC, incluidos los de bare metal, se facturan por horas.
- Elimine la agrupación de nodos trabajadores con el tipo de máquina antiguo. Al eliminar una agrupación de nodos trabajadores se eliminan todos los nodos trabajadores de la agrupación en todas las zonas. El proceso puede tardar varios minutos en completarse.
ibmcloud oc worker-pool rm --worker-pool WORKER-POOL --cluster CLUSTER ``` 2. Verifique que la agrupación de nodos trabajadores se ha eliminado. ```sh {: pre} ibmcloud oc worker-pool ls --cluster CLUSTER ``` -
Verifique que los nodos trabajadores se han eliminado del clúster.
ibmcloud oc worker ls --cluster CLUSTER -
Repita estos pasos para actualizar otras agrupaciones de nodos trabajadores o nodos trabajadores autónomos a distintas versiones.
¿Cómo se reduce la escala de las agrupaciones de nodos trabajadores?
En esta sección se describe la lógica de priorización automática que se utiliza cuando se eliminan nodos de trabajo durante una reducción de escala, por ejemplo, tras una actualización de un nodo de trabajo o al ejecutar ibmcloud oc worker-pool resize.
No es necesario configurar este comportamiento, ya que se produce automáticamente.
Cuando se reduce el número de nodos de trabajo en un grupo de trabajo, se establece un orden de prioridad para su eliminación en función de varias propiedades, entre las que se incluyen el estado, la integridad y la versión.
Esta lógica de prioridad no es relevante para el complemento del programa de escalado automático.
En la tabla siguiente se muestra el orden en el que se prioriza la supresión de los nodos trabajadores.
Puede ejecutar el mandato ibmcloud oc worker ls para ver todas las propiedades de nodo trabajador listadas en la tabla.
| Prioridad | Propiedad | Descripción |
|---|---|---|
| 1 | Estado del nodo trabajador | Los nodos trabajadores en estados que no funcionan o que funcionan mal se priorizan para su eliminación. Esta lista muestra los estados ordenados de la prioridad más alta a la más baja: provision_failed, deploy_failed,
deleting, provision_pending, provisioning, deploying, provisioned, reloading_failed, reloading, deployed. |
| 2 | Salud del nodo de trabajador | Los nodos trabajadores en mal estado se priorizan sobre los nodos trabajadores en buen estado. Esta lista muestra los estados de salud ordenados de mayor a menor prioridad: critical, warning, pending,
unsupported, normal. |
| 3 | Versión de nodo trabajador | Los nodos trabajadores que se ejecutan en versiones anteriores tienen una prioridad más alta para su supresión. |
| 4 | Entorno de colocación elegido | Sólo para trabajadores que se ejecutan en un host dedicado. Los nodos trabajadores que se ejecutan en un host dedicado que tiene la opción DesiredPlacementDisabled establecida en true tienen una
prioridad más alta para su supresión. |
| 5 | orden alfabético | Después de priorizar los nodos de trabajador basándose en los factores listados anteriormente, se suprimen por orden alfabético. Tenga en cuenta que, basándose en los convenios de ID de nodo trabajador, los ID de los trabajadores de los clústeres clásicos y de VPC se correlacionan con la edad, por lo que los nodos trabajadores más antiguos se eliminan primero. |
Actualización de los componentes de un clúster
El clúster de Red Hat OpenShift on IBM Cloud se suministra con componentes, como Ingress, que se instalan automáticamente cuando se suministra el clúster. De forma predeterminada, IBM actualiza automáticamente estos componentes. No obstante, puede inhabilitar las actualizaciones automáticas de algunos componentes y actualizarlos manualmente de forma independiente de los nodos maestro y trabajador.
- ¿Qué componentes predeterminados puedo actualizar por separado del clúster?
- Opcionalmente, puede inhabilitar las actualizaciones automáticas para los componentes siguientes:
- ¿Hay algún componente que no pueda actualizar por separado del clúster?
- Sí. El clúster se despliega con los siguientes componentes gestionados y recursos asociados que no se pueden cambiar, excepto para escalar pods o editar mapas de configuración para obtener determinadas mejoras de rendimiento. Si intenta modificar uno de estos componentes de despliegue, se restauran sus valores originales con un intervalo regular cuando se actualizan con el clúster maestro. Sin embargo, tenga en cuenta que los recursos que cree asociados a dichos componentes, como las políticas de red de Calico que cree para que las implementen los componentes de despliegue de Calico, no se actualizan.
- Componentes de
calico - Componentes de
coredns ibm-cloud-provider-ipibm-file-pluginibm-keepalived-watcheribm-master-proxyibm-storage-watcher- Componentes de
kubernetes-dashboard metrics-server- Componentes de
olm-operatorycatalog(1.16 y posterior) vpn
- ¿Puedo instalar otros complementos o extensiones además de los componentes predeterminados?
- Sí. Red Hat OpenShift on IBM Cloud ofrece otros complementos y extensiones entre los que puedes elegir para ampliar las capacidades de tu clúster. Por ejemplo, es posible que desee habilitar los complementos administrados de IBM en su clúster. Debe actualizar estos complementos por separado siguiendo los pasos para actualizar complementos gestionados.
Gestión de actualizaciones automáticas para Fluentd
Cuando crea una configuración de registro para un origen en el clúster a fin de reenviar a un servidor externo, se crea un componente Fluentd en el clúster. Para cambiar las configuraciones de registro o de filtro, el componente Fluentd debe estar en la última versión. De forma predeterminada, las actualizaciones automáticas del componente están habilitadas.
Para ejecutar los siguientes comandos, debes tener el rol de acceso a la plataforma IAM IBM Cloud(Administrador) para el clúster.
Puede gestionar las actualizaciones automáticas del componente Fluentd de las maneras siguientes.
- Para comprobar si las actualizaciones automáticas están habilitadas, ejecute el mandato
ibmcloud oc logging autoupdate get --cluster CLUSTER. - Desactiva las actualizaciones automáticas ejecutando el.
ibmcloud oc logging autoupdate disablecomando - Si las actualizaciones automáticas están inhabilitadas pero tiene que modificar la configuración, tiene dos opciones:
- Activar las actualizaciones automáticas para sus pods Fluentd.
ibmcloud oc logging autoupdate enable --cluster CLUSTER ``` * Forzar una actualización única cuando utilice un mandato de registro que incluya la opción `--force-update`. Tus pods se actualizan a la última versión del componente Fluentd, pero Fluentd no se actualizará automáticamente en el futuro. Mandato de ejemplo ```sh {: pre} ibmcloud oc logging config update --cluster CLUSTER --id LOG-CONFIG-ID --type LOG-TYPE --force-update ```
Gestión de actualizaciones automáticas para los ALB de Ingress
Controle cuándo se actualiza el componente de equilibrador de carga de aplicación (ALB) de Ingress. Para obtener información sobre cómo mantener los ALB actualizados, consulte Gestión del ciclo de vida de ALB de Ingress.
Actualización de complementos gestionados
Los complementos para clústeres gestionados de IBM Cloud Kubernetes Service son una forma sencilla de mejorar su clúster con capacidades de código abierto, como Istio. La versión de la herramienta de código abierto que añade al clúster se prueba en IBM y se aprueba para ser utilizada en IBM Cloud Kubernetes Service. Para actualizar los complementos gestionados que ha habilitado en el clúster a las últimas versiones, consulte Actualización de complementos gestionados.