Contenido

Introducción

Problema

Análisis

Solución

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.