在 Docker Desktop for Mac 中指定 Kubernetes 版本

soc*_*pet 4 docker kubernetes docker-desktop

看起来 Docker Desktop for Mac 正在使用 1.22+ 版本的 Kubernetes,它专门针对ingress-nginx控制器引入了许多重大更改apiVersion。这给我们当地的开发集群带来了问题。

有几个选项:

  1. 将 Kubernetes 版本回滚到<1.22开发集群中的某个版本。
  2. 更新ingress-nginx和开发配置使用>=1.22

我正在尝试采用路线1.并降级版本以匹配我们的生产集群:v1.20.7主要是因为 1.22+ 在 Azure 中不可用,但它看起来像。对我来说,让开发版本和生产版本匹配是有意义的。

这就是我的问题:如何更改使用的 Kuberentes 版本docker-desktop

如果那做不到,那么我想我只能去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"}
Run Code Online (Sandbox Code Playgroud)

怀疑它是否会起作用,但事实证明它不起作用。


编辑:

选项3.:使用诸如minikubemicrok8sk3d等之类的内容。

看起来降级更改kubectl版本的唯一方法是降级 Docker Desktop for Mac。

soc*_*pet 7

据我所知,没有办法做到这一点。(如果我错了,请纠正我)。

这些选项似乎只是:

  1. 将适用于 Mac 的 Docker Desktop 降级到具有所需 Kubernetes 版本的版本。可以在这里找到以前的版本:https ://docs.docker.com/desktop/mac/release-notes/
  2. minikube使用、mikrok8s、等内容k3d可以让您更好地控制所使用的 Kubernetes 版本。

我最终没有1.在我们的开发环境中添加另一个工具,但2.感觉这是一个更好的选择。