O que é versionamento?

Concluído

As versões de software geralmente encontram erros, bugs ou falhas de segurança que exigem que as equipes de desenvolvimento apliquem atualizações e correções. À medida que o software evolui, novos recursos e funcionalidades são adicionados. Essas atualizações e correções são lançadas como novas versões do software. O controle de versão é um processo controlado que envolve o rastreamento e o gerenciamento de versões de software. As versões de software normalmente permanecem no suporte por um determinado período de tempo, o que dá aos usuários tempo para atualizar seu software para a versão mais recente.

Diagram that shows how software evolves over time from its initial release as new bug fixes and features are made through software versioning.

O que é versionamento semântico?

O controle de versão semântico é um esquema de controle de versão composto pelos seguintes componentes de versão:

  • As versões principais são lançadas quando o software evolui da versão 1.0.0 para a 2.0.0. Essas versões geralmente incluem alterações de quebra que não são compatíveis com versões anteriores.
  • As versões secundárias são lançadas quando o software evolui de 1.0.0 para 1.1.0. Essas versões geralmente incluem novos recursos e funcionalidades.
  • As versões de patch são lançadas quando o software evolui da versão 1.0.0 para a 1.0.1. Essas versões geralmente incluem correções de bugs e atualizações de segurança.

Controle de versão do Kubernetes

O Kubernetes usa o esquema de versionamento semântico. As novas versões do Kubernetes são apenas para componentes do tempo de execução do Kubernetes dentro do cluster. O tempo de execução do Kubernetes inclui os seguintes componentes:

  • kube-apiserver
  • kubelet
  • kube-controlador-gerente
  • kube-scheduler
  • kube-proxy

Os componentes de tempo de execução do Kubernetes não incluem atualizações de nós, como atualizações do sistema operacional ou atualizações de imagem para nós que executam o cluster do Kubernetes. Isso significa que você precisa aplicar atualizações e patches separados aos componentes do cluster do Kubernetes e aos nós de computação subjacentes que suportam o cluster.

1.

A comunidade Kubernetes encontrou alguns bugs na versão atual. Depois que o Kubernetes faz essas correções de bugs, o que eles devem fazer?

2.

Kubernetes acaba de anunciar que lançou uma nova versão, v1.20.0. A última versão conhecida do Kubernetes foi v1.19.10. Usando seu conhecimento de versionamento semântico, que tipo de alterações a v1.20.0 indica?

3.

Quando o Kubernetes lança uma nova versão, o que foi atualizado?