当我在 Docker for Mac 中运行 Kubernetes 时,Kube API 似乎只能从安全端点 https://localhost:6443/
使用 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
添加此选项。
然后重新启动 kube-apiserver。
提示:Docker/Kubernetes 在 Mac 上的 xhyve VM 上运行。因此,要修改 Kubernetes 配置,您必须连接到 xhyve VM。你可以这样做:screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
或screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty
添加更多详细信息:因此,端口 6443 使用 vpnkit 转发到主机。要使端口 8080 在主机上可用,您还必须使用 vpnkit 公开该端口。如果筛选到 hyperkit vm,你将看到端口映射是在/var/vpnkit/port
中定义的。该目录上有一个README
文件,您可以按照该文件公开端口 8080。