Noções básicas sobre o uso de recursos do cluster

Nesta página, você aprende a medir o uso do GKE. Assim, será possível entender os perfis da utilização dos clusters do GKE e relacioná-la a equipes ou unidades de negócios individuais dentro da organização. A medição de uso do GKE não é cobrada no seu projeto. Com ela, você analisa a utilização de recursos em um nível granular.

Visão geral

Com a medição de uso do GKE, você rastreia informações sobre as solicitações e o uso real de recursos das cargas de trabalho do cluster. Atualmente, essas informações incluem CPU, GPU, TPU, memória, armazenamento e saída de rede (opcional). É possível diferenciar o uso de recursos por meio de namespaces e de rótulos (links em inglês) do Kubernetes ou uma combinação de ambos.

Os dados ficam armazenados no BigQuery. Nele, é possível consultá-los diretamente ou exportá-los para análise usando ferramentas externas, como o Google Data Studio.

A medição de uso do GKE é aplicável a casos como estes:

  • Rastrear o consumo real e as solicitações dos recursos por locatário em um cluster de multilocação. Nesse cluster, cada locatário é operado em um determinado namespace.
  • Determinar o consumo de recursos de uma carga de trabalho em execução em um determinado cluster. Isso é feito ao atribuir um rótulo exclusivo aos objetos do Kubernetes associados à carga de trabalho.
  • Identificar as cargas de trabalho com solicitações de recursos que sejam muito diferentes do consumo real. Assim, é possível aumentar a eficiência da alocação de recursos em cada carga de trabalho.

Modificações na versão Beta inicial

As modificações a seguir foram feitas na versão Beta inicial da medição de uso do GKE:

  • Agora o consumo real de recursos também é rastreado nos clusters que executam o GKE nas versões v1.12.8-gke.8 e superior, v1.13.6-gke.7 e superior ou 1.14.2-gke.8 e superior. A medição do consumo de recursos é armazenada na tabela gke_cluster_resource_consumption do conjunto de dados do BigQuery. Antes, somente as solicitações de recursos eram rastreadas.
  • As solicitações da TPU agora são rastreadas, exceto o consumo real de recursos dela.
  • Agora é possível rastrear as solicitações e o consumo real de recursos em nós que usam tipos de máquina personalizados.
  • Agora é possível ativar a medição de uso do GKE ao criar ou atualizar um cluster no Console do Google Cloud Platform.
  • A medição de uso do GKE agora recria automaticamente o conjunto de dados do BigQuery quando ele é excluído. Os dados históricos são perdidos.

Como fazer upgrade

Todas as alterações são compatíveis com a versão Beta inicial, e não é necessário modificar ou migrar os dados.

A medição de consumo de recursos não é ativada automaticamente quando você faz upgrade de um cluster para versões do GKE compatíveis com ela. É necessário usar a sinalização --enable-resource-consumption-metering para fazer a ativação. Outra tabela será criada automaticamente no conjunto de dados do BigQuery. Ambas as tabelas terão o mesmo esquema.

Após o upgrade, você só precisa criar um novo painel do Data Studio para adicionar as informações sobre o consumo real de recursos.

Limitações

Use as consultas de amostra do BigQuery e o modelo do Google Data Studio para associar dados de medição de uso do GKE aos dados de faturamento exportados do GCP no BigQuery. Assim, é possível estimar custos detalhados por cluster, namespace e rótulos. Os dados de medição de uso do GKE são apenas para consulta e não são cobrados na fatura do GCP. Para acessar os dados de faturamento, consulte a fatura do GCP.

As limitações a seguir são aplicáveis:

  • Créditos ou descontos especiais em contratos não são considerados.
  • Recursos criados fora do escopo do GKE não são rastreados por namespaces ou rótulos.

Pré-requisitos

