Introdução
Este documento descreve como lidar com FailedGetResourceMetric
eventos gerados por pods istiod.
Problema
Após implantar o cluster da Infraestrutura de Microserviços de Assinante (SMI) usando a versão 2023.01 da Plataforma de Implantação Nativa em Nuvem (CNDP), percebeu-se que os pods istiod continuam gerando FailedGetResourceMetric
eventos:
cloud-user@ndce-smi-1:~$ kubectl get events -A -o yaml
apiVersion: v1
items:
- apiVersion: v1
count: 467057
eventTime: null
firstTimestamp: "2023-12-31T03:57:42Z"
involvedObject:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
name: istiod
namespace: istio-system
resourceVersion: "4374"
uid: c85a05a1-b9ec-4241-8347-0b3c9eec1193
kind: Event
lastTimestamp: "2024-03-22T14:42:49Z"
message: 'unable to get metrics for resource cpu: unable to fetch metrics from resource
metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)'
metadata:
creationTimestamp: "2023-12-31T03:57:42Z"
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:count: {}
f:firstTimestamp: {}
f:involvedObject:
f:apiVersion: {}
f:kind: {}
f:name: {}
f:namespace: {}
f:resourceVersion: {}
f:uid: {}
f:lastTimestamp: {}
f:message: {}
f:reason: {}
f:source:
f:component: {}
f:type: {}
manager: kube-controller-manager
operation: Update
time: "2023-12-31T03:57:42Z"
name: istiod.17a5ce7b410bceb6
namespace: istio-system
resourceVersion: "55452121"
selfLink: /api/v1/namespaces/istio-system/events/istiod.17a5ce7b410bceb6
uid: 9616bdc6-90d1-4475-b6af-6d41e185b434
reason: FailedGetResourceMetric
reportingComponent: ""
reportingInstance: ""
source:
component: horizontal-pod-autoscaler
type: Warning
kind: List
metadata:
resourceVersion: ""
selfLink: ""
Análise
O problema parece ser devido ao Horizontal Pod Autoscaler (HPA) estar ativado em pods istiod durante a implantação. Como a HPA exige a API de métricas para determinar a utilização da CPU para dimensionar pods para cima/para baixo e a API de métricas não é usada atualmente no cluster Kubernetes gerenciado por CNDP, essa é uma falha de design na implantação do istiod.
Solução
A HPA foi removida a partir da versão 2023.03 do CNDP.