Atualizando clusters, nós do trabalhador e componentes do cluster

Mantenha seu cluster seguro e com suporte atualizando o nó mestre, os nós de trabalho e os componentes do cluster na ordem correta. Atualizações fora de sequência podem causar falhas decorrentes de incompatibilidade de versões ou tempo de inatividade inesperado.

Realize as atualizações na seguinte ordem:

  1. Atualize o mestre do cluster.
  2. Atualize seus nós de trabalho — Classic, VPC ou Satellite — dependendo do seu tipo de infraestrutura. Não sabe ao certo qual é o seu tipo? No console do IBM Cloud, clique no seu cluster e verifique o campo “Infraestrutura” na guia “Visão geral” — ele exibe “Clássico”, “VPC” ou Satellite.
  3. Atualize os componentes do cluster, como o Fluentd e os ALBs do Ingress, caso você os gerencie manualmente.
  4. Atualizar complementos gerenciados.

Atualizando o mestre

Como sei quando devo atualizar o mestre?
Você é notificado no console, nos anúncios e na CLI quando as atualizações estão disponíveis Também é possível verificar periodicamente a página de versões suportadas
Quantas versões atrás da mais recente o branch “master” pode estar?
Você só pode atualizar o servidor da API para a versão imediatamente superior à versão atual (n+1).
Meus nós de trabalho podem rodar uma versão mais recente do que a do mestre?
Os nós do trabalhador não podem executar uma versão mais recente do Kubernetes major.minor do que a principal. Além disso, seus nós de trabalho só podem estar uma versão secundária atrás da versão mestre (n-1). Primeiro, atualize seu nó mestre para a versão mais recente em Kubernetes. Em seguida, atualize os nós do trabalhador em seu cluster.

Os nós do trabalhador podem executar versões de correção mais recentes do que o mestre, como as versões de correção que são específicas para nós do trabalhador para atualizações de segurança.

Como as atualizações de patch são aplicadas?
Por padrão, as atualizações de correção para o mestre são aplicadas automaticamente ao longo do curso de vários dias, portanto, uma versão de correção principal pode ser mostrada como disponível antes de ser aplicada ao seu mestre. A automação de atualização também ignora clusters que estão em um estado não funcional ou têm operações atualmente em andamento. Ocasionalmente, a IBM pode desativar as atualizações automáticas para um fix pack de mestre específico, como uma correção que é necessária somente se um mestre for atualizado de uma versão secundária para outra. Em qualquer um desses casos, você pode verificar as informações de versão em Red Hat OpenShift on IBM Cloud para avaliar qualquer impacto potencial e optar por usar com segurança o comando ibmcloud oc cluster master update por conta própria, sem esperar que a atualização automática seja aplicada.

Diferentemente do mestre, deve-se atualizar seus trabalhadores para cada versão de correção.

O que acontece durante a atualização do mestre?
Seu mestre está altamente disponível com três pods do mestre de réplica. Os pods principais têm uma atualização contínua, durante a qual apenas um pod está indisponível por vez. Duas instâncias estão funcionando para que seja possível acessar e mudar o cluster durante a atualização. Os nós do trabalhador, apps e recursos continuam a ser executados.
Posso reverter a atualização?
Não, não é possível reverter um cluster para uma versão anterior após o processo de atualização acontecer. Certifique-se de usar um cluster de teste e siga as instruções para tratar de problemas potenciais antes de atualizar seu principal de produção.
Que procedimento devo seguir para atualizar o mestre?
O diagrama a seguir mostra o processo que é possível usar para atualizar seu mestre.

Diagrama do processo de atualização do mestre
Atualização do diagrama do processo mestre Kubernetes

Etapas para atualizar o cluster mestre

Antes de começar, certifique-se de que você tenha o Operador ou função de acesso à plataforma de IAM do Administrador. Se você não tiver certeza de qual é a sua função de acesso, acesse Gerenciar → Acesso (IAM) → Usuários no console do IBM Cloud ou pergunte ao administrador da sua conta.

Se estiver em andamento uma rotação de certificados de uma autoridade certificadora (CA), a atualização principal fica bloqueada até que a rotação seja concluída. Verifique o status de qualquer rotação em andamento antes de começar.

