![](/img/trans.png)
[英]Kubernetes nginx ingress controller as loadbalancer gets random ports
[英]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.