Nesta página, você encontra informações sobre o fim dos serviços para tipos de imagem de nó semestral (SAC) do Windows Server nos clusters Standard do Google Kubernetes Engine (GKE). Para instruções sobre como migrar para imagens de nós compatíveis, consulte Migrar para imagens compatíveis do Windows.
Sobre a remoção de SAC do Windows Server
A Microsoft vai desativar o Canal Semestral do Windows Server em 9 de agosto de 2022. Isso coincide com o fim do serviço do Windows Server, versão 20H2. O Windows Server usará o canal de manutenção de longo prazo (LTSC) como o principal. Com essa mudança, a Microsoft não lançará mais atualizações críticas, incluindo atualizações de segurança, para imagens SAC do Windows Server. Como resultado, o GKE não oferece mais suporte a essas imagens.
O GKE Standard não permitirá mais a criação de novos pools de nós que usam tipos de imagem do SAC do Windows Server. Se você usar um dos tipos de imagem a seguir nos pools de nós atuais, será necessário migrar para um tipo de imagem compatível se quiser fazer upgrade da sua versão do GKE.
windows_sac
: Windows Server SAC com Dockerwindows_sac_containerd
: Windows Server SAC com Containerd
Os pools de nós SAC do Windows Server continuarão funcionando conforme esperado após 9 de agosto de 2022. No entanto, você corre o risco de expor esses nós a vulnerabilidades de segurança e instabilidade da plataforma devido à falta de atualizações futuras para o SAC.
Cronograma e marcos
Após 9 de agosto de 2022, não será mais possível fazer o seguinte:
- Criar novos clusters que usem imagens de nó SAC do Windows Server.
- Criar novos pools de nós que usam imagens de nó SAC do Windows Server.
- Ative o provisionamento automático de nós com a sinalização
--autoprovisioning-image-type
definida comowindows_sac
ouwindows_sac_containerd
. - Faça upgrade da versão do GKE dos nós SAC do Windows Server.
O que você deve fazer?
Recomendamos que você migre os pools de nós SAC do Windows Server para o tipo de imagem de nó windows_ltsc_containerd
. No GKE versão 1.23
e posterior, esse é o único tipo de imagem do Windows Server compatível com novos clusters
e pools de nós.
O tipo de imagem windows_ltsc
, que usa o Docker como ambiente de execução do contêiner, não é
compatível com o GKE versão 1.23 e posterior devido à
descontinuação de imagens de nó do Docker.
Dependendo da versão atual do GKE, faça o seguinte:
- GKE versão 1.20 e anteriores: migre os pools de nós para
a imagem
windows_ltsc
. - GKE versão 1.21 e mais recentes: migre seus pools de nós para
a imagem
windows_ltsc_containerd
.
Impacto da migração
Se você usa a imagem windows_sac
, que tem o Docker como ambiente de execução
do contêiner, a migração para o tipo de imagem windows_ltsc_containerd
pode afetar qualquer
uma das ferramentas atuais que depende dos comandos do Docker. Para informações sobre o
possível impacto da migração para um tipo de imagem que usa o containerd, consulte a
lista de situações em
Sobre a descontinuação de imagens de nó do Docker.
Migrar para o Windows Server LTSC
O processo consiste nas etapas a seguir.
- Identificar imagens de contêiner para atualizações de arquitetura
- Criar imagens de contêiner do Windows de vários arcos
- Atualizar pools de nós para o Windows Server LTSC
Identificar imagens de contêiner para atualizações de arquitetura
As imagens de contêiner de arquitetura única em execução no Windows Server SAC não são compatíveis com as imagens LTSC do Windows Server. Será necessário identificar imagens de contêiner incompatíveis e preparar-se para atualizar a arquitetura. Se você tiver imagens de
várias arquiteturas, inspecione-as para garantir que as imagens ofereçam suporte à variante
Windows 2019 LTSC, que tem o número de versão 10.0.17763.X
.
Imagens de arco único
Para inspecionar a versão compatível do Windows, execute o seguinte comando em um nó SAC do Windows Server em que o pod está em execução:
docker image inspect IMAGE_NAME
Substitua IMAGE_NAME
pelo nome da imagem de contêiner.
Se a imagem for compatível com a variante SAC do Windows Server, a saída será semelhante a esta:
[
{
...
"Architecture": "amd64",
"Os": "windows",
"OsVersion": "10.0.19042.1645" // 1645 can be any build number
}
]
Se a imagem for compatível com a variante LTSC do Windows Server, a saída será semelhante a esta:
[
{
...
"Architecture": "amd64",
"Os": "windows",
"OsVersion": "10.0.17763.2686" // 2686 can be any build number
}
]
Imagens de vários arcos
Se você já usa imagens de contêiner do Windows de vários arcos, inspecione as imagens
para garantir que elas sejam compatíveis com a variante LTSC do Windows Server 2019, que tem
o número de versão 10.0.17763.X
.
docker manifest inspect MANIFEST_NAME
Substitua MANIFEST_NAME
pelo nome do manifesto do Docker, como eu.gcr.io/gke-release-staging/internet-explorer:v2
.
O resultado será assim:
{
{
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"size": 1575,
"digest": "...",
"platform": {
"architecture": "amd64",
"os": "windows",
"os.version": "10.0.17763.1935"
}
}
Criar imagens de contêiner do Windows de vários arcos
Depois de identificar todas as imagens que precisam de atualizações para serem compatíveis com a variante LTSC do Windows Server 2019, recomendamos que você crie imagens de vários servidores do Windows Server.
A criação de imagens de vários arcos garante que os contêineres sejam executados em qualquer versão do Windows oferecida pelo GKE. As imagens de vários arcos facilitam a experiência de migração porque o containerd detecta a versão do Windows Server LTSC nos pools de nós migrados e escolhe a imagem apropriada do manifesto.
É possível criar essas imagens manualmente ou usando o gke-windows-builder do Cloud Build. Recomendamos o builder do Cloud Build, que é atualizado regularmente para oferecer suporte às novas imagens LTSC do Windows Server à medida que são disponibilizadas. Para instruções manuais e do Cloud Build sobre imagens de vários arcos, consulte Como criar imagens de vários arcos do Windows Server.
Fazer upgrade dos nós para o Windows Server LTSC
Depois de atualizar as imagens de contêiner para oferecer suporte à variante LTSC do Windows Server, migre os pools de nós para a imagem LTSC do Windows Server. Recomendamos que você teste a migração em um cluster de teste ou de preparo para garantir que suas implantações funcionem conforme o esperado antes de fazer upgrade do ambiente de produção. Para atualizar sua imagem, siga um destes procedimentos:
- Criar novos pools de nós e migrar cargas de trabalho para os novos nós
Atualizar o tipo de imagem nos pools de nós atuais
Criar novos pools de nós
Criar um novo pool de nós
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --image-type=WINDOWS_LTSC_IMAGE
Substitua:
NODE_POOL_NAME
: o nome do novo pool de nós.CLUSTER_NAME
: o nome do cluster do GKE.WINDOWS_LTSC_IMAGE
: a imagem LTSC do Windows Server a ser usada, que pode serwindows_ltsc_containerd
ouwindows_ltsc
.
Adicione o nodeSelector a seguir aos manifestos da carga de trabalho:
spec: ... nodeSelector: kubernetes.io/os: windows cloud.google.com/gke-os-distribution: windows_ltsc
Também é possível usar esse nodeSelector com
windows_sac
como o valor do rótulo para dizer ao GKE para evitar a programação de pods específicos nos novos nós.Implante seus manifestos atualizados:
kubectl apply -f MANIFEST_NAME
Escalone o pool de nós antigo para zero:
gcloud container node-pools update OLD_POOL \ --cluster=CLUSTER_NAME \ --min-nodes=0 \ --max-nodes=NODE_COUNT
Substitua:
OLD_POOL
: o nome do pool de nós SAC do Windows Server.NODE_COUNT
: o número máximo de nós no pool. Repita esse comando para reduzir gradualmente esse número a 0. Em caso de problemas, aumente o valor novamente.
Quando estiver totalmente migrado, exclua o pool de nós antigo:
gcloud container node-pools delete OLD_POOL \ --cluster=CLUSTER_NAME
Atualizar pools de nós atuais
Alterne o tipo de imagem do nó nos pools de nós SAC do Windows Server:
gcloud container clusters upgrade CLUSTER_NAME \ --region=COMPUTE_REGION \ --node-pool=NODE_POOL \ --image-type=WINDOWS_LTSC_IMAGE
Substitua:
CLUSTER_NAME
: o nome do cluster do GKE.COMPUTE_REGION
: a região do Compute Engine do cluster. Para clusters zonais, use--zone=COMPUTE_ZONE
.NODE_POOL
: o nome do pool de nós SAC do Windows Server.WINDOWS_LTSC_IMAGE
: a imagem LTSC do Windows Server a ser usada, que pode serwindows_ltsc_containerd
ouwindows_ltsc
.
A seguir
- Saiba mais sobre os tipos de imagem de nó compatíveis.
- Saiba como criar imagens do Windows Server de vários arcos.
- Saiba como configurar nós do Windows para participar automaticamente de um domínio do Active Directory.
- Migrar do Docker para imagens de nó containerd.