8

I have installed minikube on my ubuntu 16.04 machine and have started a cluster, with a message

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

Next, I deployed nginx service with the following command

> 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

Questions:

1) Is node 127.0.0.1 my local development machine? This has got me confused me the most.

2) Is my following understanding correct: The cluster (nodes, kubernetes API server) has internal IP addresses in 10.0.0.x and their corresponding external IP addresses are 192.168.99.x. The 2 pods will then have IPs in the range like 10.0.1.x and 10.0.2.x ?

3) Why is the external IP for the services not there? Not even, for the kubernetes service. Isn't the 192.168.99.43 an external IP here?

4) Most importantly, how do I connect to the nginx service from my laptop?

4

1 回答 1

13

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

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

2)我的以下理解是否正确:集群(节点,kubernetes API服务器)的内部IP地址在10.0.0.x,它们对应的外部IP地址是192.168.99.x。那么这 2 个 pod 的 IP 地址会在 10.0.1.x 和 10.0.2.x 这样的范围内吗?

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

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

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

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

查看 nginx 服务的最简单方法是输入NodePort,然后部署服务。之后,描述服务以获取分配的端口(或者在创建后它也会告诉您)。然后点击你的虚拟机的 ip 并提供自动分配的 NodePort。

e.g. http://192.168.99.100:30001

于 2016-06-27T13:26:59.303 回答