当前位置: 首页 > 知识库问答 >
问题:

Kubernetes无法访问公开的服务

唐博文
2023-03-14

名称:示例-服务
命名空间:默认
标签:run=load-balancer-example
注释:
选择器:run=load-balancer-example
类型:nodeport
IP:10.108.214.162
端口:9090/tcp
目标端口:9090/tcp
节点端口:31105/tcp
endpoint:192.168.1.23:9090,192.168.1.24:9090
会话关联:无
外部通信策略:群集
事件:

预期:

希望能够卷曲kubernetes服务中定义的集群ip

我使用“netstat”检查endpoint是否被监听。

我尝试“https://github.com/rancher/rancher/issues/6139”刷新我的iptables,但它根本不起作用。

我尝试了“https://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/”,“nslookup hostnames.default”不起作用。

我是kubernetes的新手,如果有人能帮我的话。

共有1个答案

燕扬
2023-03-14

如果您在任何公共云上,您不应该通过ip a命令获得公共ip地址。但是,即使端口将公开给0.0.0.0:31105

下面是您可以验证配置的示例文件:

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: app-name
  name: bss
  namespace: default
spec:
  externalIPs:
  - 172.16.2.2
  - 172.16.2.3
  - 172.16.2.4
  externalTrafficPolicy: Cluster
  ports:
  - port: 9090
    protocol: TCP
    targetPort: 9090
  selector:
    k8s-app: bss
  sessionAffinity: ClientIP
  type: LoadBalancer
status:
  loadBalancer: {}

只需将 替换为externalips:中的 并用节点端口卷曲公共ip。

如果您正在使用任何云部署应用程序,也要从云安全组/防火墙验证开放端口的配置。

希望这能有所帮助。

谢谢!

 类似资料:
  • 我在Google Container Engine上部署了一个容器,它运行良好。现在,我想公开它。 这个应用程序是一个侦听2个端口的服务。使用kubectl公开部署,我创建了2个负载均衡器,每个端口一个。 我制作了两个负载平衡器,因为kubectl expose命令似乎不允许使用多个端口。虽然我在kubectl上将其定义为type=LoadBalancer,但一旦在GKE上创建了它们,它们就被定义

  • 我正在尝试将我的Docked React应用程序部署到Kubernetes。我相信我已经正确对接了,但我无法访问暴露的吊舱。 我没有在Docker或Kubernetes工作的经验,所以任何帮助都将不胜感激。 我的反应应用程序只是从Tomcat提供的静态文件(从npm运行构建)。 我的Dockerfile在下面。总之,我把我的应用程序放在Tomcat文件夹中,并公开端口8080。 我构建并将Dock

  • 工作节点1上的Curl对群集IP来说是最合适的(这是运行pod的节点) Curl在其他工作节点上也失败:

  • 在我的 OVH 托管 Kubernetes 集群中,我正在尝试公开 NodePort 服务,但看起来无法通过以下方式

  • 以下是启动本地计算机kubernetes集群的指南:http://kubernetes.io/v1.0/docs/gett-started-guides/docker.html 我用。yaml文件创建了各种POD,一切正常,我可以使用容器IPs访问nginx和mysql(172.17.x.x范围内,使用docker0),但是当我创建服务时,服务IPs在10.0.0.x范围内,其他容器无法访问。 k

  • 我有一个超级简单的Java库伯内特斯Tomcat应用程序在库伯内特斯内部运行,我用在minikube上运行的JVM Jolokia代理安装了它。我正在尝试配置我的库伯内特斯部署,以便我可以在容器外部访问Jolokiaendpoint。当我试图从我的minikube IP上的容器外部访问http://127.0.0.1/jolokia/versionendpoint时,我收到一个连接被拒绝。 我已经