当我在 Docker for Mac 中运行 Kubernetes 时,似乎只能从 https://localhost:6443/ 的安全端点访问 Kube API。
使用 minikube,我可以为 Kube API 使用不安全的端点,例如 http://localhost:8080/
有什么方法可以在 Docker for Mac 的 Kubernetes 中为 Kube API 使用不安全的端点?
最佳答案
您可能正在使用 minikube 运行旧版本的 Kubernetes。
kube-apiserver 的默认不安全端口是 8080,但在 kube-apiserver 中的最新 Kubernetes 版本上禁用了这个标志:--insecure-port=0
.
您可以随时从 /etc/kubernetes/manifests/kube-apiserver.yaml
中删除该行文件。
您还需要添加此选项 --insecure-bind-address=0.0.0.0
根据 this .
然后重启 kube-apiserver。
提示:Docker/Kubernetes 运行于 xhyve Mac 上的 VM。因此,要修改 Kubernetes 配置,您必须连接到 xhyve虚拟机。你可以这样做:screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
或 screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
添加更多详细信息:因此使用 vpnkit 将端口 6443 转发到主机。 .要使主机上的端口 8080 可用,您还必须使用 vpnkit 公开该端口。如果您进入 hyperkit 虚拟机,您将看到端口映射定义在 /var/vpnkit/port
中。 .有一个 README
该目录中的文件,您可以按照该文件公开端口 8080。
关于kubernetes - 我可以在 Docker for Mac 中为 Kubernetes API 使用不安全的端点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52430091/