Header Ads

Como fazer upgrade dos clusters do DigitalOcean Managed Kubernetes

O Managed Kubernetes Service (DOKS) da DigitalOcean facilita e agiliza a execução de clusters prontos para produção na nuvem. Ao criar um cluster, você pode escolher entre os três últimos lançamentos secundários do Kubernetes. Veja como lidar com as atualizações para que você não fique para trás com novos recursos e patches de segurança.

Tipos de atualização

Você encontrará dois tipos diferentes de atualização do Kubernetes ao operar seu cluster:

  • Lançamentos de patches – Eles aumentam o número do patch no esquema de controle de versão semântico, como 1.20.1 a 1.20.2. As atualizações de patches devem ser sempre seguras para atualizar, sem depreciações ou alterações importantes.
  • Versões menores – Uma versão secundária envolve um aumento de recursos, como 1,20 para 1,21. Essas alterações ainda devem ser compatíveis com as versões anteriores, para que você não tenha problemas imediatos. Alguns recursos podem ser descontinuados em uma versão secundária para remoção em uma versão principal futura (1.x a 2.x).

Para versões de patch e menores, DigitalOcean oferece um serviço de atualização automática que tomará medidas em seu nome. As atualizações serão instaladas durante uma janela de manutenção predefinida. Pequenas atualizações não são aplicadas, a menos que você habilite manualmente uma opção de nível de cluster primeiro.

O DigitalOcean às vezes pode forçar uma atualização no caso de um problema de segurança urgente. Isso pode acontecer mesmo que você tenha desativado as atualizações automáticas. Além disso, seu cluster eventualmente será atualizado se você permanecer com a versão mais antiga do Kubernetes compatível por tanto tempo que a DigitalOcean a descontinuará totalmente.

As atualizações são um processo de duas etapas. Primeiro, o plano de controle do Kubernetes é atualizado, durante o qual suas cargas de trabalho permanecem disponíveis. Seus nós de trabalho são então corrigidos para a nova versão. Isso pode causar tempo de inatividade dependendo do tamanho do cluster e de suas cargas de trabalho.

Definindo sua programação de atualização

A programação de atualização automática do seu cluster é definida no painel de controle DigitalOcean. Faça login em sua conta e clique em seu cluster na página inicial. Você também pode clicar em “ Kubernetes ” na barra lateral esquerda e escolha seu cluster a partir daí.

 

Publicidade

Assim que estiver na página do cluster, clique no link “ Configurações ” guia na parte superior. Clique no botão “ Editar ” ao lado da “ janela Atualizar ” categoria. Use os dois menus suspensos para escolher um dia e hora. Clique em “ Salvar ” para confirmar sua seleção. DigitalOcean irá agendar atualizações automáticas para instalação durante um período de quatro horas a partir do horário definido.

Se desejar que as versões secundárias do Kubernetes também sejam aplicadas automaticamente, clique no botão “ Editar ” ao lado de “ Atualizar automaticamente patches de versão secundária. ” Quando a caixa de seleção está marcada, seu cluster será movido para novas versões secundárias sem qualquer intervenção manual. Você deve avaliar esta decisão em relação à estabilidade mínima necessária para suas cargas de trabalho.

Atualizando manualmente

Você sempre pode atualizar seu cluster manualmente a partir do painel de controle da nuvem. Você precisará fazer isso quando fizer uma atualização de versão secundária e não tiver a opção automática ativada. Uma atualização manual também é útil se você deseja instalar um patch antes de sua programação normal.

Navegue até o seu cluster no painel de controle. Role para baixo na seção “ Visão geral ” e clique na guia azul “ Visualizar atualização disponível ” botão. Se este botão não for exibido, seu cluster já está atualizado e não há mais patches disponíveis.

Se você estiver atualizando para uma nova versão secundária, DigitalOcean irá lintar os recursos do seu cluster para descobrir quaisquer problemas de compatibilidade em potencial. Essa verificação pode levar alguns minutos para ser concluída. Você verá os resultados exibidos na janela pop-up.

Publicidade

