无法访问IBM云上公共LoadBalancer的端口或Kubernetes群集的入口
默认情况下,是否有其他安全设置不允许公共访问IBM云上的Kubernetes群集 我使用a无法访问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:
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工作,但入口不工作。您是否创建了入口资源?如果是这样,你能用这些信息更新你的帖子吗?这里有一个链接,包含关于创建入口资源的更多信息:我尝试了入口,它仍然是一样的。