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.