Antes de utilizar a medição de uso do GKE, atenda aos pré-requisitos a seguir:

  • Para rastrear o consumo real de recursos, o cluster precisa executar o GKE nas versões v1.11.10-gke.5 e superior, v1.12.8-gke.8 e superior, v1.13.6-gke.7 e superior ou 1.14.2-gke.3 e superior.
  • É necessário ativar a exportação do faturamento do BigQuery. As cobranças estão associadas ao uso do BigQuery.
  • É necessário ter a versão 250.0.0 ou superior da ferramenta gcloud. Para verificar sua versão, use gcloud --version.
  • É necessário ativar a API do BigQuery no projeto do Google Cloud Platform. Ela já estará ativada se você tiver habilitado o GKE pela primeira vez depois de julho de 2018.

Como ativar a medição de uso do GKE

Para ativar a medição de uso do GKE, primeiro crie um conjunto de dados do BigQuery para um cluster, para vários clusters no projeto ou para o projeto inteiro. Para mais informações sobre como escolher um mapeamento entre conjuntos de dados e clusters, consulte esta página.

Em seguida, ative a medição de uso do GKE ao criar um novo cluster ou modificar um atual.

Se quiser, é possível criar um painel do Google Data Studio para visualizar o uso de recursos dos clusters.

Como criar o conjunto de dados do BigQuery

Para poder utilizar a medição de uso do GKE nos clusters do projeto do Google Cloud Platform, você precisa primeiro criar o conjunto de dados do BigQuery e configurar os clusters para usá-lo. Em um único conjunto de dados do BigQuery, é possível armazenar informações sobre o uso de recursos de vários clusters no mesmo projeto.

Para mais detalhes, consulte Como criar conjuntos de dados. Defina o Default table expiration do conjunto de dados como Never para que a tabela não expire. No entanto, na segunda versão Beta da medição de uso do GKE, se uma tabela expirar, ela será recriada automaticamente como uma tabela vazia.

Como ativar a medição de uso do GKE em um cluster

Use o comando da gcloud ou o Console do GCP para ativar a medição de uso do GKE em um cluster novo ou atual.

Por padrão, nos clusters que executam o GKE nas versões v1.12.8-gke.8 e superior ou v1.13.6-gke.7 e superior, ativar a medição de uso do GKE também habilita a medição do consumo real. Para desativar a medição do consumo de recursos e continuar rastreando as solicitações, consulte neste tópico as instruções específicas para ativar a medição de uso do GKE por meio do comando gcloud.

A medição de saída de rede está desativada por padrão. Para ativá-la, consulte neste tópico os avisos e instruções em Opcional: como ativar a medição da saída de rede.

Como criar um novo cluster

gcloud

Para criar um cluster com a medição de uso do GKE ativada, execute o comando a seguir.

Se quiser inserir seus próprios valores no exemplo antes de colar o código, clique em qualquer campo highlighted para editá-lo. Para redefinir os valores, atualize esta página.

gcloud container clusters create [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]

A medição do consumo de recursos é ativada por padrão nos clusters que executam o GKE nas versões v1.12.8-gke.8 e superior ou v1.13.6-gke.7 e superior. Para desativá-la e apenas rastrear as solicitações de recursos, adicione a sinalização --no-enable-resource-consumption-metering ao comando acima. Você também precisa modificar os outros códigos de exemplo deste tópico para que eles não consultem o consumo de recursos.

Se necessário, as tabelas exigidas são criadas no conjunto de dados do BigQuery quando o cluster é iniciado.

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Escolha Cluster padrão ou um modelo apropriado para a carga de trabalho.

  4. Clique em Disponibilidade, rede, segurança e outros recursos.

  5. Selecione Ativar medição de uso do GKE.

  6. Insira o nome do conjunto de dados do BigQuery.

  7. Se quiser, habilite a opção Ativar medição de saída de rede depois de consultar os avisos e instruções em Opcional: como ativar a medição da saída de rede.

  8. Continue configurando o cluster e clique em Salvar.

Como configurar um cluster atual

gcloud

Para ativar a medição de uso do GKE em um cluster atual, execute o comando a seguir.

Se quiser inserir seus próprios valores no exemplo antes de colar o código, clique em qualquer campo highlighted para editá-lo. Para redefinir os valores, atualize esta página.

