はじめに
このドキュメントでは、Istiodポッドによって生成されるイFailedGetResourceMetric
ベントに対処する方法について説明します。
問題
2023.01 Cloud Native Deployment Platform(CNDP)リリースを使用してサブスクライバマイクロサービスインフラストラクチャ(SMI)クラスタを導入した後、IPODがFailedGetResourceMetric
イベントを生成し続けていることが確認されました。
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: ""
分析
この問題は、導入時にHorizontal Pod Autoscaler(HPA)がIstiodポッドで有効になっていることが原因と考えられます。HPAはポッドのスケールアップ/スケールダウンのCPU使用率を決定するためにMetrics APIを必要とし、Metrics APIは現在CNDPマネージドKubernetesクラスタで使用されていないため、これはシステム展開の設計上の欠陥です。
解決方法
HPAは、2023.03 CNDPリリース以降では削除されています。