Adicionando nós de trabalho a clusters VPC

Nuvem Privada Virtual

Consulte as seções a seguir para obter informações sobre como adicionar nós de trabalho ao seu cluster VPC.

Antes de adicionar nós de trabalho, certifique-se de que sua conta VPC tenha cota suficiente para memória vCPU,, GPU, armazenamento de instância e recursos otimizados de armazenamento de instância. A VPC gerencia essas cotas por conta para nós de trabalho de instância de servidor virtual (VSI). Se você atingir um limite de cota, o provisionamento do nó de trabalho falhará. Para verificar o uso atual da cota, consulte Visualização de métricas de recursos de VPC. Para obter mais informações, consulte Cotas de VPC e Por que meus nós de trabalho de VPC não conseguem provisionar devido aos limites de cota?

Para aumentar a disponibilidade de seus apps, é possível incluir nós do trabalhador em uma zona existente ou em diversas zonas existentes em seu cluster. Para ajudar a proteger seus apps contra falhas de zona, é possível incluir zonas em seu cluster.

Quando você cria um cluster, os nós do trabalhador são provisionados em um conjunto de trabalhadores. Após a criação do cluster, é possível incluir mais nós do trabalhador em um conjunto, redimensionando-o ou incluindo mais conjuntos de trabalhadores. Por padrão, o conjunto de trabalhadores existe em uma zona. Os clusters que têm um conjunto de trabalhadores em somente uma zona são chamados de clusters de zona única. Quando você incluir mais zonas no cluster, o conjunto de trabalhadores existirá entre as zonas. Os clusters que têm um conjunto de trabalhadores que é difundido em mais de uma zona são chamados de clusters de diversas zonas.

Se você tiver um cluster de diversas zonas, mantenha seus recursos do nó do trabalhador balanceados. Certifique-se de que todos os conjuntos de trabalhadores estejam difundidos pelas mesmas zonas e inclua ou remova os trabalhadores redimensionando os conjuntos em vez de incluir nós individuais. Depois de configurar seu conjunto de trabalhadores, é possível configurar o escalador automático de cluster para incluir ou remover automaticamente nós do trabalhador de seus conjuntos de trabalhadores com base em suas solicitações de recursos de carga de trabalho.

O armazenamento local secundário deve ser adicionado no momento da criação do pool de trabalho. A adição manual de armazenamento a partir do nível de infraestrutura da VPC após a criação de um pool de trabalho não é suportada e não resulta em armazenamento efêmero adicional no cluster.

Procurando incluir trabalhadores em clusters clássicos? Consulte Incluindo nós do trabalhador em clusters clássicos.

Redimensionando um conjunto de trabalhadores

É possível incluir ou reduzir o número de nós do trabalhador em seu cluster, redimensionando um conjunto de trabalhadores existente, independentemente de se o conjunto de trabalhadores está em uma zona ou difundido entre diversas zonas.

Antes de começar, certifique-se de que você tenha o Operador ou função de acesso à plataforma IAM do Administrador.

Para redimensionar o conjunto de trabalhadores, mude o número de nós do trabalhador que o conjunto de trabalhadores implementa em cada zona:

  1. Obtenha o nome do conjunto de trabalhadores que você deseja redimensionar.
    ibmcloud oc worker-pool ls --cluster CLUSTER-NAME
    
  2. Redimensione o conjunto de trabalhadores designando o número de nós do trabalhador que você deseja implementar em cada zona.
    ibmcloud oc worker-pool resize --cluster CLUSTER-NAME --worker-pool POOL_NAME  --size-per-zone NUMBER_OF_WORKERS_PER_ZONE
    
  3. Verifique se o conjunto de trabalhadores está redimensionado.
    ibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAME
    
    Exemplo de saída para um pool de workers que está em duas zonas, us-south-1 e us-south-2, e cujo tamanho foi ajustado para dois nós de trabalho por zona:
    ID                                                 Public IP        Private IP      Machine Type      State    Status  Zone    Version
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w7   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   us-south-1   1.35
    kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w8   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   us-south-1   1.35
    kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w9   169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   us-south-2   1.35
    kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w10  169.xx.xxx.xxx   10.xxx.xx.xxx   b3c.4x16          normal   Ready   us-south-2   1.35
    

Criando um conjunto de trabalhadores

Deseja criar um novo conjunto de trabalhadores em hosts dedicados? Consulte Configurando hosts dedicados na CLI.

