A equipe de desenvolvimento do Kubernetes lançou o Kubernetes 1.20 com Kubectl Debug em beta e muito mais. Confira os detalhes desse lançamento.
Kubernetes é um sistema de código aberto para automatizar a implantação, escalação e administração de aplicativos em contêineres.
Ele foi originalmente projetado pelo Google, embora seu desenvolvimento tenha sido posteriormente confiado à Open Source Cloud Computing Foundation (CNCF), que permitiu que a tecnologia de orquestração de contêiner amadurecesse rapidamente, graças às contribuições de gigantes da tecnologia.
Agora, a equipe de desenvolvimento do Kubernetes lançou recentemente a nova versão 1.20, que continua o trabalho de limpeza iniciado na versão 1.19 e introduz mais de 40 novos recursos, incluindo 16 recursos aprimorados e 11 que serão lançados eventualmente. classificado como estável.
A equipe prestou atenção especial ao desenvolvimento de funções importantes, como cron jobs de Kubelet e suporte CRI, que estão na fase alfa há muito tempo. Recursos que não mostram progresso contínuo em direção à estabilidade serão descontinuados mais rapidamente no futuro.
Novidades do Kubernetes 1.20
Uma das principais mudanças no Kubernetes 1.20 é a suspensão do uso do Docker, conforme mencionado no changelog, a primeira versão beta do 1.20 Kubernetes anunciou que o suporte do Docker se aplica ao Kubelet obsoleto e deve ser completamente omitido em uma das próximas versões.
Na visão da equipe de desenvolvimento, a integração de Container Runtime Interface (CRI) como uma interface de plug-in para Kubelet atingiu agora o nível de maturidade necessário para ser capaz de mudar para ambientes de tempo de execução de contêiner compatíveis com CRI que podem ser usados sem reverter para compilar.
Com este Kubectl Debug vai para beta, com ele, os usuários podem inspecionar um pod em execução sem ter que reiniciá-lo. Além disso, os usuários não precisam mais entrar no contêiner para verificar os sistemas ou iniciar operações, como utilitários de depuração ou solicitações de rede iniciais do namespace de rede do pod. Esse aprimoramento remove a dependência do SSH para manter e depurar nós.
Este recurso oferece suporte a fluxos de trabalho de depuração comuns diretamente do kubectl. Os cenários de solução de problemas com suporte nesta versão do kubectl:
- Resolva problemas com cargas de trabalho que param na inicialização, criando uma cópia do pod que usa um comando de contêiner ou imagem diferente.
- Resolva problemas de contêiner sem distração adicionando um novo contêiner com ferramentas de depuração, seja em uma nova cópia de pod ou usando um contêiner efêmero.
- Solucione o problema de um nó criando um contêiner que é executado nos namespaces do host e com acesso ao sistema de arquivos do host.
Outra mudança importante nesta nova versão são as operações de instantâneo de volume estável.
Esse recurso fornece uma maneira padrão de habilitar operações de volume de sombra e permite que os usuários incorporem operações de cópia de sombra em uma base portátil em qualquer ambiente Kubernetes compatível e provedores de armazenamento.
Além disso, esses primitivos de snapshot do Kubernetes atuam como blocos de construção básicos para o desenvolvimento de funcionalidade avançada de gerenciamento de armazenamento de nível empresarial para Kubernetes, incluindo soluções de backup em nível de aplicativo ou cluster.
Por outro lado, a limitação dos PIDs de processo para estabilidade é destacada, já que os IDs de processo são um recurso crítico em hosts Linux. É trivial atingir o limite da tarefa sem atingir nenhum outro limite de recursos e causar instabilidade em uma máquina host.
Os administradores precisam de mecanismos para garantir que os pods do usuário não induzam à exaustão do pid, o que impede a execução dos daemons do host.
Além disso, é importante garantir que os pids sejam limitados entre os pods para garantir que eles tenham impacto limitado em outras cargas de trabalho no nó.
Depois de ser habilitado por padrão por um ano, o nó GIS altera os limites de PID para GA em SupportNodePidsLimit e SupportPodPidsLimit.
Além disso, no Kubernetes 1.20, a pilha dupla IPv4 / IPv6 foi reimplantada para oferecer suporte a serviços de pilha dupla com base no feedback do usuário e da comunidade.
Isso permite que os endereços IP do cluster de serviço IPv4 e IPv6 sejam atribuídos a um único serviço e também permite que um serviço passe de uma pilha de IP única para uma pilha de IP dupla e vice-versa.
Para saber mais sobre essa versão do Kubernetes, acesse a nota de lançamento.