外部IP总是 或 在kubernetes中>]

问题描述 投票:1回答:1

最近,我开始使用一些Raspberry pi建立我自己的kubernetes集群。

我已经达到了集群启动并运行的地步!

有关如何设置群集的一些背景信息,我使用了this guide

但是现在,当我要部署和公开应用程序时,我遇到了一些问题...

在kubernetes教程之后,我进行了nginx的部署,运行良好。当我进行端口转发时,我可以在本地主机上看到默认的nginx页面。

现在是棘手的部分,创建服务并通过入口将来自Internet的流量路由到服务。

我已经执行了以下命令

kubectl expose deployment/nginx --type="NodePort" --port 80
kubectl expose deployment/nginx --type="Loadbalancer" --port 80

这些将导致以下结果。

NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1     <none>        443/TCP          25h
nginx        NodePort    10.103.77.5   <none>        80:30106/TCP   7m50s
NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP      10.96.0.1        <none>        443/TCP        25h
nginx        LoadBalancer   10.107.233.191   <pending>     80:31332/TCP   4s

外部IP地址从不显示,这使我几乎无法通过执行curl some-ip:80从集群外部访问应用程序,这最终是我设置此集群的全部原因。

如果你们中的任何人有一些明确的指南或建议,我可以与之合作,我们将不胜感激!

注意:我已经阅读了有关LoadBalancer的内容,应该由云主机提供。由于我使用RPI运行,所以我认为这对我不起作用。但我相信NodePort应该可以通过入口路由。

此外,我也知道我应该有某种类型的入口控制器才能使入口正常工作。

编辑

所以我现在对节点端口有以下内容-30168

$ kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        26h
nginx        NodePort    10.96.125.112   <none>        80:30168/TCP   6m20s

并且对于IP地址,我具有192.168.178.10210.44.0.1

$ kubectl describe pod nginx-688b66fb9c-jtc98
Node:               k8s-worker-2/192.168.178.102
IP:                 10.44.0.1

但是当我在浏览器中使用nodeport输入这些IP地址中的任何一个时,我仍然看不到nginx页面。我在做错什么吗?

最近,我开始使用一些Raspberry pi构建我自己的kubernetes集群。我已经到了可以运行群集的地步!有关如何设置...

kubernetes raspberry-pi3 nginx-ingress
1个回答
1
投票

您的任何工作节点的IP地址都可用于NodePort(或LoadBalancer)服务。从the description of NodePort services

© www.soinside.com 2019 - 2024. All rights reserved.