Fin del servicio de Windows Server Semi-Annual Channel


En esta página, se proporciona información sobre el final del servicio de los tipos de imagen de nodo del canal semianual de Windows Server (SAC) en los clústeres de Google Kubernetes Engine (GKE) Standard. Si deseas obtener instrucciones para migrar a imágenes de nodo compatibles, consulta Migra a imágenes de Windows compatibles.

Acerca de la eliminación de Windows Server SAC

Microsoft retirará el canal semianual de Windows Server el 9 de agosto de 2022. Esto coincide con el final del servicio para Windows Server, versión 20H2. Windows Server usará el canal de servicio a largo plazo (LTSC) como el canal de versiones principal. Con este cambio, Microsoft ya no lanzará actualizaciones críticas, incluidas las de seguridad, para las imágenes de Windows SAC. Como resultado de esto, GKE ya no puede proporcionar asistencia para estas imágenes.

GKE Standard ya no te permitirá crear grupos de nodos nuevos que usen tipos de imágenes de SAC de Windows Server. Si usas uno de los siguientes tipos de imágenes en tus grupos de nodos existentes, debes migrar a un tipo de imagen compatible si deseas actualizar tu versión de GKE.

  • windows_sac: Windows Server SAC con Docker
  • windows_sac_containerd: SAC de Windows Server con Containerd

Tus grupos de nodos existentes de Windows Server SAC continuarán funcionando según lo previsto después del 9 de agosto de 2022. Sin embargo, corres el riesgo de exponer estos nodos a vulnerabilidades de seguridad y a la inestabilidad de la plataforma debido a la falta de actualizaciones futuras de SAC.

Cronograma y eventos importantes

Después del 9 de agosto de 2022, ya no podrás hacer lo siguiente:

  • Crea clústeres nuevos que usen imágenes de nodo de Windows Server SAC.
  • Crea grupos de nodos nuevos que usen imágenes de nodo de Windows Server SAC.
  • Habilita el aprovisionamiento automático de nodos con la marca --autoprovisioning-image-type configurada en windows_sac o windows_sac_containerd.
  • Actualiza la versión de GKE de los nodos de Windows Server SAC existentes.

¿Qué debería hacer?

Te recomendamos que migres los grupos de nodos de Windows Server SAC al tipo de imagen de nodo windows_ltsc_containerd. En la versión 1.23 de GKE y en versiones posteriores, este es el único tipo de imagen de Windows Server compatible para clústeres y grupos de nodos nuevos.

El tipo de imagen windows_ltsc que usa Docker como el entorno de ejecución del contenedor, no es compatible con la versión 1.23 de GKE o versiones posteriores debido a la baja de la imagen del nodo de Docker.

Según la versión actual de GKE, haz lo siguiente:

  • Versión 1.20 de GKE y versiones anteriores: migra tus grupos de nodos a la imagen windows_ltsc.
  • Versión 1.21 y posteriores de GKE: migra tus grupos de nodos a la imagen windows_ltsc_containerd.

Impacto de la migración

Si actualmente usas la imagen de windows_sac, que tiene Docker como el entorno de ejecución del contenedor, la migración al tipo de imagen de windows_ltsc_containerd podría afectar cualquiera de tus herramientas existentes que dependen de los comandos de Docker. Para obtener información sobre el posible impacto de migrar a un tipo de imagen que usa containerd, consulta la lista de situaciones en Acerca de la baja de la imagen de nodo de Docker.

Migra a Windows Server LTSC

El proceso de migración consta de los siguientes pasos.

  1. Identifica imágenes de contenedor para actualizaciones de la arquitectura
  2. Compila imágenes de contenedor de Windows de varios arcos
  3. Actualiza grupos de nodos existentes a Windows Server LTSC

Identifica imágenes de contenedor para actualizaciones de la arquitectura

Las imágenes de contenedores de una sola arquitectura que se ejecutan en Windows Server SAC no son compatibles con las imágenes de Windows Server LTSC. Deberás identificar las imágenes de contenedor incompatibles y prepararte para actualizar su arquitectura. Si tienes imágenes de varios arcos, debes inspeccionarlas para asegurarte de que admitan la variante Windows Server 2019 LTSC, que tiene el número de versión 10.0.17763.X.

Imágenes de un solo arco

Para inspeccionar la versión compatible de Windows, ejecuta el siguiente comando desde un nodo Windows Server SAC en el que se ejecuta el Pod:

docker image inspect IMAGE_NAME

Reemplaza IMAGE_NAME por el nombre de la imagen de contenedor.

Si la imagen admite la variante de Windows Server SAC, el resultado es similar al siguiente:

[
  {
    ...
    "Architecture": "amd64",
    "Os": "windows",
    "OsVersion": "10.0.19042.1645" // 1645 can be any build number
  }
]

Si la imagen admite la variante Windows Server LTSC, el resultado será similar al siguiente:

[
  {
    ...
    "Architecture": "amd64",
    "Os": "windows",
    "OsVersion": "10.0.17763.2686" // 2686 can be any build number
  }
]

