Table des matières

Introduction

Problème

Analyse

Solution

Introduction

Ce document décrit comment traiter les FailedGetResourceMetric événements générés par istiod pods.

Problème

Après le déploiement du cluster Subscriber Microservices Infrastructure (SMI) à l'aide de la version 2023.01 du protocole CNDP (Cloud Native Deployment Platform), il a été remarqué que les pods d'istiod continuaient à générer des FailedGetResourceMetric événements :

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: ""

Analyse

Le problème semble être dû au fait que la fonction HPA (Horizontal Pod Autoscaler) est activée dans les pods istiod lors du déploiement. Étant donné que HPA nécessite une API Metrics pour déterminer l'utilisation du CPU pour l'évolutivité des pods vers le haut/vers le bas, et que Metrics API n'est pas actuellement utilisé dans le cluster Kubernetes géré par CNDP, il s'agit d'une faille de conception dans le déploiement istiod.

Solution

HPA a été supprimé à partir de la version 2023.03 du protocole CNDP.