Para atualizar a versão principal or secundária do Red Hat OpenShift mestre:

  1. Revise as informações da versão do Red Hat OpenShift on IBM Cloud e faça quaisquer atualizações marcadas com Atualizar antes do principal.

  2. Revise os Avisos úteis do Kubernetes, como avisos de descontinuação.

  3. Verifique os complementos e plug-ins instalados em seu cluster para obter qualquer impacto que possa ser causado pela atualização da versão do cluster.

    • Verificando complementos

      1. Liste os complementos no cluster.
        ibmcloud oc cluster addon ls --cluster CLUSTER
        
      2. Verifique a versão do Red Hat OpenShift suportada para cada complemento que está instalado.
        ibmcloud oc addon-versions
        
      3. Se o complemento precisar ser atualizado para execução na versão do Red Hat OpenShift para a qual você deseja atualizar seu cluster, faça isso.
    • Verificando plug-ins

      1. No Catálogo do Helm, localize os plug-ins que você instalou no cluster.
      2. No menu lateral, expanda a seção Fontes e arquivo tar.
      3. Faça download e abra o código-fonte.
      4. Verifique os arquivos README.md ou RELEASENOTES.md para as versões suportadas.
      5. Se o plug-in precisar ser atualizado para execução na versão do Red Hat OpenShift para a qual você deseja atualizar seu cluster, atualize-o seguindo as instruções dele.
  4. Atualize seu servidor de API e os componentes principais associados usando o console IBM Cloud ou executando o comando da CLI ibmcloud oc cluster master update.

  5. Aguarde alguns minutos e, em seguida, confirme se a atualização está concluída. Revise a versão do servidor de API no painel de clusters do IBM Cloud ou execute ibmcloud oc cluster ls.

  6. Instale a versão do oc cli que corresponde à versão do servidor da API que é executada no mestre. Kubernetes não é compatível com versões do cliente d oc que tenham uma diferença de duas ou mais versões em relação à versão do servidor (n ± 2). Para atualizar sua configuração local, execute ibmcloud oc cluster config -c CLUSTER_NAME_OR_ID e, em seguida, verifique com oc version --client.

Quando a atualização do nó mestre estiver concluída, atualize seus nós de trabalho. O método depende do tipo de infraestrutura que você possui:

  1. Atualização de nós de trabalho clássicos — utiliza uma atualização gradual controlada por um arquivo de atualização ( ConfigMap ) e pelo comando worker update .
  2. Atualização dos nós de trabalho da VPC — Os nós de trabalho bare metal da VPC são atualizados no próprio ambiente usando worker reload; os nós de trabalho VSI da VPC devem usar worker replace --update. O procedimento de atualização contínua do ConfigMap ainda não é compatível com nós de trabalho da VPC.

Atualizando nós do trabalhador clássicos

Os nós de trabalho da infraestrutura clássica realizam uma atualização contínua no próprio ambiente. As atualizações são controladas por um parâmetro de disponibilidade ( Kubernetes ) ConfigMap, que define quantos nós podem ficar indisponíveis ao mesmo tempo. O comando ibmcloud oc worker update é compatível apenas com nós de trabalho clássicos.

Você pode fazer dois tipos de atualizações:

  • Patch: Aplica correções de segurança e atualiza para a versão mais recente do patch. Acesse ibmcloud oc worker reload ou ibmcloud oc worker update. Ambos os comandos atualizam o nó para a versão mais recente do patch. O comando update também aplica, ao mesmo tempo, qualquer atualização de versão disponível do major.minor para sincronizá-lo com o master.
  • Major.minor: Atualiza a versão d Kubernetes do nó de trabalho para que fique igual à do mestre. Seus nós de trabalho podem estar, no máximo, uma versão atrás do mestre (n-1). Use o comando ibmcloud oc worker update.

Para obter mais informações, consulte Tipos de atualização.

É uma boa prática rotacionar os certificados CA sempre que você atualizar os nós de trabalho, pois a etapa mais longa da rotação de certificados inclui recarregar ou substituir os nós de trabalho.

O que acontece com meus aplicativos durante uma atualização?
Os aplicativos em execução nos nós de trabalho atualizados são reprogramados para outros nós de trabalho no cluster — incluindo nós em diferentes conjuntos de nós de trabalho ou nós de trabalho independentes. Para evitar tempo de inatividade, certifique-se de que há capacidade suficiente no cluster para suportar a carga de trabalho antes de iniciar a atualização.
Como posso controlar quantos nós de trabalho ficam fora do ar ao mesmo tempo durante uma atualização ou recarga?
Use o parâmetro Kubernetes ConfigMap para definir o número máximo de nós de trabalho que podem ficar indisponíveis ao mesmo tempo. Os nós de trabalho são identificados por seus rótulos. Você pode usar as etiquetas fornecidas pelo IBM ou etiquetas personalizadas. Se for necessário que todos os seus nós de trabalho permaneçam disponíveis, considere ajustar o tamanho do seu conjunto de nós de trabalho ou adicionar nós de trabalho independentes para aumentar a capacidade temporária antes da atualização.

O ConfigMap controla apenas o comportamento da atualização. Isso não afeta as recargas dos nós de trabalho, que ocorrem imediatamente quando solicitadas.

E se eu optar por não definir um mapa de configuração?
Por padrão, no máximo 20% de todos os nós de trabalho em cada cluster podem ficar indisponíveis durante a atualização. Você pode substituir esse valor definindo um arquivo de configuração de servidor ( ConfigMap ) com uma entrada de configuração de servidor ( defaultcheck.json ).

Pré-requisitos

Antes de atualizar os nós de trabalho da sua infraestrutura clássica, execute as etapas pré-requisitos a seguir.

Durante uma atualização do nó de trabalho, o sistema operacional da máquina do nó de trabalho é reinstalado e todos os dados que não estiverem armazenados no armazenamento persistente são excluídos permanentemente. Verifique se todos os dados que você precisa manter estão armazenados fora do nó de trabalho antes de começar.

Se você tiver o Portworx instalado no seu cluster, é necessário atualizar a configuração do Portworx antes de atualizar os nós de trabalho.

