Kubernetes Kubectl GKE持续容量目标
各位,运行以下kubectl命令时:Kubernetes Kubectl GKE持续容量目标,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,各位,运行以下kubectl命令时: kind: PersistentVolumeClaim apiVersion: v1 metadata: name: openvpn-data-claim namespace: openvpn spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi kubectl版本 Client Version: version.Info{Maj
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: openvpn-data-claim
namespace: openvpn
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
kubectl版本
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", 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"}
使用asdf升级本地kubectl可轻松修复
asdf install kubectl 1.15.9
- 此答案是对@Cmag答案的补充,并且 我的目的是提供更多关于这个问题的见解,以帮助社区
kubectl
在kube-apiserver的一个次要版本(旧版或更新版)中受支持
如果kube apiserver位于1.15:kubectl
在1.16、1.15和1.14上受支持
注意:如果HA集群中kube apiserver实例之间存在版本偏差,例如kube apiserver
实例位于1.15和1.14,kubectl
将仅支持1.15和1.14,因为任何其他版本都会有多个次要版本发生倾斜
- kubernetes的每次更新都会添加、更改、移动、弃用或删除许多组件。这是你的电话号码
即使运行更新得多的客户端版本也会给您带来一些问题
- 在K8s 1.10中,kubectl运行的默认行为是创建部署:
- 从1.12开始,
kubectl运行
适用于除吊舱以外的所有发电机,以下是kubectl 1.16的示例:
- 除了警告之外,它仍按预期工作,但在K8s 1.18客户端中:
它忽略了标志,只创建了一个吊舱。正如我们在测试中看到的那样,kubernetes 1.15支持该标志,但kubectl 1.18有重大更改,不允许运行它
- 这是一个简单的例子来说明在Kubernetes上遵循倾斜策略的重要性,它可以在将来节省大量的故障排除时间李>
好东西,谢谢!。另一个原因是为什么要使用asdf版本管理的kubectl,这样您就可以有多个现成的k8s集群来管理不同的k8s集群。
asdf install kubectl 1.15.9
❯ ./kubectl-110 run ubuntu --image=ubuntu
deployment.apps "ubuntu" created
❯ ./kubectl-116 run ubuntu --image=ubuntu --dry-run
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/ubuntu created (dry run)
❯ ./kubectl-118 version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:56:40Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/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"}
$ kubectl run --generator=deployment/apps.v1 ubuntu --image=ubuntu --dry-run=client
Flag --generator has been deprecated, has no effect and will be removed in the future.
pod/ubuntu created (dry run)