我可以在 Docker 中为 Mac 使用 Kubernetes API 的不安全端点吗?

Can I use an insecure endpoint for Kubernetes API in Docker for Mac?

当我在 Docker 中为 Mac 运行 Kubernetes 时,Kube API 似乎只能从 https://localhost:6443/[= 的安全端点访问15=]

通过 minikube,我能够为 Kube API 使用不安全的端点,例如 http://localhost:8080/

有没有什么方法可以在 Docker 的 Kubernetes 中为 Mac 使用 Kube API 的不安全端点?

您可能 运行 带有 minikube 的旧版本 Kubernetes。

kube-apiserver 的默认不安全端口是 8080,但在 kube-apiserver 的最新 Kubernetes 版本中禁用了该端口,标志为:--insecure-port=0.

您可以随时从 /etc/kubernetes/manifests/kube-apiserver.yaml 文件中删除该行。

您还需要根据 this 添加此选项 --insecure-bind-address=0.0.0.0

然后重启kube-apiserver。

提示:Docker/Kubernetes 在 xhyve VM(s) on your Mac. So to modify the Kubernetes configs you'll have to connect to your xhyve 个 VM 上运行。你可以这样做:screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/ttyscreen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

添加更多细节:因此端口 6443 被转发到使用 vpnkit 的主机。要使端口 8080 在主机上可用,您还必须使用 vpnkit 公开该端口。如果你进入 hyperkit 虚拟机,你会看到端口映射是在 /var/vpnkit/port 中定义的。该目录中有一个 README 文件,您可以按照该文件公开端口 8080。