如何在群集升级之前正确更新清单的apiVersion? 我做错了什么?

问题描述

所以我确实更新了清单,并将 apiVersion:extensions / v1beta1 替换为 apiVersion:apps / v1

apiVersion: apps/v1
kind: Deployment
metadata:
  name: secretmanager
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app: secretmanager
  template:
    metadata:
      labels:
        app: secretmanager
    spec:
    ...

然后我应用了更改

k apply -f deployment.yaml

Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
deployment.apps/secretmanager configured

我也尝试过

k replace --force -f deployment.yaml

那重新创建了POD(停机时间:(),但是如果您尝试输出部署的yaml配置,我仍然看到旧值

k get deployments -n kube-system secretmanager -o yaml 

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"secretmanager","namespace":"kube-system"}....}
  creationTimestamp: "2020-08-21T21:43:21Z"
  generation: 2
  name: secretmanager
  namespace: kube-system
  resourceVersion: "99352965"
  selfLink: /apis/extensions/v1beta1/namespaces/kube-system/deployments/secretmanager
  uid: 3d49aeb5-08a0-47c8-aac8-78da98d4c342
spec:

所以我仍然看到这个 apiVersion:extensions / v1beta1

我做错了什么?

我正在准备将eks kubernetes v1.15迁移到v1.16

解决方法

Deployment exists in multiple apiGroups,因此模棱两可。尝试指定例如apps/v1和:

kubectl get deployments.v1.apps

,您应该看到Deployment,但带有apps/v1 apiGroup。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...