Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker kubernetes的外部访问_Docker_Kubernetes - Fatal编程技术网

Docker kubernetes的外部访问

Docker kubernetes的外部访问,docker,kubernetes,Docker,Kubernetes,curl localhost:8080确认API正在运行 但尝试使用主机的IP访问它,如curl dockerHostIp:8080失败: docker run \ --volume=/:/rootfs:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:rw \ --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \ --v

curl localhost:8080确认API正在运行

但尝试使用主机的IP访问它,如
curl dockerHostIp:8080
失败:

docker run \
    --volume=/:/rootfs:ro \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:rw \
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    --volume=/var/run:/var/run:rw \
    --net=host \
    --pid=host \
    --privileged=true \
    -d \
    gcr.io/google_containers/hyperkube-amd64:v${K8S_VERSION} \
    /hyperkube kubelet \
        --containerized \
        --hostname-override="127.0.0.1" \
        --address="0.0.0.0" \
        --api-servers=http://localhost:8080 \
        --config=/etc/kubernetes/manifests \
        --cluster-dns=10.0.0.10 \
        --cluster-domain=cluster.local \
        --allow-privileged=true --v=2
如何将K8暴露在外面?(docker主机是ubuntu服务器)
据我所知,使用--net=host应该可以解决这个问题。但在这种情况下它不起作用。

当您使用docker启动kubernetes时,您可以在两种型号中进行选择:

如果查看这些文件,您会注意到一个差异:
——不安全的绑定地址不同

当您使用
--config=/etc/kubernetes/manifests
时,您只要求本地访问

您应该从
--config=/etc/kubernetes/manifests multi
开始

请注意:

  • 使用--config=/etc/kubernetes/manifests时,需要手动启动etcd
  • follow as docker支持暂时不起作用

还有一件事:执行
kubectl get ep
也可能有帮助。@geoHeil
kubectl get ep
返回安全端口。你是如何获得证书的?现在,我在hyperkube启动的
设置文件.sh
容器中的
/data
中找到了它们。但我真的不知道如何翻译它们。。。这无疑是一个很好的文档起点
Failed to connect to ipOfDockerHost port 8080: Connection refused