看起来Docker Desktop for Mac使用的是1.22以上版本的Kubernetes,它引入了一些突破性的更改,专门针对ingress-nginx
控制器apiVersion
。这给我们当地的发展集群带来了问题。
有两个选项:
- 在开发集群中将Kubernetes版本回滚到
<1.22
- 更新
ingress-nginx
和开发配置以使用>=1.22
我正在尝试使用路由1.
,并将版本降级以匹配我们的生产集群:v1.20.7
,主要是因为1.22+在Azure中还不可用。让开发版本和生产版本相匹配对我来说是有意义的。
这就是我的问题:如何更改docker desktop使用的Kuberentes版本
如果不能做到这一点,那么我想我只能使用2.
到目前为止所尝试的只是遵循kubectl
文档:
curl -LO "https://dl.k8s.io/release/v1.20.7/bin/darwin/arm64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version --client
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.0", GitCommit:"ab69524f795c42094a6630298ff53f3c3ebab7f4", GitTreeState:"clean", BuildDate:"2021-12-07T18:08:39Z", GoVersion:"go1.17.3", Compiler:"gc", Platform:"darwin/arm64"}
怀疑它会起作用,但肯定不会。
编辑:
选项3.:使用minikube
、mikrok8s
、k3d
等。
看起来降级kubectl
版本的唯一方法是降级Docker Desktop for Mac。
据我所知,没有办法做到这一点。(如果我错了,请纠正我(。
选项似乎只是:
- 将Docker Desktop for Mac降级到具有您想要的Kubernetes版本的版本。可以在此处找到以前的版本:https://docs.docker.com/desktop/mac/release-notes/
- 使用
minikube
、mikrok8s
、k3d
等,可以更好地控制正在使用的Kubernetes版本
我最终只使用了1.
,而不是在我们的开发环境中添加另一个工具,但2.
感觉是一个更好的选择。