Neste documento, descrevemos como configurar a implantação do Google Kubernetes Engine para usar o Google Cloud Managed Service para Prometheus a fim de coletar métricas do GKE Inference Gateway. Esta página mostra como fazer o seguinte:
- Configure o GKE Inference Gateway para gerar relatórios de métricas.
- Configure um recurso ClusterPodMonitoring para o serviço gerenciado para Prometheus a fim de coletar as métricas exportadas.
- Instalar um painel no Cloud Monitoring para ver as métricas.
Estas instruções se aplicam somente ao usar a coleção gerenciada com o serviço gerenciado para Prometheus. Se você estiver usando a coleta autoimplantada, consulte a documentação do GKE Inference Gateway para informações da instalação.
Estas instruções são um exemplo e devem funcionar na maioria dos ambientes do Kubernetes. Se você estiver com problemas para instalar um aplicativo ou exportador devido a políticas restritivas de segurança ou da organização, recomendamos consultar a documentação de código aberto para receber suporte.
Para informações sobre o GKE Inference Gateway, consulte GKE Inference Gateway.
Pré-requisitos
Para coletar métricas do exportador do GKE Inference Gateway usando o Managed Service para Prometheus e a coleta gerenciada, sua implantação precisa atender aos seguintes requisitos:
- Seu cluster precisa executar a versão 1.28.15-gke.2475000 ou posterior do Google Kubernetes Engine.
- É necessário executar o Managed Service para Prometheus com a coleta gerenciada ativada. Para mais informações, consulte Começar a usar a coleta gerenciada.
Para verificar se o exportador do GKE Inference Gateway está emitindo métricas nos endpoints esperados, faça o seguinte:
Adicione um secret, uma ServiceAccount, um ClusterRole e um ClusterBinding. Os endpoints de observabilidade do exportador do GKE Inference Gateway são protegidos pelo token de autenticação. Para receber credenciais, o cliente precisa de um Secret que mapeie uma conta de serviço com o ClusterRole conectado para a regra
nonResourceURLs: "/metrics", verbs: get
. Para mais informações, consulte Criar um secret para uma conta de serviço.Configure o encaminhamento de portas usando o seguinte comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9090
Em outra janela, faça o seguinte:
Para buscar o token, execute o seguinte comando:
TOKEN=$(kubectl -n default get secret inference-gateway-sa-metrics-reader-secret -o jsonpath='{.secrets[0].name}' -o jsonpath='{.data.token}' | base64 --decode)
Acesse o endpoint
localhost:9090/metrics
usando o utilitáriocurl
:curl -H "Authorization: Bearer $TOKEN" localhost:9090/metrics
Criar um secret para uma conta de serviço
Para o endpoint do exportador do GKE Inference Gateway protegido, o
operador do Managed Service para Prometheus requer um secret para
coleta de métricas autorizada no namespace gmp-system
.
Se o cluster estiver usando o modo Autopilot, substitua
gmp-system
por gke-gmp-system
.
É possível usar a seguinte configuração de Secret, ServiceAccount, ClusterRole e ClusterRoleBinding:
Para mais informações, consulte o guia de métricas e observabilidade do exportador.
Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Também é possível usar o Terraform para gerenciar as configurações.
Definir um recurso ClusterPodMonitoring
Para descobrir o destino, o operador do Managed Service para Prometheus requer um recurso ClusterPodMonitoring que corresponda ao exportador do GKE Inference Gateway no mesmo namespace.
É possível usar a seguinte configuração do ClusterPodMonitoring:
O gateway de inferência do GKE usa o recurso ClusterPodMonitoring
em vez do PodMonitoring
porque precisa acessar o secret de outro namespace.
No seletor matchLabels
da configuração ClusterPodMonitoring
,
é possível substituir o valor app
de inference-gateway-ext-proc
por rótulos
da implantação do GKE Inference Gateway.
Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Também é possível usar o Terraform para gerenciar as configurações.
Verificar a configuração
Use o Metrics Explorer para verificar se você configurou corretamente o exportador do GKE Inference Gateway. Pode levar um ou dois minutos para que o Cloud Monitoring ingira as métricas.
Para verificar se as métricas foram transferidas, faça o seguinte:
-
No console Google Cloud , acesse a página leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão code MQL ou code PromQL.
- Verifique se PromQL está selecionado na opção de ativar/desativar Idioma. A alternância de idiomas está na mesma barra de ferramentas que permite formatar sua consulta.
- Digite e execute a seguinte consulta:
inference_model_request_total{cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Ver painéis
A integração do Cloud Monitoring inclui o painel Visão geral do GKE Inference Gateway Prometheus. Os painéis são instalados automaticamente ao configurar a integração. Também é possível visualizar visualizações estáticas de painéis sem instalar a integração.
Para ver um painel instalado, faça o seguinte:
-
No Google Cloud console, acesse a página
Painéis:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Selecione a guia Lista de painéis.
- Escolha a categoria Integrações.
- Clique no nome do painel, por exemplo, Visão geral do GKE Inference Gateway Prometheus.
Para acessar uma visualização estática do painel, faça o seguinte:
-
No console do Google Cloud , acesse a página
Integrações:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Clique no filtro de plataforma de implantação do Kubernetes Engine.
- Localize a integração do GKE Inference Gateway e clique em Visualizar detalhes.
- Selecione a guia Painéis.
Solução de problemas
Para resolver problemas de transferências de métricas, consulte Problemas com a coleta de exportadores em Resolver problemas no processamento.