Home Empreendimento Kubernetes 1.19 lançado

Kubernetes 1.19 lançado

by Michael Rink
Kubernetes 1.19

Hoje, a equipe do Kubernetes lançou oficialmente a versão 1.19 do sistema de orquestração de contêineres de código aberto mais popular. A versão 1.19 possui 34 aprimoramentos, apesar da interrupção causada pelo COVID-19. 9 dos aprimoramentos são aprimoramentos Alfa, 15 estão no estágio Beta e os 10 restantes são estáveis. O rascunho de notas de lançamento de algumas horas antes do lançamento oficial incluem cerca de uma página de notas e ações necessárias marcadas com um aviso enfático encantador: “(Não, realmente, você DEVE ler isso antes de atualizar).” Qualquer pessoa que queira atualizar para a nova versão provavelmente deve ler pelo menos essa seção das notas de lançamento primeiro, especialmente se você estiver usando o recurso Flex Volumes. A primeira versão do Kubernetes foi lançada há cinco anos, em julho de 2015. Uma grande porcentagem dos colaboradores originais do projeto de código aberto era do Google, e o software foi escrito em Go. Go, às vezes chamado de Golang, é uma linguagem imperativa, orientada a objetos, estaticamente tipada, que inclui segurança de memória e coleta de lixo.

Hoje, a equipe do Kubernetes lançou oficialmente a versão 1.19 do sistema de orquestração de contêineres de código aberto mais popular. A versão 1.19 possui 34 aprimoramentos, apesar da interrupção causada pelo COVID-19. 9 dos aprimoramentos são aprimoramentos Alfa, 15 estão no estágio Beta e os 10 restantes são estáveis. O rascunho de notas de lançamento de algumas horas antes do lançamento oficial incluem cerca de uma página de notas e ações necessárias marcadas com um aviso enfático encantador: “(Não, realmente, você DEVE ler isso antes de atualizar).” Qualquer pessoa que queira atualizar para a nova versão provavelmente deve ler pelo menos essa seção das notas de lançamento primeiro, especialmente se você estiver usando o recurso Flex Volumes. A primeira versão do Kubernetes foi lançada há cinco anos, em julho de 2015. Uma grande porcentagem dos colaboradores originais do projeto de código aberto era do Google, e o software foi escrito em Go. Go, às vezes chamado de Golang, é uma linguagem imperativa, orientada a objetos, estaticamente tipada, que inclui segurança de memória e coleta de lixo.

Kubernetes 1.19

Possivelmente, a mudança mais crítica que vem com o Kubernetes 1.19 não está no software. A equipe do Kubernetes decidiu estender o suporte do período anterior de nove meses para um ano inteiro. Essa mudança foi motivada por uma pesquisa do ano passado que indicou que apenas metade dos usuários do Kubernetes usavam uma versão suportada. A equipe espera que aumentar a duração do suporte para um ano inteiro signifique que 80% dos usuários estão usando uma versão compatível. Infelizmente, essa meta de 80% só será alcançada se os usuários e as equipes de TI continuarem com suas práticas de atualização atuais, em vez de usar a janela de suporte mais longa como desculpa para atrasar ainda mais a próxima atualização.

Um dos novos aprimoramentos do estágio 9 Alpha fornece suporte para melhor gerenciamento de armazenamento. 1.19 apresenta uma nova API para relatar a capacidade de armazenamento de um nó. O agendador usará essas informações de capacidade ao escolher um nó para um novo pod de contêiner para garantir que apenas os nós com espaço adequado para o novo pod sejam selecionados. Na mesma linha, outro dos 9 aprimoramentos do Alpha permite que os operadores definam uma regra de espalhamento padrão e a apliquem a qualquer pod sem uma. Esse recurso tão esperado foi inicialmente planejado para ser lançado no ano passado como parte do 1.17, mas o compromisso da equipe em fornecer software estável, confiável e de qualidade atrasou seu lançamento até agora.

Continuando com o tema de gerenciamento de armazenamento aprimorado, outro novo recurso Alpha estende o suporte existente para volumes efêmeros. Volumes efêmeros são plug-ins de volume cujo ciclo de vida está vinculado a um pod e podem ser usados ​​como espaço de rascunho (por exemplo, o tipo de volume “empty dir” integrado) ou para carregar alguns dados em um pod (por exemplo, o configmap integrado e os tipos de volume secreto ou “CSI volumes em linha”). O novo recurso Alpha estende isso permitindo que os drivers de armazenamento de provisionamento dinâmico sejam usados ​​como um volume efêmero com o ciclo de vida do volume vinculado ao pod. O novo recurso oferece suporte a todos os parâmetros StorageClass para provisionamento de volume. Todos os PersistentVolumeClaims, como rastreamento de capacidade de armazenamento, instantâneos e restauração, e redimensionamento de volume também são suportados. Enquanto estamos no tópico de alertas, deve-se notar que também está sendo feita uma tentativa de melhorar o registro em geral. Novos métodos para estruturar as mensagens klog foram adicionados como um aprimoramento Alpha no Kubernetes 1.19. O plano atual exige a adição incremental de suporte para registro mais estruturado além do sistema existente, para que os usuários tenham bastante tempo para se adaptar ao novo e melhorado sistema em seu próprio ritmo.

Concluindo os aprimoramentos Alpha para gerenciamento de armazenamento, o monitoramento de integridade CSI está sendo lançado com o Kubernetes 1.19. O novo recurso aumenta os alertas do driver CSI relatando-os como eventos em PVCs ou Pods. Esse recurso serve como um trampolim para a detecção e resolução programática de problemas de integridade de volume individual pelo Kubernetes.

Dos 15 aprimoramentos do estágio Beta no Kubernetes 1.19, 2 são sinalizados como grandes mudanças e um como novo líquido. As duas principais mudanças são uma melhoria na API de endpoints para adicionar um conceito de espelhamento e a adição de duas novas chamadas de função para melhorar a API de topologia de nó. O mecanismo de alerta para o uso de APIs obsoletas também recebeu uma atualização.

A mais importante das melhorias graduadas para Stable é a API do Ingress. Essa mudança tão esperada faz pouco mais do que reconhecer o status quo de seu uso generalizado na indústria. No entanto, lendo nas entrelinhas, parece que alguns membros da equipe ainda têm melhorias que desejam fazer que podem ser incluídas como API paralela ou substituta no futuro. O outro lado dessa mudança é que o 1.19 também automatizou a descontinuação (três lançamentos posteriores) e a remoção (três lançamentos posteriores) de recursos Beta que não estão sendo desenvolvidos ativamente ou graduando para Stable para reduzir a confusão de código. O principal objetivo da nova automação é reduzir o trabalho e permitir que os contribuidores do software de código aberto se concentrem em melhorar os novos recursos, em vez de limpar os mortos.

Disponibilidade

Imediatamente

Site principal do Kubernetes

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS feed