Ações a serem realizadas antes da atualização (execute-as na ordem)

  1. Consulte o Guia de Atualização de Segurança do Windows ( Red Hat OpenShift on IBM Cloud informações sobre a versão ) para obter as últimas correções de segurança e as alterações necessárias.
  2. Faça todas as alterações marcadas como “Atualizar antes do master ” ou “Atualizar após o master ” no guia de preparação da versão “ Red Hat OpenShift ”.
  3. Atualize o nó mestre antes de atualizar os nós de trabalho. A versão do nó de trabalho não pode ser superior à versão do servidor de API executada no mestre.
  4. Acesse o seu Red Hat OpenShift cluster.
  5. Considere adicionar nós de trabalho ao seu cluster para fornecer capacidade extra para o replanejamento da carga de trabalho durante a atualização. Você pode remover os nós extras assim que a atualização for concluída.

Permissões necessárias

Certifique-se de que você tenha o Operador ou função de acesso à plataforma IAM do Administrador. Se você não tiver certeza de qual é a sua função de acesso, acesse Gerenciar → Acesso (IAM) → Usuários no console do IBM Cloud ou pergunte ao administrador da sua conta.

Atualizando nós do trabalhador clássicos na CLI com um configmap

Use um “ ConfigMap ” para realizar uma atualização gradual dos seus nós de trabalho clássicos. O “ ConfigMap ” permite controlar quantos nós podem ficar indisponíveis ao mesmo tempo, por zona ou região. Se a regra padrão de indisponibilidade de 20% for aceitável para o seu cluster, você pode pular as etapas 3 e 4 (criação de ConfigMap ) e prosseguir diretamente para a etapa 5 para aplicar a atualização usando o comportamento padrão.

  1. Conclua as etapas de pré-requisito.

  2. Liste os nós do trabalhador disponíveis e anote o seu endereço IP privado.

    ibmcloud oc worker ls --cluster CLUSTER
    
  3. Visualizar os rótulos de um nó do trabalhador. É possível localizar os rótulos de nó do trabalhador na seção Rótulos de sua saída da CLI. Cada rótulo consiste em um NodeSelectorKey e um NodeSelectorValue.

    oc describe node PRIVATE-WORKER-IP
    

    Exemplo de saída

    NAME:               10.184.58.3
    Roles:              <none>
    Labels:             arch=amd64
                    beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    failure-domain.beta.kubernetes.io/region=us-south
                    failure-domain.beta.kubernetes.io/zone=dal12
                    ibm-cloud.kubernetes.io/encrypted-docker-data=true
                    ibm-cloud.kubernetes.io/iaas-provider=softlayer
                    ibm-cloud.kubernetes.io/machine-type=u3c.2x4.encrypted
                    kubernetes.io/hostname=10.123.45.3
                    privateVLAN=2299001
                    publicVLAN=2299012
    Annotations:        node.alpha.kubernetes.io/ttl=0
                    volumes.kubernetes.io/controller-managed-attach-detach=true
    CreationTimestamp:  Tue, 03 Apr 2022 15:26:17 -0400
    Taints:             <none>
    Unschedulable:      false
    
  4. Crie um mapa de configuração e defina as regras de indisponibilidade para seus nós do trabalhador. O ConfigMap suporta até 15 verificações nomeadas. Cada verificação tem como alvo um conjunto de nós de trabalho por meio de um rótulo e define a porcentagem máxima desses nós que podem ficar indisponíveis ao mesmo tempo. O exemplo a seguir mostra uma verificação de zona (zonecheck.json), uma verificação de região (regioncheck.json), uma verificação de alternativa padrão (defaultcheck.json) e um modelo para verificações personalizadas. Para cada verificação, escolha um dos rótulos dos nós de trabalho que você recuperou na etapa anterior para identificar os nós de destino.

    Para cada verificação, é possível configurar somente um valor para NodeSelectorKey e NodeSelectorValue. Para configurar regras para mais de uma região, zona ou outros rótulos de nó do trabalhador, crie uma nova verificação. Defina até 15 verificações em um mapa de configuração. Se você incluir mais verificações, apenas um nó do trabalhador será recarregado por vez até que todos os trabalhadores solicitados sejam atualizados.

    Exemplo

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: ibm-cluster-update-configuration
      namespace: kube-system
    data:
      drain_timeout_seconds: "120"
      zonecheck.json: |
        {
          "MaxUnavailablePercentage": 30,
          "NodeSelectorKey": "failure-domain.beta.kubernetes.io/zone",
          "NodeSelectorValue": "dal13"
        }
      regioncheck.json: |
        {
          "MaxUnavailablePercentage": 20,
          "NodeSelectorKey": "failure-domain.beta.kubernetes.io/region",
          "NodeSelectorValue": "us-south"
        }
      defaultcheck.json: |
        {
          "MaxUnavailablePercentage": 20
        }
      <check_name>: |
        {
          "MaxUnavailablePercentage": <value_in_percentage>,
          "NodeSelectorKey": "<node_selector_key>",
          "NodeSelectorValue": "<node_selector_value>"
        }
    
    drain_timeout_seconds
    Opcional: o tempo limite em segundos para esperar a conclusão do dreno. A drenagem de um nó do trabalhador remove com segurança todos os pods existentes do nó do trabalhador e reagenda os pods em outros nós do trabalhador no cluster. Os valores aceitos são números inteiros no intervalo de 1 a 180. O valor padrão é 30.
    zonecheck.json e regioncheck.json
    Duas verificações que definem uma regra para um conjunto de nós do trabalhador que você pode identificar com o NodeSelectorKey especificado e NodeSelectorValue. O zonecheck.json identifica nós do trabalhador com base no rótulo de zona e o regioncheck.json usa o rótulo de região que é incluído em cada nó do trabalhador durante o fornecimento. No exemplo, 30% de todos os nós do trabalhador que têm dal13 como rótulo de zona e 20% de todos os nós do trabalhador em us-south podem ficar indisponíveis durante a atualização.
    defaultcheck.json
    Se você não criar um mapa de configuração ou se o mapa estiver configurado incorretamente, o padrão Kubernetes será aplicado. Por padrão, somente 20% dos nós do trabalhador no cluster podem estar indisponíveis de cada vez. É possível substituir o valor padrão, incluindo a verificação padrão em seu mapa de configuração. No exemplo, todo nó do trabalhador que não é especificado nas verificações de zona e região (dal13 ou us-south) pode ficar indisponível durante a atualização.
    MaxUnavailablePercentage
    O número máximo de nós que podem ficar indisponíveis para uma chave e um valor de rótulo especificados, que são especificados como uma porcentagem. Um nó do trabalhador está indisponível durante o processo de implementação, recarregamento ou provisionamento. Os nós do trabalhador enfileirados são bloqueados de atualização se excedem qualquer porcentagem máxima indisponível definida.
    NodeSelectorKey
    A chave de rótulo do nó do trabalhador para o qual você deseja configurar uma regra. É possível configurar regras para os rótulos padrão que são fornecidos pela IBM, bem como nos rótulos de nó do trabalhador que você criou. Se quiser incluir uma regra para nós do trabalhador que pertencem a um conjunto de trabalhadores, será possível usar o rótulo ibm-cloud.kubernetes.io/machine-type.
    NodeSelectorValue
    O valor do rótulo que o nó do trabalhador deve ter para ser considerado para a regra que você define.
  5. Crie o mapa de configuração em seu cluster.

    oc apply -f <filepath/configmap.yaml>
    
  6. Verifique se o mapa de configuração foi criado.

    oc get configmap --namespace kube-system
    
  7. Atualize os nós do trabalhador.

    ibmcloud oc worker update --cluster CLUSTER --worker WORKER-NODE-1-ID --worker WORKER-NODE-2-ID
    
  8. Opcional: verifique os eventos que são acionados pelo mapa de configuração e quaisquer erros de validação que ocorrem. Os eventos podem ser revisados na seção Eventos de sua saída da CLI.

    oc describe -n kube-system cm ibm-cluster-update-configuration
    
  9. Confirme se a atualização está concluída, revisando a versão do Kubernetes de seus nós do trabalhador.

    oc get nodes
    
  10. Verifique se você não tem nós de trabalhador duplicados. Às vezes, clusters mais antigos listam nós de trabalho duplicados com um NotReady status após uma atualização. Para remover duplicatas, consulte Resolução de problemas.