gcloud container clusters update [CLUSTER-NAME] \
  --resource-usage-bigquery-dataset [RESOURCE-USAGE-DATASET]"

A medição do consumo de recursos é ativada por padrão nos clusters que executam o GKE nas versões v1.12.8-gke.8 e superior ou v1.13.6-gke.7 e superior. Para desativá-la e apenas rastrear as solicitações de recursos, adicione a sinalização --no-enable-resource-consumption-metering ao comando acima. Você também precisa modificar os outros códigos de exemplo deste tópico para que eles não consultem o consumo de recursos.

Também é possível alterar o conjunto de dados que um cluster atual usa para armazenar os respectivos dados de medição de uso. Para isso, altere o valor da sinalização --resource-usage-bigquery-dataset.

Se necessário, uma tabela é criada no conjunto de dados do BigQuery quando o cluster é atualizado.

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Editar referente ao cluster que você quer modificar. Ele é semelhante a um lápis.

  3. Ative a Medição de uso do GKE.

  4. Insira o nome do conjunto de dados do BigQuery.

  5. Se quiser, habilite a opção Ativar medição de saída de rede depois de consultar os avisos e instruções em Opcional: como ativar a medição da saída de rede.

  6. Continue configurando o cluster e clique em Salvar.

Opcional: como ativar a medição da saída de rede

Por padrão, os dados de saída de rede não são coletados ou exportados. A medição da saída de rede requer um agente de medição de rede (NMA, na sigla em inglês) em execução em cada nó. O NMA, executado como um pod privilegiado, consome alguns recursos no nó (CPU, memória e espaço em disco), além de ativar a sinalização nf_conntrack_acct sysctl (em inglês) no kernel para a contabilidade do fluxo de rastreamento de conexão.

Se você já tiver visto esses avisos, é possível ativar o rastreamento de saída de rede e usá-lo com a medição de uso do GKE. Para ativar o rastreamento da saída de rede, inclua a opção --enable-network-egress-metering ao criar ou atualizar o cluster. Se preferir, selecione Ativar medição de saída de rede ao habilitar a medição de uso do GKE no Console do Google Cloud Platform.

Como verificar se a medição de uso do GKE está ativada

Para verificar se a medição de uso do GKE está ativada em um cluster e qual conjunto de dados do BigQuery armazena dados de uso de recursos do cluster, utilize o comando gcloud container clusters describe. No exemplo a seguir:

Se quiser inserir seus próprios valores no exemplo antes de colar o código, clique em qualquer campo highlighted para editá-lo. Para redefinir os valores, atualize esta página.

gcloud container clusters describe [CLUSTER-NAME]\
  --format="value(resourceUsageExportConfig)"

Se você não ativar a medição de uso do GKE, receberá uma saída vazia. Quando a medição é ativada, é mostrado o conjunto de dados do BigQuery usado pelo cluster em uma saída como esta:

bigqueryDestination={u'datasetId': u'test_usage_metering_dataset'}

Como desativar a medição de uso do GKE

gcloud

Para desativar a medição de uso do GKE em um cluster, execute o comando a seguir.

Se quiser inserir seus próprios valores no exemplo antes de colar o código, clique em qualquer campo highlighted para editá-lo. Para redefinir os valores, atualize esta página.

gcloud container clusters update [CLUSTER-NAME] \
  --clear-resource-usage-bigquery-dataset

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Editar referente ao cluster que você quer modificar. Ele é semelhante a um lápis.

  3. Desative a Medição de uso do GKE.

  4. Clique em Salvar.

Como escolher um ou mais conjuntos de dados do BigQuery

Um conjunto de dados pode conter dados de medição de uso do GKE referentes a um ou mais clusters no seu projeto. O uso de um ou vários conjuntos de dados depende das suas necessidades de segurança:

  • Um único conjunto de dados para todo o projeto simplifica a administração.
  • Um conjunto de dados por cluster permite delegar acesso granular aos conjuntos de dados.
  • Um conjunto de dados por grupo relacionado de clusters permite que você encontre a combinação certa de simplicidade e granularidade para suas necessidades.

