Recursos Alocados a Pods Provisionados por Nós Virtuais

Descubra sobre limites e outros fatores a serem considerados na alocação de recursos de CPU, memória e armazenamento para pods provisionados por nós virtuais ao usar o Container Engine for Kubernetes (OKE).

Ao usar nós virtuais, a alocação de recursos está no nível de pod (em vez de no nível do nó de trabalho).

Alocação de Recursos de CPU e Memória

Para calcular o número de CPUs (expressas em CPUs Oracle ou OCPUs) e a quantidade de memória a ser alocada para pods provisionados por nós virtuais, o Container Engine for Kubernetes considera:

  • as solicitações e limites de CPU e memória para cada contêiner especificado na especificação de pod, se houver
  • o número de contêineres no pod
  • os requisitos de runtime do kube-proxy e do contêiner (0.25GB de memória, CPU insignificante)

Os seguintes mínimos se aplicam a solicitações de CPU e memória de pod:

  • 0,125 OCPU
  • 0.5GB de memória

No que diz respeito aos limites de CPU e memória e às solicitações especificadas na especificação de pod para contêineres, o Container Engine for Kubernetes aplica as seguintes regras ao calcular OCPU e alocação de memória:

  • Se um limite for especificado na especificação de pod, mas não houver solicitação, o Container Engine for Kubernetes usará o valor limite.
  • Se uma solicitação for especificada, mas não houver limite, o Container Engine for Kubernetes usará o valor da solicitação.
  • Se uma solicitação e um limite forem especificados, o Container Engine for Kubernetes usará o valor de limite.
  • Se nem uma solicitação nem um limite forem especificados, o Container Engine for Kubernetes usará 0,125 OCPU e 0.5GB por contêiner.

Como os pods provisionados por nós virtuais sempre vêm com uma capacidade garantida, recomendamos definir limites e solicitações para o mesmo valor.

O número máximo de CPUs que podem ser alocadas para pods provisionados por nós virtuais depende da forma (e do processador) especificada para o pool de nós virtuais. Por exemplo, no caso de Pod.Standard.E3. Flex e Pod.Standard.E4. Formas flexíveis (AMD), o número máximo é de 64 núcleos (128 vCPUs).

O número de OCPUs alocadas para pods provisionados por nós virtuais também determina a largura de banda da rede disponível para os pods, com 1Gbps disponível por OCPU, sujeita aos seguintes limites:

  • um limite máximo de largura de banda de 40 Gbps
  • um limite mínimo de largura de banda de 1 Gbps
Observação

No momento, ao calcular a alocação de OCPU e memória, o Container Engine for Kubernetes:

  • arredonda a alocação de CPU para o número inteiro mais próximo de OCPUs
  • arredonda a alocação de memória para o número inteiro mais próximo de GBs

Alocação de Armazenamento

Os pods provisionados por nós virtuais recebem cada 15 GB de espaço de armazenamento, no qual é possível armazenar os sistemas de arquivos raiz de contêineres em execução no pod. Observe que as imagens do contêiner consomem parte dessa alocação de armazenamento de 15 GB. A alocação restante está disponível para uso no aplicativo como armazenamento temporário.

Faturamento de Recursos

Ao executar um job do Kubernetes em nós virtuais, observe que você continua sendo cobrado pelos recursos que o job usa enquanto o job existir, mesmo quando ele foi concluído ou falhou. Portanto, para evitar que os recursos sejam faturados desnecessariamente, exclua o job após ele ter sido concluído. Por exemplo, usando um comando como kubectl delete job <job-name> ou kubectl delete -f <job-spec>.yaml.