Próximas etapas

  1. Repita o processo de atualização com outros conjuntos de trabalhadores.

  2. Notifique todos os desenvolvedores que trabalham no cluster para que atualizem sua CLI do oc de modo a corresponder à versão master do Kubernetes. A execução de um cliente do oc cuja versão difira em duas ou mais versões da versão do servidor não é compatível e pode causar erros inesperados.

  3. Se o painel do Kubernetes não exibir gráficos de utilização, exclua o pod kube-dashboard.

Atualizando nós do trabalhador clássicos no console

Depois de configurar o ConfigMap pela primeira vez, você poderá atualizar os nós de trabalho usando o console IBM Cloud. O console respeita as regras de indisponibilidade que você definiu no ConfigMap.

  1. Conclua as etapas pré-requisitos e [configure um ConfigMap](#worker-up-configmap) para controlar como seus nós de trabalho são atualizados.
  2. No menu do console IBM Cloud Ícone do menu, clique em Contêineres > Clusters.
  3. Na página Clusters, clique em seu cluster.
  4. Na guia Nós do trabalhador, selecione a caixa de seleção para cada nó do trabalhador que você deseja atualizar. Uma barra de ação é exibida sobre a linha de cabeçalho da tabela.
  5. Na barra de ação, clique em Atualizar.

Se você tiver o Portworx instalado no seu cluster, será necessário reiniciar os pods Portworx nos nós de trabalho atualizados. Para obter mais informações, consulte Limitações do Portworx.

Atualizando nós do trabalhador de VPC

Os nós de trabalho do VPC são atualizados de maneiras diferentes, dependendo do tipo e da plataforma do cluster. O comando ibmcloud oc worker update não é compatível com nenhum nó de trabalho da VPC. Em todos os casos, o mestre do cluster deve ser atualizado primeiro.

  • Máquinas físicas do VPC: Atualizadas no próprio ambiente usando ibmcloud oc worker reload. O nó mantém seu endereço IP.
  • Processo de trabalho da instância de servidor virtual (VSI) do VPC: Substituídos por meio de ibmcloud oc worker replace --update (para se alinhar à versão principal) ou ibmcloud oc worker replace (apenas atualização de patch). O nó antigo é excluído e um novo é provisionado.

Você pode fazer dois tipos de atualizações:

  • Patch: Aplica correções de segurança e atualizações para a versão mais recente do patch da versão atual do BOM. Para quem trabalha com máquinas físicas no VPC, acesse ibmcloud oc worker reload. Para os funcionários da VPC VSI, acesse ibmcloud oc worker replace.
  • Major.minor: Atualiza a versão d Kubernetes do nó de trabalho para que fique igual à do mestre. Seus nós de trabalho podem estar, no máximo, uma versão atrás do mestre (n-1). Para nós de trabalho bare metal na VPC, use ibmcloud oc worker reload. Para os funcionários da VPC VSI, acesse ibmcloud oc worker replace --update.

É uma boa prática rotacionar os certificados CA sempre que você atualizar os nós de trabalho, pois a etapa mais longa da rotação de certificados inclui recarregar ou substituir os nós de trabalho.

Se você tiver o OpenShift Data Foundation implementado em seu cluster, siga as etapas para atualizar os nós do trabalhador VPC com o OpenShift Data Foundation.

O que acontece com meus aplicativos durante uma atualização?
Os aplicativos em execução nos nós de trabalho atualizados são reprogramados para outros nós de trabalho do cluster. Estes nós do trabalhador podem estar em um conjunto de trabalhadores diferente. Para evitar tempo de inatividade, certifique-se de que há capacidade suficiente no seu cluster para suportar a carga de trabalho antes de iniciar a atualização. Para obter mais informações, consulte Incluindo nós do trabalhador em clusters Classic ou Incluindo nós do trabalhador em clusters VPC..
O que acontece com meu nó de trabalho durante uma atualização?
Para os workers bare metal do VPC, o nó do worker é recarregado no próprio local por meio de worker reload. O nó mantém seu endereço IP; os dados nos discos locais são excluídos e devem ser armazenados fora do nó de trabalho. Para os workers de instâncias de servidor virtual (VSI) do VPC, o nó de trabalho é substituído removendo-se o nó de trabalho antigo e provisionando-se um novo nó de trabalho que seja executado com o patch atualizado ou com a versão do major.minor. O nó do trabalhador de substituição é criado na mesma zona, no mesmo conjunto de trabalhadores e com o mesmo tipo do nó do trabalhador excluído. No entanto, o nó do trabalhador de substituição é designado a um novo endereço IP privado e perde quaisquer rótulos ou contaminações customizadas que você aplicou ao nó do trabalhador antigo (rótulos e contaminações do conjunto de trabalhadores ainda são aplicados ao nó do trabalhador de substituição).
E se eu substituir vários nós de trabalho ao mesmo tempo?
Se você substituir vários nós do trabalhador ao mesmo tempo, eles serão excluídos e substituídos simultaneamente, não um por um. Certifique-se de que você tenha capacidade suficiente em seu cluster para remarcar suas cargas de trabalho antes de substituir os nós do trabalhador.
E se um nó de trabalho substituto não for criado?
Um nó do trabalhador de substituição não será criado se ele não tiver o rebalanceamento automático ativado.

Pré-requisitos

Antes de atualizar os nós de trabalho da infraestrutura da sua VPC, execute as etapas pré-requisitos a seguir.

Para os trabalhadores do VPC VSI, o nó de trabalho é excluído e substituído por um novo nó. Para os usuários de bare metal do VPC, o nó é recarregado no próprio local. Em ambos os casos, os dados que não estão armazenados em um meio de armazenamento persistente são excluídos permanentemente. Verifique se todos os dados que você precisa manter estão armazenados fora do nó de trabalho antes de começar.

Se você tiver um Portworx e implantado no seu cluster, siga as etapas para atualizar os nós de trabalho da VPC com volumes d Portworx, em vez de seguir as etapas descritas nesta página.

Ações a serem realizadas antes da atualização (execute-as na ordem)

  1. Consulte o Guia de Atualização de Segurança do Windows ( Red Hat OpenShift on IBM Cloud informações sobre a versão ) para obter as últimas correções de segurança e as alterações necessárias.
  2. Faça todas as alterações marcadas como “Atualizar antes do master ” ou “Atualizar após o master ” no guia de preparação da versão “ Red Hat OpenShift ”.
  3. Atualize o nó mestre antes de atualizar os nós de trabalho. A versão do nó de trabalho não pode ser superior à versão do servidor de API executada no mestre.
  4. Acesse o seu Red Hat OpenShift cluster.

Permissões necessárias

Certifique-se de que você tenha o Operador ou função de acesso à plataforma IAM do Administrador. Se você não tiver certeza de qual é a sua função de acesso, acesse Gerenciar → Acesso (IAM) → Usuários no console do IBM Cloud ou pergunte ao administrador da sua conta.

Atualizando nós do trabalhador do VPC na CLI

Siga as etapas a seguir para atualizar seus nós de trabalho usando a CLI.

  1. Conclua as etapas de pré-requisito.
  2. Opcional: Aumente a capacidade do seu cluster redimensionando o conjunto de workers. Os pods no nó do trabalhador podem ser reprogramados e continuam em execução nos nós do trabalhador incluídos durante a atualização. Para obter mais informações, consulte Incluindo nós do trabalhador em clusters Classic ou Incluindo nós do trabalhador em clusters VPC..
  3. Liste os nós do trabalhador em seu cluster e anote o ID e o IP primário do nó do trabalhador que você deseja atualizar.
    ibmcloud oc worker ls --cluster CLUSTER
    
  4. Atualize o nó de trabalho. O comando a ser utilizado depende do tipo de nó de trabalho.

Máquinas físicas do VPC : Use o comando worker reload para reinstalar o sistema operacional no nó sem desligá-lo. O nó mantém seu endereço IP e é atualizado para a versão mais recente do patch.

```sh {: pre}
ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-ID
```
**Processadores da instância de servidor virtual (VSI) do VPC** : Use o comando ` `worker replace` ` para atualizar a versão do patch ou a versão do ` `major.minor` ` de modo que corresponda à versão principal.

*  Para atualizar o nó de trabalho para a mesma versão do ` `major.minor` ` que o mestre, inclua a opção ` `--update` `.
```sh {: pre}
    ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID --update
    ```
*  Para atualizar o nó de trabalho para a versão mais recente do patch, mantendo a mesma versão do ` `major.minor` `, não inclua a opção ` `--update` `.
```sh {: pre}
    ibmcloud oc worker replace --cluster CLUSTER --worker WORKER-NODE-ID
    ```
  1. Repita essas etapas para cada nó do trabalhador que deve ser atualizado.
  2. Opcional: Depois que os nós de trabalho substituídos estiverem no status “Pronto”, redimensione o conjunto de nós de trabalho para atingir a capacidade desejada para o cluster. Para obter mais informações, Incluindo nós do trabalhador em clusters VPC.

Ao executar o Portworx no próprio cluster VPC, deve-se conectar manualmente o volume do Block Storage for VPC ao novo nó do trabalhador.

Atualizações de firmware durante a reinicialização do trabalhador bare metal do VPC

Ao reiniciar um nó de trabalho bare metal da VPC, a infraestrutur IBM Cloud verifica automaticamente se há alguma atualização de firmware pendente para esse servidor e a aplica como parte do processo de reinicialização. Não é necessário realizar nenhuma ação adicional para iniciar a atualização do firmware.

Leve em consideração os seguintes pontos ao reinicializar um nó de trabalho bare metal da VPC:

Tempo de recarga prolongado
Se uma atualização de firmware for aplicada durante a recarga, o tempo total de recarga pode aumentar significativamente — em 30 minutos ou mais — além da duração normal da recarga. Planeje seus intervalos de manutenção de acordo com isso.
Não há visibilidade prévia das atualizações pendentes
Não é possível saber se há uma atualização de firmware pendente para um nó de trabalho antes de você emitir o comando de recarga.
Risco de perda de dados
Assim como em todas as reinicializações de instâncias bare metal do VPC, os dados nos discos locais são excluídos durante a reinicialização, independentemente de ser aplicada uma atualização de firmware. Faça backup de todos os dados que não estejam armazenados em um dispositivo de armazenamento persistente antes de recarregar.
Falha na recarga devido à atualização do firmware
Em alguns casos, uma atualização de firmware pode falhar, o que faz com que o nó de trabalho entre em um estado “ reload_failed ” (Failed to reload worker) com o detalhe de status The infrastructure firmware update has failed. (P4056). Se isso ocorrer:
  1. Aguarde alguns minutos e, em seguida, tente recarregar novamente executando o comando ibmcloud oc worker reload --cluster CLUSTER --worker WORKER-NODE-ID .
  2. Se o erro persistir após 2 a 3 tentativas, abra um IBM Cloud caso de suporte.

Atualizando nós do trabalhador do VPC no console

É possível atualizar os nós do trabalhador do VPC no console. Antes de começar, considere adicionar nós de trabalho ao cluster para ajudar a evitar tempo de inatividade de seus aplicativos.

O que a ação “Atualizar” faz depende do tipo de nó de trabalho e da plataforma do cluster:

  • Máquinas físicas do VPC: O nó é recarregado no próprio local. Nenhum nó substituto foi provisionado.
  • Processadores da instância de servidor virtual (VSI) do VPC: O nó de processamento é substituído por um novo nó na versão atualizada.
  1. Conclua as etapas de pré-requisito.
  2. No menu do console IBM Cloud Ícone do menu, clique em Contêineres > Clusters.
  3. Na página Clusters, clique em seu cluster.
  4. Na guia Nós do trabalhador, selecione a caixa de seleção para cada nó do trabalhador que você deseja atualizar. Uma barra de ação é exibida sobre a linha de cabeçalho da tabela.
  5. Na barra de ação, clique em Atualizar.

Atualizando tipos (tipos de máquina)

Atualize o tipo de máquina dos seus nós de trabalho quando precisar de recursos de computação diferentes — por exemplo, mais memória, CPUs adicionais ou uma máquina com GPU. A atualização de uma variante cria um novo conjunto de workers com a nova variante e, em seguida, remove o conjunto de workers antigo. Como esse processo substitui os nós, todos os dados nos nós de trabalho que não estiverem armazenados em um armazenamento persistente serão excluídos permanentemente.

Antes de Iniciar

Para atualizar as versões

  1. Liste os nós do trabalhador disponíveis e anote o seu endereço IP privado.

    1. Liste os conjuntos de trabalhadores disponíveis em seu cluster.
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    2. Liste os nós do trabalhador no conjunto de trabalhadores. Observe o **ID** e o **IP privado**.
    ```sh {: pre}
        ibmcloud oc worker ls --cluster CLUSTER --worker-pool WORKER-POOL
        ```
    3. Obtenha os detalhes para um nó do trabalhador. Na saída, observe a zona e o ID de VLAN privada e pública para clusters clássicos ou o ID de sub-rede para clusters VPC.
    ```sh {: pre}
        ibmcloud oc worker get --cluster CLUSTER --worker WORKER-ID
        ```
    
  2. Liste os tipos disponíveis na zona.

    ibmcloud oc flavors --zone <zone>
    
  3. Crie um nó do trabalhador com o novo tipo de máquina.

    1. Crie um conjunto de trabalhadores com o número de nós do trabalhador que você deseja substituir.
      • Clusters clássicos:
        ibmcloud oc worker-pool create classic --name WORKER-POOL --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE
        
      • Clusters VPC do , geração 2:
        ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone NUMBER-OF-WORKERS-PER-ZONE --label LABEL
        
    2. Verifique se o conjunto de trabalhadores foi criado.
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    3. Inclua a zona em seu conjunto de trabalhadores que você recuperou anteriormente. Ao incluir uma zona, os nós do trabalhador que estão definidos em seu conjunto de trabalhadores são provisionados na zona e considerados para planejamento futuro de carga de trabalho. Se você desejar distribuir seus nós do trabalhador entre várias zonas, escolha uma localização multizona [clássica](/docs/openshift?topic=openshift-regions-and-zones#zones-mz) ou [VPC](/docs/openshift?topic=openshift-regions-and-zones#zones-vpc).
        * Clusters clássicos:
            ```sh {: pre}
            ibmcloud oc zone add classic --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --private-vlan PRIVATE-VLAN-ID --public-vlan PUBLIC-VLAN-ID
            ```
        * Clusters de VPC:
            ```sh {: pre}
            ibmcloud oc zone add vpc-gen2 --zone ZONE --cluster CLUSTER --worker-pool WORKER-POOL --subnet-id VPC-SUBNET-ID
            ```
    
  4. Aguarde até que os nós do trabalhador sejam implementados. Quando o estado do nó do trabalhador muda para Normal, a implementação está concluída.

    ibmcloud oc worker ls --cluster CLUSTER
    
  5. Remova o antigo conjunto de trabalhadores. Se você estiver cancelando uma instância Classic bare metal (cobrada mensalmente), será cobrado pelo mês inteiro, mesmo que o cancelamento ocorra no meio do mês. Os recursos do VPC, incluindo os de bare metal, são cobrados por hora.

    1. Remova o conjunto de trabalhadores com o tipo de máquina antigo. A remoção de um conjunto de trabalhadores remove todos os nós do trabalhador no conjunto em todas as zonas. Esse processo pode levar alguns minutos para ser concluído.
        ibmcloud oc worker-pool rm --worker-pool WORKER-POOL --cluster CLUSTER
        ```
    2. Verifique se o conjunto de trabalhadores foi removido.
    ```sh {: pre}
        ibmcloud oc worker-pool ls --cluster CLUSTER
        ```
    
  6. Verifique se os nós do trabalhador foram removidos de seu cluster.

    ibmcloud oc worker ls --cluster CLUSTER
    
  7. Repita essas etapas para atualizar outros conjuntos de trabalhadores ou nós do trabalhador independentes para diferentes tipos.

Como os conjuntos de trabalhadores têm a capacidade reduzida?

Esta seção descreve a lógica de priorização automática utilizada quando nós de trabalho são removidos durante uma redução de escala, como após uma atualização de um nó de trabalho ou ao executar ibmcloud oc worker-pool resize. Você não precisa configurar esse comportamento — ele ocorre automaticamente.

Quando o número de nós de trabalho em um conjunto de nós de trabalho é reduzido, esses nós são priorizados para exclusão com base em várias propriedades, incluindo estado, integridade e versão.

Essa lógica de prioridade não é relevante para o complemento do escalador automático..

A tabela a seguir mostra a ordem na qual os nós do trabalhador são priorizados para exclusão

É possível executar o comando ibmcloud oc worker ls para visualizar todas as propriedades do nó do trabalhador listada na tabela

Prioridade para nós do trabalhador excluídos durante a diminuição da capacidade do conjunto de trabalhadores.
Prioridade Propriedade Descrição
1 Estado do nó do trabalhador Os nós do trabalhador em estados de não funcionamento ou de baixo funcionamento são priorizados para remoção Essa lista mostra os estados ordenados da prioridade mais alta para a mais baixa: provision_failed, deploy_failed, deleting, provision_pending, provisioning, deploying, provisioned, reloading_failed, reloading, deployed
2 Funcionamento do nó trabalhador Nós do trabalhador não saudáveis são priorizados sobre nós do trabalhador em funcionamento. Esta lista mostra os estados de funcionamento ordenados da prioridade mais alta para a mais baixa: critical, warning, pending, unsupported, normal.
3 Versão do nó do trabalhador Os nós do trabalhador que são executados em versões mais antigas têm uma prioridade mais alta para exclusão.
4 Configuração de colocação escolhida Para trabalhadores em execução apenas em um host dedicado. Os nós do trabalhador em execução em um host dedicado que tem a opção DesiredPlacementDisabled configurada como true estão em uma prioridade mais alta para exclusão
5 ordem alfabética Depois que os nós do trabalhador são priorizados com base nos fatores listados acima, eles são excluídos em ordem alfabética Observe que, com base nas convenções de ID do nó do trabalhador, os IDs para trabalhadores em clusters clássicos e VPC se correlacionam com a idade, portanto, os nós do trabalhador mais antigos são removidos primeiro.

Atualizando componentes do cluster

Seu cluster do Red Hat OpenShift on IBM Cloud é fornecido com componentes, como o Ingress, que são instalados automaticamente ao provisionar o cluster. Por padrão, esses componentes são atualizados automaticamente pela IBM. No entanto, é possível desativar as atualizações automáticas para alguns componentes e atualizá-las manualmente separadamente dos nós principal e do trabalhador.

Quais componentes padrão posso atualizar separadamente do cluster?
Opcionalmente, é possível desativar atualizações automáticas para os componentes a seguir:
Existem componentes que não posso atualizar separadamente do cluster?
Sim. O cluster é implementado com os componentes gerenciados e recursos associados a seguir que não podem ser alterados, exceto para escalar pods ou editar configmaps para determinados benefícios de desempenho. Se você tentar mudar um desses componentes de implementação, suas configurações originais serão restauradas em um intervalo regular quando elas forem atualizadas com o cluster mestre. No entanto, observe que os recursos que você cria que estão associados a esses componentes, como políticas de rede do Calico que você cria para serem implementadas pelos componentes de implementação do Calico, não são atualizados.
  • Componentes do calico
  • Componentes do coredns
  • ibm-cloud-provider-ip
  • ibm-file-plugin
  • ibm-keepalived-watcher
  • ibm-master-proxy
  • ibm-storage-watcher
  • Componentes do kubernetes-dashboard
  • metrics-server
  • Componentes olm-operator e catalog (1.16 e mais recente)
  • vpn
Posso instalar outros plug-ins ou complementos além dos componentes padrão?
Sim. O Red Hat OpenShift on IBM Cloud oferece outros plug-ins e complementos à sua escolha para ampliar as funcionalidades do seu cluster. Por exemplo, você pode querer habilitar complementos gerenciados pel IBM no seu cluster. Você deve atualizar esses add-ons separadamente seguindo as etapas para atualizar add-ons gerenciados.

Gerenciando atualizações automáticas para Fluentd

Ao criar uma configuração de criação de log para uma origem em seu cluster para encaminhá-lo para um servidor externo, um componente Fluentd é criado em seu cluster. Para mudar as configurações de filtro ou criação de log, o componente Fluentd deve estar na versão mais recente. Por padrão, as atualizações automáticas para o componente são ativadas.

Para executar os comandos a seguir, é necessário ter a função de acesso à plataforma IAM “ IBM Cloud ”(Administrador) para o cluster.

É possível gerenciar atualizações automáticas do componente Fluentd das maneiras a seguir.

  • Verifique se as atualizações automáticas estão ativadas executando o ibmcloud oc logging autoupdate get --cluster CLUSTER comando.
  • Desative as atualizações automáticas executando o comando ibmcloud oc logging autoupdate disable .
  • Se as atualizações automáticas estiverem desativadas, mas for necessário mudar sua configuração, você terá duas opções:
    • Ativar as atualizações automáticas para os seus pods do Fluentd.
        ibmcloud oc logging autoupdate enable --cluster CLUSTER
        ```
    * Forçar uma atualização única quando usar um comando de criação de log que inclua a opção `--force-update`. Seus pods serão atualizados para a versão mais recente do componente Fluentd, mas o Fluentd não será atualizado automaticamente daqui em diante.
            Exemplo de comando
    
    ```sh {: pre}
        ibmcloud oc logging config update --cluster CLUSTER --id LOG-CONFIG-ID --type LOG-TYPE --force-update
        ```
    

Gerenciando atualizações automáticas para ALBs do Ingress

Controle quando o componente do balanceador de carga do aplicativo (ALB) do Ingress é atualizado. Para obter informações sobre como manter os ALBs atualizados, consulte Gerenciando o ciclo de vida do ALB do Ingress.

Atualizando complementos gerenciados

Os complementos gerenciados para o cluster do IBM Cloud Kubernetes Service são uma maneira fácil de aprimorar seu cluster com recursos de código aberto, como o Istio. A versão da ferramenta de software livre que você agrega ao seu cluster é testada pela IBM e aprovada para uso no IBM Cloud Kubernetes Service. Para atualizar complementos gerenciados que você ativou em seu cluster para as versões mais recentes, consulte Atualizando complementos gerenciados.