Riesgo de compatibilidad
Concepto de comprobación
Lea las diferencias de compatibilidad de versiones y asegúrese de que no se vean afectadas.
La actualización del parche no implica diferencias de compatibilidad de versiones.
Compatibilidad de versiones
Ruta de actualización |
Precaución |
Autoverificación |
---|---|---|
v1.19 a v1.21 o v1.23 |
El error de exec probe timeouts se corrige en Kubernetes 1.21. Antes de esta corrección de errores, la sonda exec no tiene en cuenta el campo timeoutSeconds. En su lugar, la sonda se ejecutará indefinidamente, incluso más allá de su fecha límite configurada. Se detendrá hasta que se devuelva el resultado. Si no se especifica este campo, se utiliza el valor predeterminado 1. Este campo entra en vigor después de la actualización. Si el sondeo se ejecuta durante 1 segundo, la comprobación de estado de la aplicación puede fallar y la aplicación puede reiniciarse con frecuencia. |
Antes de la actualización, compruebe si el tiempo de espera está configurado correctamente para la sonda exec. |
kube-apiserver de CCE 1.19 o posterior requiere que el campo Subject Alternative Names (SANs) esté configurado para el certificado de su servidor webhook. De lo contrario, kube-apiserver no puede invocar al servidor webhook después de la actualización, y contenedores no se puede iniciar correctamente. Causa raíz: X.509 CommonName se descarta en Go 1.15. kube-apiserver de CCE 1.19 se compila usando Go 1.15. Si su certificado webhook no tiene SAN, kube-apiserver no procesa el campo CommonName del certificado X.509 como nombre de host de forma predeterminada. Como resultado, la autenticación falla. |
Antes de la actualización, compruebe si el campo SAN está configurado en el certificado de su servidor webhook.
|
|
Los nodos de Arm no se admiten en los clústeres de v1.21 y posteriores. |
Compruebe si sus servicios se verán afectados si no se pueden utilizar los nodos de Arm. |
|
v1.15 a v1.19 |
El plano de control de en los clústeres v1.19 es incompatible con kubelet v1.15. Si un nodo no se puede actualizar o el nodo que se va a actualizar se reinicia después de que el nodo principal se actualice con éxito, hay una alta probabilidad de que el nodo esté en el estado NotReady. Esto se debe a que el nodo no puede actualizarse reinicia el kubelet y activa el registro del nodo. En los clústeres de v1.15, las etiquetas de registro predeterminadas failure-domain.beta.kubernetes.io/is-baremetal y kubernetes.io/availablezone son consideradas como etiquetas no válidas por los clústeres de v1.19. Las etiquetas válidas en los clústeres de v1.19 son node.kubernetes.io/baremetal y failure-domain.beta.kubernetes.io/zone. |
|
En los clústeres 1.15 y 1.19 de CCE, el sistema de archivos del controlador de almacenamiento de Docker cambia de XFS a Ext4. Como resultado, la secuencia de paquetes de importación en los pods de la aplicación Java actualizada puede ser anormal, causando excepciones de pod. |
Antes de la actualización, compruebe el archivo de configuración de Docker /etc/docker/daemon.json en el nodo. Compruebe si el valor de dm.fs es de xfs.
{
"storage-driver": "devicemapper",
"storage-opts": [
"dm.thinpooldev=/dev/mapper/vgpaas-thinpool",
"dm.use_deferred_removal=true",
"dm.fs=xfs",
"dm.use_deferred_deletion=true"
]
} |
|
kube-apiserver de CCE 1.19 o posterior requiere que el campo Subject Alternative Names (SANs) esté configurado para el certificado de su servidor webhook. De lo contrario, kube-apiserver no puede invocar al servidor webhook después de la actualización, y contenedores no se puede iniciar correctamente. Causa raíz: X.509 CommonName se descarta en Go 1.15. kube-apiserver de CCE 1.19 se compila usando Go 1.15. El campo CommonName se procesa como el nombre de host. Como resultado, la autenticación falla. |
Antes de la actualización, compruebe si el campo SAN está configurado en el certificado de su servidor webhook.
AVISO:
Para mitigar el impacto de las diferencias de versión en la actualización del clúster, CCE realiza un procesamiento especial durante la actualización de 1.15 a 1.19 y sigue soportando certificados sin SAN. Sin embargo, no se requiere ningún procesamiento especial para las actualizaciones posteriores. Le aconsejamos que rectifique su certificado lo antes posible. |
|
En clústeres de v1.17.17 y posteriores, CCE crea automáticamente políticas de seguridad de pods (PSP) para usted, que restringen la creación de pods con configuraciones inseguras, por ejemplo, pods para los que net.core.somaxconn bajo un sysctl está configurado en el contexto de seguridad. |
Después de una actualización, puede permitir configuraciones de sistema inseguras según sea necesario. Para obtener más información, véase Configuración de una política de seguridad de pod. |
|
v1.13 a v1.15 |
Después de actualizar un clúster de red de VPC, el nodo principal ocupa un bloque CIDR adicional debido a la actualización de los componentes de red. Si no hay ningún bloque CIDR contenedor disponible para el nuevo nodo, el pod programado para el nodo no puede ejecutarse. |
Generalmente, este problema se produce cuando los nodos en el clúster están a punto de ocupar completamente el bloque CIDR contenedor. Por ejemplo, el bloque CIDR contenedor es 10.0.0.0/16, el número de direcciones IP disponibles es de 65,536 y a la red VPC se le asigna un bloque CIDR con el tamaño fijo (utilizando la máscara para determinar el número máximo de direcciones IP contenedor asignadas a cada nodo). Si el límite superior es 128, el clúster admite un máximo de 512 (65536/128) nodos, incluidos los tres nodos principales. Después de actualizar el clúster, cada uno de los tres nodos principales ocupa un bloque CIDR. Como resultado, se soportan 506 nodos. |