我在我的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服务?
答案 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