minikube:无法连接本地部署的nginx服务

时间:2016-06-27 04:48:43

标签: docker kubernetes etcd flannel

我在我的ubuntu 16.04计算机上安装了minikube,并启动了一个群集,并带有消息

"Kubernetes is available at https://192.168.99.100:443"

接下来,我使用以下命令部署了nginx服务

> kubectl.sh run my-nginx --image=nginx --replicas=2 --port=80 --expose

> kubectl.sh get  pods -o wide
NAME                        READY     STATUS    RESTARTS   AGE       NODE
my-nginx-2494149703-8jnh4   1/1       Running   0          13m       127.0.0.1
my-nginx-2494149703-q09be   1/1       Running   0          13m       127.0.0.1

> kubectl.sh get  services -o wide
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE       SELECTOR
kubernetes   10.0.0.1     <none>        443/TCP   14m       <none>
my-nginx     10.0.0.83    <none>        80/TCP    13m       run=my-nginx

> kubectl.sh get  nodes -o wide
NAME        STATUS    AGE
127.0.0.1   Ready     16m

问题:

1)节点127.0.0.1是我的本地开发机器吗?这让我最困惑。

2)我的以下理解是否正确:集群(节点,kubernetes API服务器)具有10.0.0.x中的内部IP地址,其相应的外部IP地址为192.168.99.x.然后,2个pod将具有10.0.1.x和10.0.2.x范围内的IP?

3)为什么服务的外部IP不存在?对于kubernetes服务,甚至都没有。这里不是192.168.99.43的外部IP吗?

4)最重要的是,如何从笔记本电脑连接到nginx服务?

1 个答案:

答案 0 :(得分:13)

  

1)节点127.0.0.1是我的本地开发机器吗?这让我有了   我最困惑。

当节点注册时,您提供要注册的IP或名称。默认情况下,节点只是注册127.0.0.1。这是引用运行linux的VM,而不是主机。

  

2)以下理解是否正确:群集(节点,   kubernetes API服务器)具有10.0.0.x及其中的内部IP地址   对应的外部IP地址为192.168.99.x. 2个豆荚会   然后拥有10.0.1.x和10.0.2.x范围内的IP?

是的,10.0.0.x网络是您的覆盖网络。 192.168.99.x是您在群集外可见的“公共”地址。

  

3)为什么服务的外部IP不存在?不是,为了   kubernetes服务。这里不是192.168.99.43的外部IP吗?

外部IP通常用于通过特定IP进入流量。 kubernetes服务使用clusterIP服务类型,这意味着它只对内部集群可见。

  

4)最重要的是,如何从我的连接到nginx服务   笔记本电脑?

查看nginx服务的最简单方法是将其设置为NodePort,然后部署该服务。在此之后,描述服务以获取已分配的端口(或在您创建它之后也会告诉您)。然后点击您的VM的IP并提供自动分配的NodePort。

e.g. http://192.168.99.100:30001