在 Docker 桌面中为 Mac 指定 Kubernetes 版本

Specifying the Kubernetes version in Docker Desktop for Mac

看起来 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 中不可用,但它看起来像。让开发版本和生产版本匹配对我来说很有意义。

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

如果那做不到,那我想我只能选择 2.


到目前为止所尝试的只是遵循 kubectl documentation:

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.:使用 minikubemikrok8sk3d

看起来降级更改 kubectl 版本的唯一方法是将 Docker 桌面降级为 Mac。

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

选项似乎只是:

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

我最终只是东 1. 而不是向我们的开发环境添加另一个工具,但 2. 感觉是一个更好的选择。