我已经使用docker-machine在我的Mac上创建了一个kubenetes集群,遵循这里的文档:
http://kubernetes.io/docs/getting-started-guides/docker/
我可以从127.0.0.1:8080上的实例内部访问普通api,但我想从macbook外部访问它。我知道有一个安全端口:6443,但我不确定如何设置凭据来访问此端口。
在kubernetes的自定义安装中有很多关于如何做到这一点的说明,但我不知道如何在我正在运行的docker容器中做到这一点。
发布于 2016-03-21 11:16:57
您可能希望使用Virtual Box的port forwarding功能。文档中的一个示例:
VBoxManage modifyvm "MyVM" --natpf1 "k8srule,tcp,,6443,,6443"
这会将所有主机接口上的端口6443转发到访客的端口6443。端口转发也可以通过VirtualBox UI进行配置。
发布于 2016-03-21 19:28:13
这就像一种变通方法,但大多数时候,我认为KubeOnDocker设置是为不需要凭据机制的开发人员准备的:
启动KubeOnDocker时,--config=/etc/kubernetes/manifests
指向master.json。如果查看apiserver start命令,您将看到--insecure-bind-address
为127.0.0.1。如果你使用--config=/etc/kubernetes/manifests-multi
,它将指向master-multi.json,--insecure-bind-address
将是0.0.0.0
,并且可以从任何地方访问apiserver。
请注意,您需要使用manifests-multi启动etcd。
# Not tested start
docker run \
-d \
--net=host \
gcr.io/google_containers/etcd:2.2.1 \
/usr/local/bin/etcd \
--listen-client-urls=http://127.0.0.1:4001 \
--advertise-client-urls=http://127.0.0.1:4001 \
--data-dir=/var/etcd/data
https://stackoverflow.com/questions/36116192
复制相似问题