簡體   English   中英

無法從Kubernetes中的公共IP訪問服務

[英]Not able to access service from the public ip in kubernetes

我正在使用kubernetes並運行一項服務。 服務正在運行,並且正在服務中。 但是我無法從實例的公共IP訪問它。 以下是我的部署文件。

apiVersion: v1
kind: Service
metadata:
  name: apache-service
spec:
  selector:
    app: apache
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: NodePort

---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: apache-deployment
spec:
  selector:
    matchLabels:
      app: apache
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: apache
    spec:
      containers:
      - name: apache
        image: mobingi/ubuntu-apache2-php7:7.2
        ports:
        - containerPort: 80

這是我的服務清單。

NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
apache-service   NodePort    10.106.242.181   <none>        80:31807/TCP   9m5s
kubernetes       ClusterIP   10.96.0.1        <none>        443/TCP        11m

但是,當我從群集和節點的公共ip從后續的telnet檢查相同的服務時。 它沒有響應。

telnet public-ip:31807

任何類型的幫助將是有意義的。

集群IP是什么意思? 您是說充當kunernetes主節點的節點嗎? 如果您使用主IP,它將無法正常工作。 因為出於安全考慮,主服務器未安排部署。

通過nodeport公開服務意味着該服務偵聽每個工作節點中的特定端口。 因此,您可以使用節點端口訪問kunernetes工作者節點並獲得響應。 但是,如果使用aws之類的雲提供程序創建了集群,則將保護工作節點的安全組。 可能需要編輯工作程序節點的安全組才能訪問服務。

暫無
暫無

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

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