Como visualizar dados de medição de uso do GKE utilizando um painel do Data Studio

É possível visualizar os dados de medição de uso do GKE por meio de um painel do Data Studio. Com ele, você filtra os dados por nome de cluster, namespace ou rótulo, além de ajustar o período de geração de relatórios dinamicamente. Se você tem experiência no Data Studio e BigQuery, crie um painel totalmente personalizado. No entanto, também é possível clonar um painel que criamos especificamente para a medição de uso do GKE.

Use o painel para visualizar as solicitações e o consumo de recursos nos clusters ao longo do tempo.

Pré-requisitos

  1. Ative a exportação dos dados de faturamento do Google Cloud Platform para o BigQuery caso ainda não esteja ativada. Durante esse processo, você cria um conjunto de dados, mas a tabela no conjunto de dados leva até cinco horas para aparecer e começar a ser preenchida. Quando a tabela é exibida, o nome dela é gcp_billing_export_v1_[BILLING_ACCOUNT_ID].
  2. Ative a medição de uso do GKE em pelo menos um cluster no projeto. Anote o nome escolhido para o conjunto de dados do BigQuery.
  3. Ative o Data Studio se ainda não tiver feito isso.
  4. Consiga as informações a seguir, que são necessárias para configurar o painel:

    • Tabela de dados e ID do conjunto de dados de exportação do Cloud Billing
    • ID do conjunto de dados de medição de uso do GKE

Criar o painel do Data Studio

Otimizamos o processo de criação da fonte de dados e do painel. Depois de atender aos pré-requisitos, use um conector personalizado do Data Studio para criar a fonte de dados e o painel automaticamente.

  1. Acesse o conector do Data Studio para medição de uso do GKE.

    Outra opção para encontrar o conector é acessar a Galeria de conectores do Data Studio e pesquisar Medição de uso do GKE.

  2. Leia e aceite o aviso para conceder ao conector as permissões necessárias.

  3. Quando solicitado, forneça o ID do projeto, a tabela e o ID do conjunto de dados de exportação do Cloud Billing e o ID do conjunto de dados de medição de uso do GKE.

  4. Ative a medição de consumo de recursos se ela estiver habilitada no seu cluster. Isso vale para a maioria dos usuários.

  5. Clique em Conectar. Você criará uma nova fonte de dados com o nome padrão Medição de uso do GKE. Se preferir, clique no nome no cabeçalho da página para renomear a fonte de dados.

  6. Clique em Criar relatório para criar o painel do Data Studio.

O painel é criado e aberto no editor. Para visualizá-lo e editá-lo, clique em Visualizar.

É possível acessar o painel quando quiser usando a lista de relatórios do Data Studio referente ao seu projeto.

Usar o painel do Data Studio

O painel contém vários relatórios:

Detalhes de uso
Proporção geral de uso de cluster entre todos os clusters que enviam dados de medição de uso para a mesma fonte de dados do BigQuery, além de informações detalhadas sobre o tipo de recurso por namespace, incluindo CPU, memória ou saída de rede. É possível limitar os dados do relatório a um ou mais clusters ou namespaces individuais.
Detalhes de uso com recursos não alocados
Semelhante ao anterior, mas esse relatório distribui os recursos não alocados proporcionalmente em todos os namespaces. Isso inclui recursos inativos e todos os outros que a medição de uso do GKE não aloca atualmente a locatários específicos.
Tendências de custo: detalhamento por namespace
Tendências de custo entre todos os clusters que enviam dados de medição de uso para a mesma fonte de dados do BigQuery, detalhadas por namespace. É possível selecionar um ou mais clusters, namespaces, recursos ou SKUs individuais.
Tendências de custo: detalhamento por rótulo
Tendências de custo entre todos os clusters que enviam dados de medição de uso para a mesma fonte de dados do BigQuery. É possível selecionar um ou mais clusters, recursos e nomes ou valores de rótulo individuais.
Medição baseada no consumo
Tendências de consumo entre todos os clusters que enviam dados de medição de uso para a mesma fonte de dados do BigQuery. É possível selecionar um ou mais namespaces e chaves ou valores de rótulo individuais. Esse relatório será preenchido somente se a medição de consumo de recursos estiver ativada em pelo menos um cluster.