Antes de começar, certifique-se de que você tenha o Operador ou função de acesso à plataforma IAM do Administrador.

  1. Recupere o ID do VPC e as Zonas do trabalhador de seu cluster e escolha a zona na qual deseja implementar os nós do trabalhador em seu conjunto de trabalhadores. É possível escolher qualquer uma das Zonas do trabalhador existentes de seu cluster ou incluir uma das localizações multizona para a região na qual seu cluster está localizado. É possível listar zonas disponíveis executando ibmcloud oc zone ls --provider vpc-gen2.

    ibmcloud oc cluster get --cluster CLUSTER-NAME
    

    Saída de exemplo

    ...
    VPC ID:        <VPC_ID>
    ...
    Worker Zones: us-south-1, us-south-2, us-south-3
    
  2. Para cada zona, anote o ID da sub-rede do VPC que deseja usar para o conjunto de trabalhadores. Se você não tiver uma sub-rede VPC na zona, crie uma sub-rede VPC. As sub-redes VPC fornecem endereços IP para os seus nós do trabalhador e serviços de balanceador de carga no cluster, portanto, crie uma sub-rede VPC com endereços IP suficientes, como 256.

    ibmcloud oc subnets --zone <ZONE> --provider vpc-gen2 --vpc-id <VPC_ID>
    
  3. Para cada zona, verifique as opções disponíveis para os nós de trabalho.

    ibmcloud oc flavors --zone <ZONE> --provider vpc-gen2
    
  4. Opcional: para criptografar o disco local de cada nó do trabalhador no conjunto de trabalhadores, obtenha os detalhes de seu provedor do serviço de gerenciamento de chaves (KMS). Se você desejar usar uma instância do KMS de uma conta diferente, será necessário executar essas etapas na conta na qual a instância do KMS reside.

    1. Conclua as etapas em Nós do trabalhador da VPC para criar sua instância de KMS e autorizar o serviço no IAM.

    2. Liste as instâncias disponíveis do KMS e anote o ID.

        ibmcloud oc kms instance ls
        ```
    1. Liste as chaves raiz disponíveis para a instância do KMS que você deseja usar e anote o **ID**.
    
    ```sh {: pre}
        ibmcloud oc kms crk ls --instance-id <KMS_instance_ID>
        ```
    
  5. Crie um conjunto de trabalhadores. Para obter mais opções, consulte a documentação da CLI.

    ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER-NAME --flavor FLAVOR --size-per-zone NUMBER_OF_WORKER_NODES [--label KEY=VALUE] [--vpc-id] [[--kms-account-id <KMS_account_ID>] --kms-instance <KMS_instance_ID> --crk <root_key_ID>] [--dedicated-host-pool <dedicated-host-pool>] [--security-group <group-id>] [--operating-system SYSTEM]
    
    --label KEY=VALUE
    Opcional: rotular automaticamente os nós do trabalhador que estão no conjunto com o par key=value de rótulos.
    --vpc-id VPC
    Especifique esta opção se o pool de trabalhadores for o primeiro do cluster.

    --operating-system RHEL_9_64|REDHAT_8_64|RHCOS: Opcional. O sistema operacional dos nós do trabalhador no cluster. Para obter uma lista dos sistemas operacionais disponíveis por versão do cluster, consulte as informações da versão Red Hat OpenShift on IBM Cloud. Se nenhuma opção for especificada, o sistema operacional padrão que corresponde à versão do cluster será usado

    --kms-account-id ACCOUNT
    Opcional: especifique a conta na qual sua instância do KMS reside. Inclua as opções --kms-instance-id e --crk também..
    --kms-instance INSTANCE
    Opcional: especifique o ID da instância do KMS. Inclua as opções --kms-account-id e --crk também..
    --crk KEY
    Opcional: especifique a chave raiz do KMS. Inclua as opções --kms-account-id e --kms-instance também..
    --security-group GROUP
    Especifique esta opção para conectar grupos de segurança adicionais aos trabalhadores no conjunto de trabalhadores. Inclua os IDs do grupo de segurança que você deseja anexar
    --dedicated-host-pool POOL
    Especifique essa opção se você desejar criar seu conjunto de trabalhadores em hosts dedicadas
  6. Verifique se o conjunto de trabalhadores foi criado.

    ibmcloud oc worker-pool ls --cluster CLUSTER-NAME
    
  7. Por padrão, incluir um conjunto de trabalhadores cria um conjunto sem zonas. Para implementar os nós do trabalhador em uma zona, deve-se incluir as zonas que você recuperou anteriormente no conjunto de trabalhadores. Para difundir os nós do trabalhador em diversas zonas, repita este comando para cada zona.

    ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME
    
  8. Verifique se os nós do trabalhador são provisionados na zona que você incluiu. Seus nós do trabalhador estarão prontos quando o Estado mudar de provisioning para normal.

    ibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAME
    

    Saída de exemplo

    ID                                                     Primary IP     Flavor   State          Status                                        Zone       Version   
    kube-<ID_string>-<cluster_name>-<pool_name>-00000002   10.xxx.xx.xxx   c2.2x4   provisioning   Infrastructure instance status is 'pending'   us-south-1   -   
    kube-<ID_string>-<cluster_name>-<pool_name>-00000003   10.xxx.xx.xxx   c2.2x4   normal   Ready   us-south-1   1.35_1511   
    

Incluindo uma zona em um conjunto de trabalhadores

É possível ampliar seu cluster VPC em diversas zonas de uma região incluindo uma zona em seu conjunto de trabalhadores existente.

Ao incluir uma zona em um conjunto de trabalhadores, os nós do trabalhador que são definidos em seu conjunto de trabalhadores são provisionados na nova zona e considerados para agendamento de carga de trabalho futuro. ORed Hat OpenShift on IBM Cloud automaticamente inclui o rótulo failure-domain.beta.kubernetes.io/region para a região e o rótulo failure-domain.beta.kubernetes.io/zone para a zona a cada nó do trabalhador. O planejador do Kubernetes usa esses rótulos para difundir pods ao longo de zonas dentro da mesma região.

Se houver vários conjuntos de trabalhadores no cluster, inclua a zona em todos eles para que nós do trabalhador sejam difundidos uniformemente entre o cluster. Observe que quando você inclui nós do trabalhador em seu cluster, os novos nós do trabalhador executam a mesma versão major.minor que o cluster mestre, exceto a correção de nó do trabalhador mais recente dessa versão major.minor.

Antes de começar: certifique-se de que possui a função de acesso à plataforma IAM de Operador ou Administrador.

  1. Obtenha o Local de seu cluster e anote as Zonas do trabalhador e o ID do VPC existentes.

    ibmcloud oc cluster get --cluster CLUSTER-NAME
    

    Saída de exemplo

    ...
    VPC ID:        <VPC_ID>
    Workers:       3
    Worker Zones:  us-south-1
    ...
    Location:      Dallas   
    
  2. Liste zonas disponíveis para o local de seu cluster para ver quais outras zonas podem ser incluídas.

    ibmcloud oc zone ls --provider vpc-gen2 | grep LOCATION
    
  3. Liste sub-redes do VPC disponíveis para cada zona que você deseja incluir. Se você não tiver uma sub-rede VPC na zona, crie uma sub-rede VPC. As sub-redes VPC fornecem endereços IP para os seus nós do trabalhador e serviços de balanceador de carga no cluster, portanto, crie uma sub-rede VPC com endereços IP suficientes, como 256. O número de endereços IP contidos em uma sub-rede de VPC não pode ser alterado posteriormente.

    ibmcloud oc subnets --zone ZONE --provider vpc-gen2 --vpc-id VPC_ID
    
  4. Liste os conjuntos de trabalhadores em seu cluster e anote seus nomes.

    ibmcloud oc worker-pool ls --cluster CLUSTER-NAME
    
  5. Inclua a zona em seu conjunto de trabalhadores. Repita esta etapa para cada zona que deseja incluir em seu conjunto de trabalhadores. Se você tiver múltiplos conjuntos de trabalhadores, inclua a zona em todos os seus conjuntos de trabalhadores para que o seu cluster seja balanceado em todas as zonas. Inclua a opção --worker-pool para cada pool de trabalhadores.

    Se desejar usar sub-redes diferentes do VPC para conjuntos de trabalhadores diferentes, repita esse comando para cada sub-rede e seus conjuntos de trabalhadores correspondentes. Novos nós do trabalhador são incluídos nas sub-redes especificadas do VPC, mas as sub-redes do VPC para quaisquer nós do trabalhador existentes não são mudadas.

    ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME
    
  6. Verifique se a zona foi incluída em seu cluster. Procure a zona incluída no campo Zonas do trabalhador da saída. Observe que o número total de trabalhadores no campo Trabalhadores aumentou porque novos nós do trabalhador são provisionados na zona incluída.

    ibmcloud oc cluster get --cluster CLUSTER-NAME
    

    Saída de exemplo

    Workers:       9
    Worker Zones:  us-south-1, us-south-2, us-south-3
    
  7. Para expor aplicativos com o Ingress, atualize o balanceador de carga da VPC que expõe o roteador para incluir a sub-rede da nova zona em seu cluster.