我目前有一个1.15集群,我计划升级到1.16。由于1.16不支持某些API,所以我必须将我的部署从扩展/v1beta 1更改为app/v1。
使用这个简单的deployment.yml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80当我将它应用到我的1.15集群:kubectl -n mynamespace deployment.yml中时,实际看到的是以下内容(kubectl -n mynamespace get deployments nginx-deployment):
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
kubectl.kubernetes.io/last-applied-configuration: |
...如您所见,实际的apiVersion是扩展/v1beta 1,而不是app/v1。为什么不应用我指定的版本呢?
更新:
这是我的kubectl版本:
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4", GitCommit:"8d8aa39598534325ad77120c120a22b3a990b5ea", GitTreeState:"clean", BuildDate:"2020-03-12T23:41:24Z", GoVersion:"go1.14", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15+", GitVersion:"v1.15.9-gke.24", GitCommit:"39e41a8d6b7221b901a95d3af358dea6994b4a40", GitTreeState:"clean", BuildDate:"2020-02-29T01:24:35Z", GoVersion:"go1.12.12b4", Compiler:"gc", Platform:"linux/amd64"}发布于 2020-04-04 21:20:26
从apiVersion返回的kubectl get不一定与当前配置的实际apiVersion匹配。
见此处:https://github.com/kubernetes/kubernetes/issues/62283#issuecomment-380968868
引用:
kubectl get使用服务器首选顺序,这将更倾向于extensionsAPI组以实现向后兼容性,直到extensions被移除。也就是说,默认情况下,kubectl get deployment使用扩展离子/v1beta 1端点。 要获得appsAPI组下的部署,可以使用kubectl get deployment.apps,这将返回apps/v1部署。
发布于 2020-03-26 16:17:09
幸运的是,库贝克尔,CLI瑞士刀有一个工具来帮助这一转换。如果您有任何抛出此错误的旧清单,请将kubectl convert添加到管道中,它应该与Kubernetes 1.16一起正常工作。
请看这里:update版本-更新。
kubectl convert命令将API版本更改为与k8s 1.16兼容。您只需要确保使用最近版本的kubectl来将convert选项内置到其中。
发布于 2022-09-15 09:58:13
只需这样做:
通过以下链接安装kubetcl转换:
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
下面的命令将将您的deployment.yaml转换为apps/v1,并将其写入一个新文件deploy.yaml
kubectl convert -f deployment.yaml --local -o yaml > deploy.yamlhttps://stackoverflow.com/questions/60754598
复制相似问题