O que é versionamento?
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.
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.