소개
이 문서에서는 아이스티드 포드에 의해 생성된 이벤트를 FailedGetResourceMetric
처리하는 방법에 대해 설명합니다.
문제
2023.01 CNDP(Cloud Native Deployment Platform) 릴리스를 사용하여 SMI(Subscriber Microservices Infrastructure) 클러스터를 배포한 후 Istiod Pod에서 계속 이벤트를 생성하는 것으로 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: ""
분석
이 문제는 구축 중에 인스턴트 포드에서 HPA(Horizontal Pod Autoscaler)가 활성화되어 있기 때문인 것으로 보입니다. HPA는 포드 업/다운을 확장하기 위한 CPU 사용률을 결정하기 위해 메트릭 API가 필요하며, 메트릭 API는 현재 CNDP에서 관리하는 Kubernetes 클러스터에서 사용되지 않으므로, 이는 인스턴트 구축의 설계 결함입니다.
솔루션
2023.03 CNDP 이후 릴리스부터 HPA가 제거되었습니다.