簡體   English   中英

無法訪問公共 LoadBalancer 的端口或 IBM Cloud 上 Kubernetes 集群的 Ingress

[英]Can not access ports of public LoadBalancer or Ingress of the Kubernetes Cluster on IBM Cloud

默認情況下是否有任何額外的安全設置不允許對 IBM Cloud 上的 Kubernetes 集群進行公共訪問?

我使用NodePort服務公開了應用程序,但無法通過 80 端口訪問它,甚至我嘗試了其他端口。

但它是從 pod 工作的,例如使用curl命令訪問這個公共 LoadBalancer。 即使我可以 ping 此LoadBalancer的公共 IP 地址, Ingress也會發生這種情況。

Ingress subdomain也已啟用。

這是我的 Kubernetes 集群中的External LoadBalancer的示例:

---
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 和節點端口並嘗試從那里訪問它。 如果其中任何一個失敗,則說明您在某處阻塞了某些東西。

如果您仍然遇到問題,請在此處注冊https://bxcs-slack-invite.mybluemix.net/ ,然后在 @john 上給我一個 ping。

我們可以在那里為您提供詳細的幫助,然后在我們確定您的問題后回來解決這個帖子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM