Usando Reservas de Capacidade para Provisionar Nós Gerenciados

Descubra como reservar a capacidade de computação para clusters que você criou usando o Container Engine for Kubernetes (OKE).

O serviço Compute permite criar reservas de capacidade para garantir que a capacidade de computação esteja disponível para cargas de trabalho quando necessário durante eventos críticos, como recuperação de desastres ou picos inesperados de carga de trabalho. Para obter mais informações sobre como o serviço Compute aloca capacidade, quanta capacidade é reservada e como limites e cotas são aplicados, consulte Reservas de Capacidade.

Depois de criar uma reserva de capacidade no serviço Compute, você pode especificar essa reserva de capacidade ao usar o Container Engine for Kubernetes para definir a configuração de posicionamento de um pool de nós gerenciado. A especificação da reserva de capacidade garante que os nós gerenciados do pool de nós sejam criados usando instâncias de computação da capacidade reservada.

Observe o seguinte:

  • Antes de especificar uma reserva de capacidade na configuração de posicionamento de um pool de nós, a reserva de capacidade já deve existir. Para ver as etapas para criar uma reserva de capacidade, consulte Gerenciando Reservas de Capacidade.
  • Certifique-se de que a forma do nó, o domínio de disponibilidade e o domínio de falha na configuração de posicionamento do pool de nós correspondam ao tipo de instância, ao domínio de disponibilidade e ao domínio de falha da reserva de capacidade, respectivamente.
  • Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.
  • As alterações feitas nas propriedades do nó de trabalho só se aplicam aos novos nós de trabalho. A atualização da reserva de capacidade associada a um pool de nós não afeta as propriedades dos nós de trabalho existentes.

Políticas Obrigatórias do Serviço IAM para Usar Reservas de Capacidade

Para usar uma reserva de capacidade ao definir a configuração de posicionamento de um pool de nós, você deve pertencer a um grupo que tenha recebido permissão para usar reservas de capacidade. Para conceder essa permissão, crie a seguinte política:

Allow group <group-name> to use compute-capacity-reservations in <location>

Para provisionar nós gerenciados de uma reserva de capacidade, você deve conceder ao serviço Container Engine for Kubernetes permissão para iniciar instâncias usando reservas de capacidade. Para conceder essa permissão, crie a seguinte política:

Allow service oke to use compute-capacity-reservations in tenancy

Para obter mais informações, consulte Política do Serviço IAM Obrigatória.

Reservas de Capacidade Padrão

O serviço Container Engine for Kubernetes suporta o uso de reservas de capacidade padrão ao iniciar nós gerenciados. Com reservas de capacidade padrão, você pode garantir que a mesma reserva de capacidade seja usada toda vez que uma instância for iniciada no domínio de disponibilidade e na tenancy associados à reserva. Tendo criado uma reserva de capacidade padrão, todas as instâncias (incluindo nós gerenciados) iniciadas nesse domínio de disponibilidade e na tenancy usam a capacidade da reserva de capacidade padrão, quando possível. Para obter mais informações, consulte Reservas de Capacidade Padrão.

Talvez haja ocasiões em que você não deseja provisionar nós de trabalho de uma reserva de capacidade padrão. Você pode selecionar uma reserva de capacidade alternativa ou optar por não usar nenhuma reserva de capacidade.

Usando a Console

Criando um Cluster e Especificando Reservas de Capacidade

  1. Siga as instruções para criar um cluster usando o workflow 'Criação Personalizada'. Consulte Using the Console to create a Cluster with Explicly Defined Settings in the 'Custom Create' workflow.
  2. Ao especificar a Configuração de Posicionamento para um pool de nós gerenciado no cluster:
    1. Especifique o primeiro domínio de disponibilidade e a primeira sub-rede:
      • Domínio de Disponibilidade: Selecione o domínio de disponibilidade associado à reserva de capacidade que você pretende usar.
      • Domínio de Falha: (Opcional) Um ou mais domínios de falha no domínio de disponibilidade no qual colocar nós de trabalho.
      • Sub-rede: Selecione a sub-rede associada à reserva de capacidade que você pretende usar.
    2. Clique em Mostrar Opções Avançadas e especifique a reserva de capacidade a ser usada:

      • Tipo de Capacidade: Selecione Reserva de Capacidade.
      • Reserva de Capacidade: Selecione na lista a reserva de capacidade a ser usada. Se você não selecionar explicitamente uma reserva de capacidade e uma reserva de capacidade padrão tiver sido criada para o domínio de disponibilidade, a reserva de capacidade padrão será usada. Se você não quiser usar a reserva de capacidade padrão ou qualquer outra reserva de capacidade, selecione Recusar reserva padrão.

    3. Se preferir, clique em Outra Linha para adicionar outros domínios de disponibilidade, sub-redes e reservas de capacidade à configuração de posicionamento. Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.

Criando um Pool de Nós Gerenciados e Especificando Reservas de Capacidade

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e Artefatos, clique em Clusters do Kubernetes (OKE).
  2. Escolha um Compartimento no qual você tem permissão para trabalhar.
  3. Na página Lista de Clusters, clique no nome do cluster em que deseja criar um novo pool de nós.
  4. Na página Cluster, exiba a guia Pools de Nós e clique em Adicionar Pool de Nós para criar um novo pool de nós gerenciado e especificar as propriedades necessárias para seus nós de trabalho.
  5. Ao especificar a Configuração de Posicionamento para um pool de nós gerenciado no cluster:
    1. Especifique o primeiro domínio de disponibilidade e a primeira sub-rede:
      • Domínio de Disponibilidade: Selecione o domínio de disponibilidade associado à reserva de capacidade que você pretende usar.
      • Domínio de Falha: (Opcional) Um ou mais domínios de falha no domínio de disponibilidade no qual colocar nós de trabalho.
      • Sub-rede: Selecione a sub-rede associada à reserva de capacidade que você pretende usar.
    2. Clique em Mostrar Opções Avançadas e especifique a reserva de capacidade a ser usada:

      • Tipo de Capacidade: Selecione Reserva de Capacidade.
      • Reserva de Capacidade: Selecione na lista a reserva de capacidade a ser usada. Se você não selecionar explicitamente uma reserva de capacidade e uma reserva de capacidade padrão tiver sido criada para o domínio de disponibilidade, a reserva de capacidade padrão será usada. Se você não quiser usar a reserva de capacidade padrão ou qualquer outra reserva de capacidade, selecione Recusar reserva padrão.

    3. Se preferir, clique em Outra Linha para adicionar outros domínios de disponibilidade, sub-redes e reservas de capacidade à configuração de posicionamento. Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.

Atualizando um Pool de Nós Gerenciados e Especificando Reservas de Capacidade

  1. Abra o menu de navegação e clique em Serviços ao Desenvolvedor. Em Contêineres e Artefatos, clique em Clusters do Kubernetes (OKE).
  2. Escolha um Compartimento no qual você tem permissão para trabalhar.
  3. Na página Lista de Clusters, clique no nome do cluster que você deseja modificar.
  4. Clique em Pools de Nós em Recursos e clique no nome do pool de nós gerenciado que você deseja modificar.
  5. Na página Detalhes do Pool de Nós, clique em Editar.
  6. Ao especificar a Configuração de Posicionamento para um pool de nós gerenciado no cluster:
    1. Especifique o primeiro domínio de disponibilidade e a primeira sub-rede:
      • Domínio de Disponibilidade: Selecione o domínio de disponibilidade associado à reserva de capacidade que você pretende usar.
      • Domínio de Falha: (Opcional) Um ou mais domínios de falha no domínio de disponibilidade no qual colocar nós de trabalho.
      • Sub-rede: Selecione a sub-rede associada à reserva de capacidade que você pretende usar.
    2. Clique em Mostrar Opções Avançadas e especifique a reserva de capacidade a ser usada:

      • Tipo de Capacidade: Selecione Reserva de Capacidade.
      • Reserva de Capacidade: Selecione na lista a reserva de capacidade a ser usada. Se você não selecionar explicitamente uma reserva de capacidade e uma reserva de capacidade padrão tiver sido criada para o domínio de disponibilidade, a reserva de capacidade padrão será usada. Se você não quiser usar a reserva de capacidade padrão ou qualquer outra reserva de capacidade, selecione Recusar reserva padrão.

    3. Se preferir, clique em Outra Linha para adicionar outros domínios de disponibilidade, sub-redes e reservas de capacidade à configuração de posicionamento. Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.
  7. Salvar as alterações.

Usando a CLI

Para obter informações sobre como usar a CLI, consulte Interface de Linha de Comando (CLI). Para obter uma lista completa de flags e opções disponíveis para comandos da CLI, consulte a Referência da Linha de Comando.

Criando um Pool de Nós Gerenciados e Especificando Reservas de Capacidade

Para usar a CLI para criar um pool de nós gerenciado que use uma reserva de capacidade para provisionar nós gerenciados, inclua o par de chave/valor capacityReservationId no parâmetro --placement-configs.

Por exemplo:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaaaaaaaf______jrd \
--name test-node \
--node-image-id ocid1.image.oc1.iad.aaaaaaaa6______nha \
--compartment-id oocid1.compartment.oc1..aaaaaaaay______t6q \
--kubernetes-version v1.21.5 \
--node-shape VM.Standard2.1 \
--placement-configs "[{\"availability-domain\":\"IqDk:US-ASHBURN-AD-2\", \"capacityReservationId\":\"ocid1.capacityreservation.oc1.iad.anuwcljt2ah______yeq\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaa2xpk______zva\", \"faultDomains\":[\"FAULT-DOMAIN-3\", \"FAULT-DOMAIN-1\"]}, {\"availability-domain\":\"IqDk:US-ASHBURN-AD-1\", \"subnet-id\":\"ocid1.subnet.oc1.iad.aaaaaaaauhls______bpq\", \"faultDomains\": [\"FAULT-DOMAIN-1\", \"FAULT-DOMAIN-2\"]}]" \
--size 1 \
--region=us-ashburn-1 \

Se uma reserva de capacidade padrão tiver sido criada para o domínio de disponibilidade no qual você está criando o pool de nós, essa reserva de capacidade será usada por padrão. Se você não quiser usar a reserva de capacidade padrão ou qualquer outra reserva de capacidade, defina o valor da chave capacityReservationId como uma string vazia entre aspas duplas, ou seja, \"capacityReservationId\":\"".

Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.

Usando a API

Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

Use o atributo placementConfigs do objeto nodeConfigDetails para especificar reservas de capacidade ao criar ou atualizar pools de nós gerenciados.

Se uma reserva de capacidade padrão tiver sido criada para o domínio de disponibilidade no qual você está criando o pool de nós gerenciado, essa reserva de capacidade será usada por padrão. Se você não quiser usar a reserva de capacidade padrão ou qualquer outra reserva de capacidade, defina o valor do campo capacityReservationId como uma string vazia entre aspas duplas, ou seja, "capacityReservationId":"".

Se você especificar vários domínios de disponibilidade na configuração de posicionamento de um pool de nós, poderá especificar outra reserva de capacidade para cada domínio de disponibilidade.