Quaisquer problemas de linting devem ser resolvidos antes de prosseguir com a atualização. Embora as atualizações menores do Kubernetes não devam apresentar sérios problemas de compatibilidade com versões anteriores, as atualizações também envolvem alterações na plataforma DOKS subjacente. DigitalOcean às vezes ajusta a configuração DOKS de maneiras que podem introduzir blocos de atualização para versões mais antigas.

Se o lint falhar, você deve consultar a documentação da DigitalOcean, pois as etapas de resolução serão diferentes de cluster para cluster. A referência de lint da DigitalOcean &’ inclui passo a passo “ como corrigir ” instruções para os problemas mais comuns. Quando terminar, clique em “ Executar verificação novamente ” para confirmar se suas correções são eficazes.

Assim que o lint &’ passar, clique no botão azul “ Atualizar agora ” botão para iniciar a atualização. Isso pode levar vários minutos, dependendo do tamanho do seu cluster. O progresso é mostrado na IU do painel de controle. O plano de controle é atualizado primeiro, seguido por cada nó de trabalho em seu cluster.

Atualizando da CLI

Você pode automatizar atualizações dentro de sua própria infraestrutura usando DigitalOcean &’ s CLI, Doctl. Certifique-se de ter o Doctl instalado e conectado à sua conta.

Primeiro, obtenha os detalhes do seu cluster:

 lista de clusters doctl kubernetes 

Este comando exibe todos os seus clusters. Anote o ID do cluster que você deseja atualizar.

Em seguida, encontre as versões do Kubernetes para as quais seu cluster pode migrar:

 doctl kubernetes cluster get-upgrades < ID > 

Publicidade

Substitua < ID > com o ID do cluster que você anotou anteriormente. Agora que você conhece as versões que pode usar, execute o comando upgrade para iniciar o patch:

 atualização do cluster doctl kubernetes < ID > --versão 1.20.8 

Se quiser ir diretamente para a versão mais recente, você pode omitir o sinalizador --version.

O processo de atualização pode levar vários minutos para ser concluído, assim como uma instalação iniciada por meio da IU da web.

Atualizações de pico

Atualizar um cluster com um único nó usado para causar tempo de inatividade. Os nós são substituídos por novas instâncias durante o processo de atualização, portanto, haveria um período em que suas cargas de trabalho ficariam offline. Quando seu cluster tiver vários nós, o programador Kubernetes moverá os pods de cada nó de atualização para manter a disponibilidade. Você ainda pode encontrar tempo de inatividade se a capacidade do seu cluster não puder suportar todas as suas cargas de trabalho ao executar “ um nó inativo. ”

Surge Upgrades são um recurso opcional que permite garantir a disponibilidade durante as atualizações, mesmo em clusters de nó único. Quando os Surge Upgrades estão ativos, o DigitalOcean aciona nós de trabalho extras antes da instalação do patch. Os pods serão movidos para o “ pico ” temporário; nós enquanto a atualização do cluster é concluída.

Um máximo de 10 nós de pico serão adicionados à sua conta. Eles serão cobrados de acordo com a taxa de gotas regular. Para a maioria dos clusters, o impacto do custo deve ser insignificante, pois as gotas extras viverão apenas durante a atualização.

Publicidade

Você pode ativar o Surge Upgrades na página de configurações do seu cluster. Depois de ativados, eles serão usados ​​para todas as atualizações futuras, tanto automáticas quanto manuais. A opção Surge Upgrades também é exibida no prompt de confirmação quando você está prestes a iniciar uma atualização manual.

Conclusão

Você tem várias opções para atualizar clusters DigitalOcean Kubernetes. Normalmente, é melhor permitir que as atualizações de patch sejam aplicadas automaticamente, enquanto as versões menores podem ser automatizadas ou instaladas manualmente com o Painel de controle da nuvem ou Doctl.

As atualizações não devem causar nenhum tempo de inatividade para os seus usuários, desde que você tenha habilitado o Surge Upgrades. DigitalOcean criará automaticamente novos nós de trabalho para manter a disponibilidade do serviço enquanto os nós principais são atualizados. Se você não estiver usando Surge Upgrades, poderá encontrar tempo de inatividade se estiver usando um cluster de nó único ou ficar com capacidade insuficiente, pois cada nó deixa de ser atualizado.

Nenhum comentário