Closed gigi-at-zymergen closed 1 year ago
Thanks, although it is not clear to me what should be returned in this specific case?
Can we compare to metrics-server when there are no pods?
Any update? The workaround is to create a dummy object? I have the same issue when using with Kyverno. Same as : https://github.com/kyverno/kyverno/issues/2267
We would need to know what to return instead of empty list. @r1v3n do you think you can investigate and compare to k8s metrics-server as @coderanger suggested?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
This issue has been automatically closed due to inactivity.
This is still an issue, haven't managed to research what the k8s metric server returns. Will try and research and post back here.
confirmed, the issue is still present. kyverno v2.3.3, keda v2.6.2. And some dummy Prometheus scaled object is fixing this as a workaround. The proposition is: if there are no scaled objects - /apis/external.metrics.k8s.io/v1beta1 resources shouldn't be empty. Let it return 1 value, let it be current time....
@zroubalik, @JorTurFer I think we shoud return like this below. when execute "kubectl api-resources", it return "configmaps" for example,not return every configmap object name.
// ListAllExternalMetrics returns the supported external metrics for this provider
func (p *KedaProvider) ListAllExternalMetrics() []provider.ExternalMetricInfo {
logger.V(1).Info("KEDA Metrics Server received request for list of all provided external metrics names")
var externalMetricsInfo []provider.ExternalMetricInfo
externalMetricsInfo = append(externalMetricsInfo, provider.ExternalMetricInfo{Metric: "scaleobject"})
return externalMetricsInfo
}
It return "configmaps" for example,not return every configmap object name.But "external.metrics.k8s.io/v1beta1" return every object now.
MacBook-Pro-38 .kube % kubectl api-resources
NAME SHORTNAMES APIVERSION NAMESPACED KIND
bindings v1 true Binding
componentstatuses cs v1 false ComponentStatus
configmaps cm v1 true ConfigMap
endpoints ep v1 true Endpoints
events ev v1 true Event
limitranges limits v1 true LimitRange
namespaces ns v1 false Namespace
nodes no v1 false Node
persistentvolumeclaims pvc v1 true PersistentVolumeClaim
persistentvolumes pv v1 false PersistentVolume
pods po v1 true Pod
podtemplates v1 true PodTemplate
replicationcontrollers rc v1 true ReplicationController
resourcequotas quota v1 true ResourceQuota
secrets v1 true Secret
serviceaccounts sa v1 true ServiceAccount
services svc v1 true Service
challenges acme.cert-manager.io/v1 true Challenge
orders acme.cert-manager.io/v1 true Order
mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration
validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration
ackalertrules alertrule alert.alibabacloud.com/v1beta1 true AckAlertRule
customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition
apiservices apiregistration.k8s.io/v1 false APIService
controllerrevisions apps/v1 true ControllerRevision
daemonsets ds apps/v1 true DaemonSet
deployments deploy apps/v1 true Deployment
replicasets rs apps/v1 true ReplicaSet
statefulsets sts apps/v1 true StatefulSet
advancedcronjobs acj apps.kruise.io/v1alpha1 true AdvancedCronJob
broadcastjobs bcj apps.kruise.io/v1alpha1 true BroadcastJob
clonesets clone apps.kruise.io/v1alpha1 true CloneSet
containerrecreaterequests crr apps.kruise.io/v1alpha1 true ContainerRecreateRequest
daemonsets daemon,ads apps.kruise.io/v1alpha1 true DaemonSet
imagepulljobs apps.kruise.io/v1alpha1 true ImagePullJob
nodeimages apps.kruise.io/v1alpha1 false NodeImage
persistentpodstates apps.kruise.io/v1alpha1 true PersistentPodState
resourcedistributions distributor apps.kruise.io/v1alpha1 false ResourceDistribution
sidecarsets apps.kruise.io/v1alpha1 false SidecarSet
statefulsets sts,asts apps.kruise.io/v1beta1 true StatefulSet
uniteddeployments ud apps.kruise.io/v1alpha1 true UnitedDeployment
workloadspreads ws apps.kruise.io/v1alpha1 true WorkloadSpread
appgroups apps apps.zego.im/v1alpha3 true AppGroup
tokenreviews authentication.k8s.io/v1 false TokenReview
localsubjectaccessreviews authorization.k8s.io/v1 true LocalSubjectAccessReview
selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview
selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview
subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview
horizontalpodautoscalers hpa autoscaling/v1 true HorizontalPodAutoscaler
advancedhorizontalpodautoscalers ahpa autoscaling.alibabacloud.com/v1beta1 true AdvancedHorizontalPodAutoscaler
advancedhorizontalpodautoscalertemplates ahpatemplate autoscaling.alibabacloud.com/v1beta1 true AdvancedHorizontalPodAutoscalerTemplate
cronjobs cj batch/v1beta1 true CronJob
jobs batch/v1 true Job
apps catalog.cattle.io/v1 true App
clusterrepos catalog.cattle.io/v1 false ClusterRepo
operations catalog.cattle.io/v1 true Operation
certificaterequests cr,crs cert-manager.io/v1 true CertificateRequest
certificates cert,certs cert-manager.io/v1 true Certificate
clusterissuers cert-manager.io/v1 false ClusterIssuer
issuers cert-manager.io/v1 true Issuer
certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest
alicloudchaos chaos-mesh.org/v1alpha1 true AliCloudChaos
awschaos chaos-mesh.org/v1alpha1 true AWSChaos
blockchaos chaos-mesh.org/v1alpha1 true BlockChaos
dnschaos chaos-mesh.org/v1alpha1 true DNSChaos
gcpchaos chaos-mesh.org/v1alpha1 true GCPChaos
httpchaos chaos-mesh.org/v1alpha1 true HTTPChaos
iochaos chaos-mesh.org/v1alpha1 true IOChaos
jvmchaos chaos-mesh.org/v1alpha1 true JVMChaos
kernelchaos chaos-mesh.org/v1alpha1 true KernelChaos
networkchaos chaos-mesh.org/v1alpha1 true NetworkChaos
physicalmachinechaos chaos-mesh.org/v1alpha1 true PhysicalMachineChaos
physicalmachines chaos-mesh.org/v1alpha1 true PhysicalMachine
podchaos chaos-mesh.org/v1alpha1 true PodChaos
podhttpchaos chaos-mesh.org/v1alpha1 true PodHttpChaos
podiochaos chaos-mesh.org/v1alpha1 true PodIOChaos
podnetworkchaos chaos-mesh.org/v1alpha1 true PodNetworkChaos
schedules chaos-mesh.org/v1alpha1 true Schedule
stresschaos chaos-mesh.org/v1alpha1 true StressChaos
timechaos chaos-mesh.org/v1alpha1 true TimeChaos
workflownodes wfn chaos-mesh.org/v1alpha1 true WorkflowNode
workflows wf chaos-mesh.org/v1alpha1 true Workflow
slimeboots config.netease.com/v1alpha1 true SlimeBoot
leases coordination.k8s.io/v1 true Lease
applicationbackups csdr.alibabacloud.com/v1beta1 true ApplicationBackup
applicationrestores csdr.alibabacloud.com/v1beta1 true ApplicationRestore
backuplocations csdr.alibabacloud.com/v1beta1 true BackupLocation
backupschedules csdr.alibabacloud.com/v1beta1 true BackupSchedule
converttosnapshots csdr.alibabacloud.com/v1beta1 true ConvertToSnapshot
deleterequests csdr.alibabacloud.com/v1beta1 true DeleteRequest
units custom.my.crd.com/v1 true Unit
endpointslices discovery.k8s.io/v1beta1 true EndpointSlice
imagecaches imc eci.alibabacloud.com/v1 false ImageCache
elasticwebs elasticweb.com.bolingcavalry/v1 true ElasticWeb
events ev events.k8s.io/v1 true Event
ingresses ing extensions/v1beta1 true Ingress
wasmplugins extensions.istio.io/v1alpha1 true WasmPlugin
ryanzhou0 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou1 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou10 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou100 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou101 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou102 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou103 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou104 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou105 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou106 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou107 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou108 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou109 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou11 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou110 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou111 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou112 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou113 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou114 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou115 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou116 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou117 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou118 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou119 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou12 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou120 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou121 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou122 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou123 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou124 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou125 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou126 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou127 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou128 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou129 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou13 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou130 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou131 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou132 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou133 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou134 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou135 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou136 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou137 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou138 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou139 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou14 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou140 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou141 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou142 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou143 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou144 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou145 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou146 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou147 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou148 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou149 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou15 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou150 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou151 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou152 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou153 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou154 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou155 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou156 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou157 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou158 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou159 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou16 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou160 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou161 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou162 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou163 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou164 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou165 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou166 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou167 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou168 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou169 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou17 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou170 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou171 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou172 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou173 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou174 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou175 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou176 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou177 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou178 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou179 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou18 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou180 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou181 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou182 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou183 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou184 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou185 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou186 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou187 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou188 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou189 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou19 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou190 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou191 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou192 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou193 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou194 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou195 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou196 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou197 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou198 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou199 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou2 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou20 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou21 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou22 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou23 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou24 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou25 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou26 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou27 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou28 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou29 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou3 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou30 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou31 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou32 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou33 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou34 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou35 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou36 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou37 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou38 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou39 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou4 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou40 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou41 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou42 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou43 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou44 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou45 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou46 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou47 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou48 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou49 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou5 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou50 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou51 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou52 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou53 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou54 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou55 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou56 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou57 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou58 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou59 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou6 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou60 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou61 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou62 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou63 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou64 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou65 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou66 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou67 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou68 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou69 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou7 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou70 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou71 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou72 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou73 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou74 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou75 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou76 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou77 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou78 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou79 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou8 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou80 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou81 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou82 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou83 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou84 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou85 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou86 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou87 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou88 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou89 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou9 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou90 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou91 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou92 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou93 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou94 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou95 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou96 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou97 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou98 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
ryanzhou99 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList
flowschemas flowcontrol.apiserver.k8s.io/v1beta1 false FlowSchema
prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta1 false PriorityLevelConfiguration
istiooperators iop,io install.istio.io/v1alpha1 true IstioOperator
clustertriggerauthentications cta,clustertriggerauth keda.sh/v1alpha1 false ClusterTriggerAuthentication
scaledjobs sj keda.sh/v1alpha1 true ScaledJob
scaledobjects so keda.sh/v1alpha1 true ScaledObject
triggerauthentications ta,triggerauth keda.sh/v1alpha1 true TriggerAuthentication
apiservices management.cattle.io/v3 false APIService
authconfigs management.cattle.io/v3 false AuthConfig
clusterregistrationtokens management.cattle.io/v3 true ClusterRegistrationToken
clusters management.cattle.io/v3 false Cluster
features management.cattle.io/v3 false Feature
groupmembers management.cattle.io/v3 false GroupMember
groups management.cattle.io/v3 false Group
preferences management.cattle.io/v3 true Preference
settings management.cattle.io/v3 false Setting
tokens management.cattle.io/v3 false Token
userattributes management.cattle.io/v3 false UserAttribute
users management.cattle.io/v3 false User
metrics metrics.alibabacloud.com/v1alpha1 false Metrics
predictions metrics.alibabacloud.com/v1beta1 true Predictions
predictionsobserver metrics.alibabacloud.com/v1beta1 true PredictionsObserver
nodes metrics.k8s.io/v1beta1 false NodeMetrics
pods metrics.k8s.io/v1beta1 true PodMetrics
envoyplugins evp microservice.slime.io/v1alpha1 true EnvoyPlugin
pluginmanagers plm microservice.slime.io/v1alpha1 true PluginManager
servicefences svf microservice.slime.io/v1alpha1 true ServiceFence
smartlimiters microservice.slime.io/v1alpha2 true SmartLimiter
alertmanagerconfigs monitoring.coreos.com/v1alpha1 true AlertmanagerConfig
alertmanagers monitoring.coreos.com/v1 true Alertmanager
podmonitors monitoring.coreos.com/v1 true PodMonitor
probes monitoring.coreos.com/v1 true Probe
prometheuses monitoring.coreos.com/v1 true Prometheus
prometheusrules monitoring.coreos.com/v1 true PrometheusRule
servicemonitors monitoring.coreos.com/v1 true ServiceMonitor
thanosrulers monitoring.coreos.com/v1 true ThanosRuler
destinationrules dr networking.istio.io/v1beta1 true DestinationRule
envoyfilters networking.istio.io/v1alpha3 true EnvoyFilter
gateways gw networking.istio.io/v1beta1 true Gateway
serviceentries se networking.istio.io/v1beta1 true ServiceEntry
sidecars networking.istio.io/v1beta1 true Sidecar
virtualservices vs networking.istio.io/v1beta1 true VirtualService
workloadentries we networking.istio.io/v1beta1 true WorkloadEntry
workloadgroups wg networking.istio.io/v1alpha3 true WorkloadGroup
ingressclasses networking.k8s.io/v1 false IngressClass
ingresses ing networking.k8s.io/v1 true Ingress
networkpolicies netpol networking.k8s.io/v1 true NetworkPolicy
runtimeclasses node.k8s.io/v1 false RuntimeClass
nodemetrics nodes.alibabacloud.com/v1beta1 false NodeMetric
blockdeviceclaims bdc openebs.io/v1alpha1 true BlockDeviceClaim
blockdevices bd openebs.io/v1alpha1 true BlockDevice
poddisruptionbudgets pdb policy/v1beta1 true PodDisruptionBudget
podsecuritypolicies psp policy/v1beta1 false PodSecurityPolicy
podunavailablebudgets pub policy.kruise.io/v1alpha1 true PodUnavailableBudget
clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding
clusterroles rbac.authorization.k8s.io/v1 false ClusterRole
rolebindings rbac.authorization.k8s.io/v1 true RoleBinding
roles rbac.authorization.k8s.io/v1 true Role
resourcepolicies scheduling.alibabacloud.com/v1alpha1 true ResourcePolicy
priorityclasses pc scheduling.k8s.io/v1 false PriorityClass
elasticquotatrees eqtree,eqtrees scheduling.sigs.k8s.io/v1beta1 true ElasticQuotaTree
authorizationpolicies security.istio.io/v1beta1 true AuthorizationPolicy
peerauthentications pa security.istio.io/v1beta1 true PeerAuthentication
requestauthentications ra security.istio.io/v1beta1 true RequestAuthentication
volumesnapshotclasses snapshot.storage.k8s.io/v1 false VolumeSnapshotClass
volumesnapshotcontents snapshot.storage.k8s.io/v1 false VolumeSnapshotContent
volumesnapshots snapshot.storage.k8s.io/v1 true VolumeSnapshot
containernetworkfilesystems cnfs storage.alibabacloud.com/v1beta1 false ContainerNetworkFileSystem
rules storage.alibabacloud.com/v1alpha1 false Rule
storageautoscalerpolicies sasp storage.alibabacloud.com/v1alpha1 false StorageAutoScalerPolicy
csidrivers storage.k8s.io/v1 false CSIDriver
csinodes storage.k8s.io/v1 false CSINode
storageclasses sc storage.k8s.io/v1 false StorageClass
volumeattachments storage.k8s.io/v1 false VolumeAttachment
telemetries telemetry telemetry.istio.io/v1alpha1 true Telemetry
navlinks ui.cattle.io/v1 false NavLink
backups velero.io/v1 true Backup
backupstoragelocations bsl velero.io/v1 true BackupStorageLocation
deletebackuprequests velero.io/v1 true DeleteBackupRequest
downloadrequests velero.io/v1 true DownloadRequest
podvolumebackups velero.io/v1 true PodVolumeBackup
podvolumerestores velero.io/v1 true PodVolumeRestore
resticrepositories velero.io/v1 true ResticRepository
restores velero.io/v1 true Restore
schedules velero.io/v1 true Schedule
serverstatusrequests ssr velero.io/v1 true ServerStatusRequest
volumesnapshotlocations velero.io/v1 true VolumeSnapshotLocation
filterdeployments wasme.io/v1 true FilterDeployment
guestbooks webapp.zander.com/v1 true Guestbook
globallimiters zegocrd.globallimiter.zego.im/v1 true GlobalLimiter
@zroubalik, @JorTurFer I think we shoud return like this below. when execute "kubectl api-resources", it return "configmaps" for example,not return every configmap object name.
// ListAllExternalMetrics returns the supported external metrics for this provider func (p *KedaProvider) ListAllExternalMetrics() []provider.ExternalMetricInfo { logger.V(1).Info("KEDA Metrics Server received request for list of all provided external metrics names") var externalMetricsInfo []provider.ExternalMetricInfo externalMetricsInfo = append(externalMetricsInfo, provider.ExternalMetricInfo{Metric: "scaleobject"}) return externalMetricsInfo }
We can reference to .
It return "configmaps" for example,not return every configmap object name.But "external.metrics.k8s.io/v1beta1" return every object now.
zegodeMacBook-Pro-38 .kube % kubectl api-resources NAME SHORTNAMES APIVERSION NAMESPACED KIND bindings v1 true Binding componentstatuses cs v1 false ComponentStatus configmaps cm v1 true ConfigMap endpoints ep v1 true Endpoints events ev v1 true Event limitranges limits v1 true LimitRange namespaces ns v1 false Namespace nodes no v1 false Node persistentvolumeclaims pvc v1 true PersistentVolumeClaim persistentvolumes pv v1 false PersistentVolume pods po v1 true Pod podtemplates v1 true PodTemplate replicationcontrollers rc v1 true ReplicationController resourcequotas quota v1 true ResourceQuota secrets v1 true Secret serviceaccounts sa v1 true ServiceAccount services svc v1 true Service challenges acme.cert-manager.io/v1 true Challenge orders acme.cert-manager.io/v1 true Order mutatingwebhookconfigurations admissionregistration.k8s.io/v1 false MutatingWebhookConfiguration validatingwebhookconfigurations admissionregistration.k8s.io/v1 false ValidatingWebhookConfiguration ackalertrules alertrule alert.alibabacloud.com/v1beta1 true AckAlertRule customresourcedefinitions crd,crds apiextensions.k8s.io/v1 false CustomResourceDefinition apiservices apiregistration.k8s.io/v1 false APIService controllerrevisions apps/v1 true ControllerRevision daemonsets ds apps/v1 true DaemonSet deployments deploy apps/v1 true Deployment replicasets rs apps/v1 true ReplicaSet statefulsets sts apps/v1 true StatefulSet advancedcronjobs acj apps.kruise.io/v1alpha1 true AdvancedCronJob broadcastjobs bcj apps.kruise.io/v1alpha1 true BroadcastJob clonesets clone apps.kruise.io/v1alpha1 true CloneSet containerrecreaterequests crr apps.kruise.io/v1alpha1 true ContainerRecreateRequest daemonsets daemon,ads apps.kruise.io/v1alpha1 true DaemonSet imagepulljobs apps.kruise.io/v1alpha1 true ImagePullJob nodeimages apps.kruise.io/v1alpha1 false NodeImage persistentpodstates apps.kruise.io/v1alpha1 true PersistentPodState resourcedistributions distributor apps.kruise.io/v1alpha1 false ResourceDistribution sidecarsets apps.kruise.io/v1alpha1 false SidecarSet statefulsets sts,asts apps.kruise.io/v1beta1 true StatefulSet uniteddeployments ud apps.kruise.io/v1alpha1 true UnitedDeployment workloadspreads ws apps.kruise.io/v1alpha1 true WorkloadSpread appgroups apps apps.zego.im/v1alpha3 true AppGroup tokenreviews authentication.k8s.io/v1 false TokenReview localsubjectaccessreviews authorization.k8s.io/v1 true LocalSubjectAccessReview selfsubjectaccessreviews authorization.k8s.io/v1 false SelfSubjectAccessReview selfsubjectrulesreviews authorization.k8s.io/v1 false SelfSubjectRulesReview subjectaccessreviews authorization.k8s.io/v1 false SubjectAccessReview horizontalpodautoscalers hpa autoscaling/v1 true HorizontalPodAutoscaler advancedhorizontalpodautoscalers ahpa autoscaling.alibabacloud.com/v1beta1 true AdvancedHorizontalPodAutoscaler advancedhorizontalpodautoscalertemplates ahpatemplate autoscaling.alibabacloud.com/v1beta1 true AdvancedHorizontalPodAutoscalerTemplate cronjobs cj batch/v1beta1 true CronJob jobs batch/v1 true Job apps catalog.cattle.io/v1 true App clusterrepos catalog.cattle.io/v1 false ClusterRepo operations catalog.cattle.io/v1 true Operation certificaterequests cr,crs cert-manager.io/v1 true CertificateRequest certificates cert,certs cert-manager.io/v1 true Certificate clusterissuers cert-manager.io/v1 false ClusterIssuer issuers cert-manager.io/v1 true Issuer certificatesigningrequests csr certificates.k8s.io/v1 false CertificateSigningRequest alicloudchaos chaos-mesh.org/v1alpha1 true AliCloudChaos awschaos chaos-mesh.org/v1alpha1 true AWSChaos blockchaos chaos-mesh.org/v1alpha1 true BlockChaos dnschaos chaos-mesh.org/v1alpha1 true DNSChaos gcpchaos chaos-mesh.org/v1alpha1 true GCPChaos httpchaos chaos-mesh.org/v1alpha1 true HTTPChaos iochaos chaos-mesh.org/v1alpha1 true IOChaos jvmchaos chaos-mesh.org/v1alpha1 true JVMChaos kernelchaos chaos-mesh.org/v1alpha1 true KernelChaos networkchaos chaos-mesh.org/v1alpha1 true NetworkChaos physicalmachinechaos chaos-mesh.org/v1alpha1 true PhysicalMachineChaos physicalmachines chaos-mesh.org/v1alpha1 true PhysicalMachine podchaos chaos-mesh.org/v1alpha1 true PodChaos podhttpchaos chaos-mesh.org/v1alpha1 true PodHttpChaos podiochaos chaos-mesh.org/v1alpha1 true PodIOChaos podnetworkchaos chaos-mesh.org/v1alpha1 true PodNetworkChaos schedules chaos-mesh.org/v1alpha1 true Schedule stresschaos chaos-mesh.org/v1alpha1 true StressChaos timechaos chaos-mesh.org/v1alpha1 true TimeChaos workflownodes wfn chaos-mesh.org/v1alpha1 true WorkflowNode workflows wf chaos-mesh.org/v1alpha1 true Workflow slimeboots config.netease.com/v1alpha1 true SlimeBoot leases coordination.k8s.io/v1 true Lease applicationbackups csdr.alibabacloud.com/v1beta1 true ApplicationBackup applicationrestores csdr.alibabacloud.com/v1beta1 true ApplicationRestore backuplocations csdr.alibabacloud.com/v1beta1 true BackupLocation backupschedules csdr.alibabacloud.com/v1beta1 true BackupSchedule converttosnapshots csdr.alibabacloud.com/v1beta1 true ConvertToSnapshot deleterequests csdr.alibabacloud.com/v1beta1 true DeleteRequest units custom.my.crd.com/v1 true Unit endpointslices discovery.k8s.io/v1beta1 true EndpointSlice imagecaches imc eci.alibabacloud.com/v1 false ImageCache elasticwebs elasticweb.com.bolingcavalry/v1 true ElasticWeb events ev events.k8s.io/v1 true Event ingresses ing extensions/v1beta1 true Ingress wasmplugins extensions.istio.io/v1alpha1 true WasmPlugin ryanzhou0 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou1 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou10 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou100 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou101 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou102 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou103 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou104 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou105 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou106 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou107 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou108 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou109 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou11 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou110 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou111 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou112 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou113 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou114 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou115 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou116 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou117 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou118 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou119 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou12 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou120 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou121 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou122 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou123 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou124 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou125 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou126 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou127 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou128 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou129 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou13 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou130 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou131 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou132 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou133 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou134 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou135 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou136 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou137 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou138 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou139 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou14 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou140 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou141 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou142 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou143 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou144 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou145 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou146 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou147 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou148 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou149 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou15 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou150 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou151 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou152 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou153 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou154 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou155 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou156 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou157 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou158 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou159 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou16 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou160 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou161 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou162 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou163 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou164 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou165 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou166 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou167 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou168 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou169 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou17 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou170 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou171 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou172 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou173 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou174 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou175 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou176 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou177 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou178 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou179 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou18 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou180 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou181 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou182 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou183 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou184 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou185 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou186 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou187 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou188 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou189 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou19 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou190 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou191 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou192 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou193 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou194 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou195 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou196 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou197 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou198 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou199 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou2 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou20 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou21 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou22 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou23 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou24 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou25 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou26 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou27 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou28 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou29 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou3 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou30 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou31 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou32 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou33 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou34 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou35 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou36 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou37 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou38 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou39 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou4 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou40 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou41 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou42 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou43 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou44 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou45 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou46 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou47 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou48 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou49 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou5 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou50 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou51 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou52 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou53 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou54 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou55 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou56 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou57 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou58 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou59 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou6 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou60 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou61 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou62 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou63 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou64 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou65 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou66 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou67 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou68 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou69 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou7 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou70 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou71 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou72 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou73 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou74 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou75 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou76 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou77 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou78 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou79 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou8 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou80 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou81 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou82 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou83 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou84 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou85 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou86 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou87 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou88 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou89 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou9 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou90 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou91 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou92 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou93 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou94 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou95 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou96 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou97 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou98 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList ryanzhou99 external.metrics.k8s.io/v1beta1 true ExternalMetricValueList flowschemas flowcontrol.apiserver.k8s.io/v1beta1 false FlowSchema prioritylevelconfigurations flowcontrol.apiserver.k8s.io/v1beta1 false PriorityLevelConfiguration istiooperators iop,io install.istio.io/v1alpha1 true IstioOperator clustertriggerauthentications cta,clustertriggerauth keda.sh/v1alpha1 false ClusterTriggerAuthentication scaledjobs sj keda.sh/v1alpha1 true ScaledJob scaledobjects so keda.sh/v1alpha1 true ScaledObject triggerauthentications ta,triggerauth keda.sh/v1alpha1 true TriggerAuthentication apiservices management.cattle.io/v3 false APIService authconfigs management.cattle.io/v3 false AuthConfig clusterregistrationtokens management.cattle.io/v3 true ClusterRegistrationToken clusters management.cattle.io/v3 false Cluster features management.cattle.io/v3 false Feature groupmembers management.cattle.io/v3 false GroupMember groups management.cattle.io/v3 false Group preferences management.cattle.io/v3 true Preference settings management.cattle.io/v3 false Setting tokens management.cattle.io/v3 false Token userattributes management.cattle.io/v3 false UserAttribute users management.cattle.io/v3 false User metrics metrics.alibabacloud.com/v1alpha1 false Metrics predictions metrics.alibabacloud.com/v1beta1 true Predictions predictionsobserver metrics.alibabacloud.com/v1beta1 true PredictionsObserver nodes metrics.k8s.io/v1beta1 false NodeMetrics pods metrics.k8s.io/v1beta1 true PodMetrics envoyplugins evp microservice.slime.io/v1alpha1 true EnvoyPlugin pluginmanagers plm microservice.slime.io/v1alpha1 true PluginManager servicefences svf microservice.slime.io/v1alpha1 true ServiceFence smartlimiters microservice.slime.io/v1alpha2 true SmartLimiter alertmanagerconfigs monitoring.coreos.com/v1alpha1 true AlertmanagerConfig alertmanagers monitoring.coreos.com/v1 true Alertmanager podmonitors monitoring.coreos.com/v1 true PodMonitor probes monitoring.coreos.com/v1 true Probe prometheuses monitoring.coreos.com/v1 true Prometheus prometheusrules monitoring.coreos.com/v1 true PrometheusRule servicemonitors monitoring.coreos.com/v1 true ServiceMonitor thanosrulers monitoring.coreos.com/v1 true ThanosRuler destinationrules dr networking.istio.io/v1beta1 true DestinationRule envoyfilters networking.istio.io/v1alpha3 true EnvoyFilter gateways gw networking.istio.io/v1beta1 true Gateway serviceentries se networking.istio.io/v1beta1 true ServiceEntry sidecars networking.istio.io/v1beta1 true Sidecar virtualservices vs networking.istio.io/v1beta1 true VirtualService workloadentries we networking.istio.io/v1beta1 true WorkloadEntry workloadgroups wg networking.istio.io/v1alpha3 true WorkloadGroup ingressclasses networking.k8s.io/v1 false IngressClass ingresses ing networking.k8s.io/v1 true Ingress networkpolicies netpol networking.k8s.io/v1 true NetworkPolicy runtimeclasses node.k8s.io/v1 false RuntimeClass nodemetrics nodes.alibabacloud.com/v1beta1 false NodeMetric blockdeviceclaims bdc openebs.io/v1alpha1 true BlockDeviceClaim blockdevices bd openebs.io/v1alpha1 true BlockDevice poddisruptionbudgets pdb policy/v1beta1 true PodDisruptionBudget podsecuritypolicies psp policy/v1beta1 false PodSecurityPolicy podunavailablebudgets pub policy.kruise.io/v1alpha1 true PodUnavailableBudget clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding clusterroles rbac.authorization.k8s.io/v1 false ClusterRole rolebindings rbac.authorization.k8s.io/v1 true RoleBinding roles rbac.authorization.k8s.io/v1 true Role resourcepolicies scheduling.alibabacloud.com/v1alpha1 true ResourcePolicy priorityclasses pc scheduling.k8s.io/v1 false PriorityClass elasticquotatrees eqtree,eqtrees scheduling.sigs.k8s.io/v1beta1 true ElasticQuotaTree authorizationpolicies security.istio.io/v1beta1 true AuthorizationPolicy peerauthentications pa security.istio.io/v1beta1 true PeerAuthentication requestauthentications ra security.istio.io/v1beta1 true RequestAuthentication volumesnapshotclasses snapshot.storage.k8s.io/v1 false VolumeSnapshotClass volumesnapshotcontents snapshot.storage.k8s.io/v1 false VolumeSnapshotContent volumesnapshots snapshot.storage.k8s.io/v1 true VolumeSnapshot containernetworkfilesystems cnfs storage.alibabacloud.com/v1beta1 false ContainerNetworkFileSystem rules storage.alibabacloud.com/v1alpha1 false Rule storageautoscalerpolicies sasp storage.alibabacloud.com/v1alpha1 false StorageAutoScalerPolicy csidrivers storage.k8s.io/v1 false CSIDriver csinodes storage.k8s.io/v1 false CSINode storageclasses sc storage.k8s.io/v1 false StorageClass volumeattachments storage.k8s.io/v1 false VolumeAttachment telemetries telemetry telemetry.istio.io/v1alpha1 true Telemetry navlinks ui.cattle.io/v1 false NavLink backups velero.io/v1 true Backup backupstoragelocations bsl velero.io/v1 true BackupStorageLocation deletebackuprequests velero.io/v1 true DeleteBackupRequest downloadrequests velero.io/v1 true DownloadRequest podvolumebackups velero.io/v1 true PodVolumeBackup podvolumerestores velero.io/v1 true PodVolumeRestore resticrepositories velero.io/v1 true ResticRepository restores velero.io/v1 true Restore schedules velero.io/v1 true Schedule serverstatusrequests ssr velero.io/v1 true ServerStatusRequest volumesnapshotlocations velero.io/v1 true VolumeSnapshotLocation filterdeployments wasme.io/v1 true FilterDeployment guestbooks webapp.zander.com/v1 true Guestbook globallimiters zegocrd.globallimiter.zego.im/v1 true GlobalLimiter
This is interesting @penghuazhou , you are right and we are exposing all the metrics there, let me go depeer in this
@penghuazhou could you please open a PR with a proposed solution from your case? We can try to test from your solution from that branch.
@zroubalik I have commit a PR: https://github.com/kedacore/keda/pull/3825.
I can confirm we are also using Keda, 2.7.1, and have this exact same issue as well on ALL of our 190+ EKS clusters ranging from 1.21 to 1.23.
I close this as the upstream has solved the issue.
Report
The Keda 2 external.metrics api returns an empty resources list, if no scalers using external.metrics are defined. The Go kubernetes client will error on an empty resource list https://github.com/kubernetes/client-go/blob/release-11.0/discovery/cached/memory/memcache.go#L215 .
In our specific case Flux CD is using the Go client and logs the following error if we have no ScaledObjects or ScaledJobs defined using external metrics:
We defined a dummy Prometheus scaledObject and the error log went away.
Confirmed an available apiservice
Then confirmed the empty resource list
Once dummy Prometheus scaled object was created, resource list was non empty
Expected Behavior
apiservice should not return an empty resource list for external.metrics as this will cause the K8s Go client to error.
Actual Behavior
Until a ScaledObject or ScaledJob is defined using external.metric the apiservice returns an empty resources list
Steps to Reproduce the Problem
Logs from KEDA operator
No response
KEDA Version
No response
Kubernetes Version
No response
Platform
No response
Scaler Details
No response
Anything else?
I originally asked about this in https://github.com/kedacore/keda/discussions/1698, and asked to file an issue. Finally circling back to file an actual issue.