api - 弃用的 k8s API

标签 api kubernetes upgrade deprecated kube-apiserver

使用不同的工具(例如 kubent)我发现我的集群中有弃用的 API。例如

Type: Ingress Name: kibana  API: networking.k8s.io/v1beta1

但是当我打开 Ingress 本身时,我可以看到:

apiVersion: networking.k8s.io/v1
kind: Ingress
  managedFields:
    - manager: Go-http-client
      operation: Update
      apiVersion: networking.k8s.io/v1beta1

所以,它表明我的 Ingress API 实际上是“v1”,而不是“beta”。但是“managedFields”部分确实有“v1beta1”API。据官方documentation ,这是服务器端 API,用户不应编辑。

所以,我的问题是 - 我应该/可以在这个“托管字段”中使用已弃用的 API 做任何事情吗?升级到下一个k8s版本会有什么问题吗?因为目前我的GCP控制台显示会有问题。

最佳答案

将 Kubernetes 集群升级到最新版本时不会有任何问题,即使您在入口配置的 managed 字段 中弃用了 API 版本。您仍然在 UI 中看到版本 “/v1beta1” 的原因是因为 GKE 的不同部分依赖于这两个版本(v1 和 v1beta1)。

在两个 Kubernetes 版本 1.19 和 1.21 之间,都支持端点 networking.k8s.io/v1extensions/v1beta1。它们在功能上是相同的,这取决于给定 UI 对显示哪个版本的偏好。所以它不会影响你 Ingress 的功能。如前所述,GKE 集群是在 versions 1.22 上创建的后来停止支持 extensions/v1beta1 和 networking.k8s.io/v1beta1 Ingress。

关于api - 弃用的 k8s API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72710741/

相关文章:

django - 在版本控制中使用应用程序代码存储 Django 的好处

php - 私有(private) REST API

java - Kafka Java 消费者仅适用于本地主机,无法用于远程服务器

python - 如何在 FastAPI 应用程序中发送操作进度?

python - 我可以获得 python 的完整简单 DialogFlow 示例(当前版本 v2)吗?

mapping - ElasticSearch:多字段 “upgrade”产生错误:

kubernetes - 如何保护 kubernetes secret ?

java - 使用 Docker 和 Kubernetes 进行日志记录。分割的日志超过 16k

自己机架上的 Kubernetes 持久卷

compilation - 1.1.1编译依赖,1.1.2编译go程序怎么办?