É possível alterar as páginas usando as setas próximas à parte superior esquerda da tela. Altere o período de uma página usando o seletor de datas. Para compartilhar o relatório com membros da sua organização ou revogar o acesso, clique no link Compartilhar relatório, que é semelhante a uma pessoa com o símbolo +.

Neste vídeo, você vê todas as telas do painel.

Depois de copiar o relatório para o projeto, personalize-o com o editor de relatórios do Data Studio. Mesmo que o modelo de relatório fornecido pelo Google seja alterado, sua cópia não será afetada.

Como explorar os dados de medição de uso do GKE utilizando o BigQuery

Para visualizar os dados sobre solicitações de recursos por meio do BigQuery, consulte a tabela gke_cluster_resource_usage no conjunto de dados do BigQuery relevante.

Para visualizar os dados sobre o consumo real de recursos, consulte a tabela gke_cluster_resource_usage_consumed. Os dados sobre o consumo de saída de rede permanecem em gke_cluster_resource_usage porque o conceito de solicitações de recursos não se aplica às saídas.

Para mais informações sobre o uso de consultas no Cloud Bigtable, consulte Como executar consultas. Os campos no esquema são estáveis, embora mais campos possam ser adicionados no futuro.

Essas consultas são exemplos simples. Personalize sua consulta para encontrar os dados de que você precisa.

Consultar solicitações de recursos

Se quiser inserir seus próprios valores no exemplo antes de colar o código, clique em qualquer campo highlighted para editá-lo. Para redefinir os valores, atualize esta página.

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_usage`
WHERE
  namespace="[NAMESPACE]"

Consultar o consumo de recursos

SELECT
  cluster_name,
  labels,
  usage
FROM
  `[CLUSTER_GCP_PROJECT].[USAGE_METERING_DATASET].gke_cluster_resource_usage_consumed`
WHERE
  namespace="[NAMESPACE]"

Mais exemplos

Expanda as seções a seguir para ver exemplos mais avançados.

Esquema de medição de uso do GKE no BigQuery

Veja na tabela a seguir o esquema das tabelas de medição de uso do GKE no conjunto de dados do BigQuery. Se o cluster estiver executando uma versão do GKE compatível com a medição do consumo e as solicitações de recursos, outra tabela será criada com o mesmo esquema.

Campo Tipo Descrição
cluster_location STRING O nome da zona ou região do Compute Engine em que o cluster do GKE reside.
cluster_name STRING O nome do cluster do GKE.
namespace STRING O namespace do Kubernetes a partir do qual o uso é gerado.
resource_name STRING O nome do recurso, como "cpu", "memória" e "armazenamento".
sku_id STRING O ID do SKU do recurso de nuvem do GCP subjacente.
start_time TIMESTAMP O carimbo de data/hora do UNIX de quando o uso começou.
end_time TIMESTAMP O carimbo de data/hora do UNIX de quando o uso terminou.
fraction FLOAT A fração de um recurso de nuvem consumido pelo uso. Para um recurso de nuvem dedicado usado exclusivamente por um único namespace, a fração é sempre 1.0. Para recursos compartilhados entre vários namespaces, a fração é calculada como o valor solicitado dividido pela capacidade total do recurso de nuvem subjacente.
cloud_resource_size INTEGER O tamanho do recurso do GCP subjacente. Por exemplo, o tamanho de vCPUs em uma instância de n1-standard-2 é 2.
labels.key STRING A chave de um rótulo do Kubernetes associado ao uso.
labels.value STRING O valor de um rótulo do Kubernetes associado ao uso.
project.id STRING O ID do projeto em que o cluster GKE reside.
usage.amount FLOAT A quantidade de usage.unit usada.
usage.unit STRING A unidade base em que o uso do recurso é medido. Por exemplo, a unidade base para armazenamento padrão é byte-segundos.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Kubernetes Engine