无法访问IBM云上公共LoadBalancer的端口或Kubernetes群集的入口

无法访问IBM云上公共LoadBalancer的端口或Kubernetes群集的入口,kubernetes,ibm-cloud,ibm-cloud-kubernetes,iks,Kubernetes,Ibm Cloud,Ibm Cloud Kubernetes,Iks,默认情况下,是否有其他安全设置不允许公共访问IBM云上的Kubernetes群集 我使用aNodePort服务公开了应用程序,但它无法通过80端口访问,甚至我尝试了其他端口 但是它是从pod开始工作的,比如使用curl命令访问这个公共负载平衡器。即使我可以ping这个负载平衡器的公共IP地址,这也会发生在入口上 入口子域也已启用 这是my Kubernetes集群中的外部负载平衡器的一个示例: --- apiVersion: v1 kind: Pod metadata: labels:

默认情况下,是否有其他安全设置不允许公共访问IBM云上的Kubernetes群集

我使用a
NodePort
服务公开了应用程序,但它无法通过80端口访问,甚至我尝试了其他端口

但是它是从pod开始工作的,比如使用
curl
命令访问这个公共负载平衡器。即使我可以ping这个
负载平衡器的公共IP地址
,这也会发生在
入口

入口子域
也已启用

这是my Kubernetes集群中的
外部负载平衡器的一个示例:

---
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: hello-world
spec:
  containers:
  - image: us.icr.io/my-space/hello-world
    imagePullPolicy: IfNotPresent
    name: hello-world
    ports:
    - containerPort: 8080
      name: http
      protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: hello-world
  name: hello-world-service
spec:
  ports:
  - nodePort: 31190
    port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: hello-world
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer: {}


公共负载平衡器在设计上是向internet开放的,因此不会阻止您的LB。但是,如果您在internet和群集之间有防火墙,则可能会在它试图进入群集时切断流量。如果您执行“kubectl get svc xxx”,您应该会看到服务的外部IP,并且应该可以根据上述规范通过端口80访问该IP。或者,您可以使用一个工作节点公共IP和节点端口,并尝试从那里访问它。如果其中任何一个失败了,你就在某处阻塞了某些东西

如果你仍然有困难,请在这里注册,然后在@john上给我一个ping


我们可以帮你解决这个问题,一旦我们解决了你的问题,我们就会回来发表这篇文章

我对IBM不是百分之百肯定,但我知道在亚马逊等其他云提供商的情况下,默认情况下,网络安全策略和防火墙将阻止大多数端口上的公共访问。尝试通过IBM内部的网络安全打开端口。这听起来像LoadBalancer和NodePort工作,但入口不工作。您是否创建了入口资源?如果是这样,你能用这些信息更新你的帖子吗?这里有一个链接,包含关于创建入口资源的更多信息:我尝试了入口,它仍然是一样的。