GKE 调用了已弃用的 API

问题描述 投票:0回答:1

我的 GKE 集群收到来自 Google Console 的警告消息

集群中的 API 客户端最近尝试调用在 v1.25 中删除且在集群上不再可用的 API。

已弃用的 API 调用

API 用户代理 Total_calls(过去 30 天)最后调用 /apis/batch/v1beta1/cronjobs v2.2.0 31145 2023 年 9 月 22 日上午 5:30:00 UTC+5:30

但我没有在任何地方使用 v1beta1,我使用的是 batch/v1

检查:k get cronjobs -A -o=jsonpath='{range .items[*]}{.metadata.namespace}/{.metadata.name} : {.apiVersion}{" “}{结束}”

所有 cronjobs api 版本似乎都没有被废弃,但警告仍然继续。

我尝试检查资源版本,但找不到 GKE 调用的任何内容 /apis/batch/v1beta1/cronjobs

-->kubectl get --raw /apis/batch/v1beta1/cronjobs |杰克 来自服务器的错误(NotFound):服务器找不到请求的资源

kubernetes cron google-kubernetes-engine
1个回答
0
投票

我能够解决这个问题,在我的例子中,我在集群中使用 kube prometheus 堆栈图,并且所有 api 调用都来自

kube-state-metrics
子图。

如何发现问题?:在 GCP 中启用 GKE 的审核日志。在日志中我发现呼叫来自

kube-state-mertrics
pod

的 IP

我尝试的解决方案删除了在 kube prometheus 堆栈中造成问题的资源

values.yaml
kube-state-metrics
部分添加收集器:通过删除已弃用的 API 调用资源来添加收集器:部分(您可以在 kube 状态指标图表中找到它)

例如:

kube-state-metrics:
  namespaceOverride: ""
  rbac:
    create: true
  podSecurityPolicy:
    enabled: true
  # podDisruptionBudget:
  #   enable: false
  collectors:
  - certificatesigningrequests
  - configmaps
  - daemonsets
  - deployments
  - endpoints
  - ingresses
  - jobs
  - leases
  - limitranges
  - mutatingwebhookconfigurations
  - namespaces
  - networkpolicies
  - nodes
  - persistentvolumeclaims
  - persistentvolumes
  - pods
  - replicasets
  - replicationcontrollers
  - resourcequotas
  - secrets
  - services
  - statefulsets
  - storageclasses
  - validatingwebhookconfigurations
  - volumeattachments

(pdb、psp 和 cronjob 已在此处列出)

© www.soinside.com 2019 - 2024. All rights reserved.