Imágenes de varios arcos

Si ya usas imágenes de contenedor de Windows de varios arcos, inspecciona las imágenes para asegurarte de que admitan la variante Windows Server 2019 LTSC, que tiene el número de versión 10.0.17763.X.

docker manifest inspect MANIFEST_NAME

Reemplaza MANIFEST_NAME por el nombre de tu manifiesto de Docker, como eu.gcr.io/gke-release-staging/internet-explorer:v2.

El resultado es similar a este:

{
  {
    "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
    "size": 1575,
    "digest": "...",
    "platform": {
        "architecture": "amd64",
        "os": "windows",
        "os.version": "10.0.17763.1935"

  }
}

Compila imágenes de contenedor de Windows de varios arcos

Después de identificar cualquier imagen que necesite actualizaciones para admitir la variante Windows Server 2019 LTSC, te recomendamos que compiles imágenes de varios arcos de Windows Server.

La compilación de imágenes de varios arcos garantiza que tus contenedores se ejecuten en cualquier versión de Windows que ofrece GKE. Las imágenes de varios arcos facilitarán la experiencia de migración, ya que containerd detecta la versión de LTSC de Windows Server en los grupos de nodos migrados y elige la imagen adecuada de tu manifiesto.

Puedes compilar estas imágenes de forma manual o mediante gke-windows-builder de Cloud Build. Recomendamos el compilador de Cloud Build, que se actualiza con regularidad para admitir imágenes de Windows Server LTSC a medida que estén disponibles. A fin de obtener instrucciones manuales y de Cloud Build para imágenes de varios arcos, consulta Compila imágenes de varios arcos de Windows Server.

Actualiza los nodos a Windows Server LTSC

Después de actualizar tus imágenes de contenedor para admitir la variante LTSC de Windows Server, migra tus grupos de nodos a la imagen de nodo de Windows Server LTSC. Recomendamos que pruebes la migración en un clúster de etapa de pruebas o de prueba para asegurarte de que las implementaciones funcionen según lo previsto antes de actualizar el entorno de producción. Para actualizar tu imagen, realiza una de las siguientes acciones:

  • Crear grupos de nodos nuevos y migrar las cargas de trabajo a los nodos nuevos
  • Actualizar el tipo de imagen en tus grupos de nodos existentes

Crea grupos de nodos nuevos

  1. Crea un grupo de nodos nuevo:

    gcloud container node-pools create NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --image-type=WINDOWS_LTSC_IMAGE
    

    Reemplaza lo siguiente:

    • NODE_POOL_NAME: el nombre de tu grupo de nodos nuevo.
    • CLUSTER_NAME: el nombre del clúster de GKE.
    • WINDOWS_LTSC_IMAGE: la imagen de Windows Server LTSC que se usará, que puede ser windows_ltsc_containerd o windows_ltsc.
  2. Agrega el siguiente nodeSelector a tus manifiestos de carga de trabajo:

    spec:
      ...
      nodeSelector:
        kubernetes.io/os: windows
        cloud.google.com/gke-os-distribution: windows_ltsc
    

    También puedes usar este nodeSelector con windows_sac como el valor de etiqueta para indicarle a GKE que evites programar Pods específicos en los nodos nuevos.

  3. Implementa tus manifiestos actualizados:

    kubectl apply -f MANIFEST_NAME
    
  4. Escala tu grupo de nodos anterior a cero:

    gcloud container node-pools update OLD_POOL \
        --cluster=CLUSTER_NAME \
        --min-nodes=0 \
        --max-nodes=NODE_COUNT
    

    Reemplaza lo siguiente:

    • OLD_POOL: el nombre de tu grupo de nodos de Windows Server SAC existente.
    • NODE_COUNT: cantidad máxima de nodos en el grupo de nodos. Repite de forma gradual este número hasta 0 mediante la repetición de este comando. Si tienes problemas, vuelve a escalar este valor.
  5. Cuando se haya migrado por completo, borra el grupo de nodos anterior:

    gcloud container node-pools delete OLD_POOL \
        --cluster=CLUSTER_NAME
    

Actualiza grupos de nodos existentes

  1. Cambia el tipo de imagen de nodo en los grupos de nodos de Windows Server SAC existentes:

    gcloud container clusters upgrade CLUSTER_NAME \
        --region=COMPUTE_REGION \
        --node-pool=NODE_POOL \
        --image-type=WINDOWS_LTSC_IMAGE
    

    Reemplaza lo siguiente:

    • CLUSTER_NAME: el nombre del clúster de GKE.
    • COMPUTE_REGION: la región de Compute Engine del clúster. Para los clústeres zonales, usa --zone=COMPUTE_ZONE.
    • NODE_POOL: el nombre de tu grupo de nodos de Windows Server SAC.
    • WINDOWS_LTSC_IMAGE: la imagen de Windows Server LTSC que se usará, que puede ser windows_ltsc_containerd o windows_ltsc.

¿Qué sigue?