Recursos Alocados a Pods Provisionados por Nós Virtuais

Saiba mais 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 Kubernetes Engine (OKE).

Ao usar nós virtuais, a alocação de recursos está no nível do 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 Kubernetes Engine considera:

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

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

  • 0.125 OCPU
  • 0.5GB de memória

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

  • Se um limite for especificado na especificação do pod, mas nenhuma solicitação, o Kubernetes Engine usará o valor limite.
  • Se uma solicitação for especificada, mas não houver limite, o Kubernetes Engine usará o valor da solicitação.
  • Se uma solicitação e um limite forem especificados, o Kubernetes Engine usará o valor limite.
  • Se nem uma solicitação nem um limite forem especificados, o Kubernetes Engine 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 1 Gbps 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

Ao calcular a alocação de OCPU e memória, o Kubernetes Engine atualmente:

  • arredonda a alocação da 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 15 GB de espaço de armazenamento, para armazenar os sistemas de arquivos raiz de contêineres em execução no pod. Observe que as imagens de contêiner consomem parte dessa alocação de armazenamento de 15 GB. A alocação restante está disponível para o aplicativo para uso como armazenamento temporário.

Faturamento do Recurso

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