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 Google Kubernetes Engine (GKE) e associar o uso 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 rótulos (links em inglês) do Kubernetes, ou uma combinação dos dois.

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 após a versão Beta inicial

Após o lançamento da versão Beta inicial, as modificações a seguir foram feitas na 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 mais recente, v1.13.6-gke.7 e mais recente ou 1.14.2-gke.8 e mais recente. A medição de 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 delas.
  • 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.
  • A medição de uso do GKE agora recria automaticamente a tabela do BigQuery quando ela é excluída. Os dados históricos são perdidos.
  • A medição de uso do GKE não recria automaticamente o conjunto de dados do BigQuery quando ele é excluído. O usuário precisa garantir que o conjunto de dados existe.

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. É preciso ativá-la explicitamente usando a sinalização --enable-resource-consumption-metering. 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

É possível usar as consultas de amostra do BigQuery e o modelo do Google Data Studio para unir os dados de medição de uso do GKE aos dados exportados do Google Cloud no BigQuery com o objetivo de estimar uma discriminação de custos por cluster, namespace e rótulos. Os dados de medição de uso do GKE servem apenas para orientação e não afetam sua fatura do Google Cloud. Para os dados de faturamento, sua fatura do Google Cloud é a única fonte de informações.

Considere as seguintes limitações:

  • 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.
  • Atualmente, os tipos de máquinas N2 e E2 não são compatíveis.

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 mais recente, v1.12.8-gke.8 e mais recente, v1.13.6-gke.7 e mais recente ou 1.14.2-gke.3 e mais recente.
  • É necessário ativar a exportação do faturamento do BigQuery. As cobranças estão associadas ao uso do BigQuery.
  • A versão 250.0.0 ou posterior do comando gcloud é obrigatória. Use gcloud --version para verificar.
  • É preciso ativar a API BigQuery no projeto do Google Cloud. Se você ativou o GKE pela primeira vez depois de julho de 2018, isso já está feito.

Como ativar a medição de uso do GKE

A fim de ativar a medição de uso do GKE, primeiro crie um conjunto de dados do BigQuery para um ou 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 Como escolher um ou mais conjuntos de dados do BigQuery.

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 usar a medição de uso do GKE para clusters em seu projeto do Google Cloud, primeiro crie o conjunto de dados do BigQuery e configure 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 Default table expiration para o 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

É possível ativar a medição de uso do GKE em um cluster novo ou atual, usando o comando gcloud ou o Console do Cloud.

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

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

Crie um cluster usando o gcloud ou o Console do Google Cloud.

gcloud

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

    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 mais recente ou v1.13.6-gke.7 e mais recente. Para desativá-lo e rastrear somente solicitações de recursos, adicione a sinalização --no-enable-resource-consumption-metering ao comando acima. Você também precisa modificar as outras consultas de exemplo deste tópico para que elas 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

Para criar um cluster com a medição de uso do GKE ativada:

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

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Criar cluster.

  3. No painel de navegação, em Cluster, clique em Recursos.

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

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

  6. Se quiser, marque 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.

  7. Continue configurando o cluster e clique em Criar.

Como configurar um cluster atual

gcloud

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

    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 mais recente ou v1.13.6-gke.7 e mais recente. Para desativá-lo e rastrear somente solicitações de recursos, adicione a sinalização --no-enable-resource-consumption-metering ao comando acima. Você também precisa modificar as outras consultas de exemplo deste tópico para que elas 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 será criada no conjunto de dados do BigQuery quando o cluster for atualizado.

Console

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

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Editar (ícone de lápis) referente ao cluster que você quer modificar.

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

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

  5. Se quiser, marque 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 que um agente de medição de rede (NMA, na sigla em inglês) seja executado 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, será 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 de saída de rede, inclua a opção --enable-network-egress-metering ao criar ou atualizar o cluster, ou selecione Ativar a medição de saída de rede ao marcar a opção de medição de uso do GKE no Console do Google Cloud.

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 os dados de uso de recursos do cluster, use o comando gcloud container clusters describe.

    gcloud container clusters describe cluster-name \
      --format="value(resourceUsageExportConfig)"
    

Se você não ativar a medição de uso do GKE, receberá uma resposta vazia. Quando a medição é ativada, o conjunto de dados do BigQuery usado pelo cluster aparece em uma resposta 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:

    gcloud container clusters update cluster-name \
        --clear-resource-usage-bigquery-dataset
    

Console

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

    Acessar o menu do Google Kubernetes Engine

  2. Clique no botão Editar (ícone de lápis) referente ao cluster que você quer modificar.

  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. Exportar dados de faturamento do Google Cloud para o BigQuery precisa estar ativado. 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. O Data Studio (em inglês) precisa estar ativado.
  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 Faturamento do Cloud
    • 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 (em inglês).

    Outra opção para encontrar o conector é acessar a Galeria de conectores do Data Studio (em inglês) e pesquisar por 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 Faturamento do Cloud 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 (em inglês) 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.
Detalhamento 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 analisar os dados de medição de uso do GKE utilizando o BigQuery

Para ver dados sobre solicitações de recursos usando o BigQuery, consulte a tabela gke_cluster_resource_usage no conjunto de dados relevante do BigQuery.

Para ver dados sobre o consumo real de recursos, consulte a tabela gke_cluster_resource_consumption. Os dados de consumo de saída de rede permanecem em gke_cluster_resource_usage porque não há um conceito de solicitações de recursos para a saída.

Para ver mais informações sobre como usar consultas no BigQuery, consulte Como executar consultas. Os campos do esquema são estáveis, ainda que 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

SELECT
      cluster_name,
      labels,
      usage
    FROM
      'cluster-gcp-project.usage-metering-dataset.gke_cluster_resource_usage'
    WHERE
      namespace="namespace-name"
    

Consultar o consumo de recursos

SELECT
      cluster_name,
      labels,
      usage
    FROM
      '{usage_metering_consumption_table_fully_qualified}}'
    WHERE
      namespace="namespace-name"
    

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 da SKU do recurso de nuvem subjacente do Google Cloud.
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 subjacente do Google Cloud. 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