Introducción
Este documento describe cómo abordar los FailedGetResourceMetric
eventos generados por las vainas istiod.
Problema
Después de implementar el clúster de Subscriber Microservices Infrastructure (SMI) mediante la versión 2023.01 de la plataforma de implementación nativa en la nube (CNDP), se ha observado que los grupos de dispositivos basados en istiod siguen generando 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álisis
El problema parece deberse a que se ha habilitado el escalador automático de grupo horizontal (HPA) en grupos de dispositivos istiod durante la implementación. Dado que la HPA requiere la API de métricas para determinar el uso de la CPU para escalar grupos de dispositivos hacia arriba o hacia abajo, y que la API de métricas no se utiliza actualmente en el clúster de Kubernetes administrado por CNDP, este es un error de diseño en la implementación del istiod.
Solución
La HPA se ha eliminado a partir de la versión 2023.03 del CNDP.