簡體   English   中英

Kubernetes:入口沒有 IP 地址

[英]Kubernetes: Ingress doesn't have IP address

我用 virtualbox 在本地設置了一個 3 節點的 K8S 集群。 當我嘗試入口時,它沒有設置 IP 地址:

2017-11-11 17:00:49.015691 I | proto: duplicate proto type registered: 
google.protobuf.Any
2017-11-11 17:00:49.016061 I | proto: duplicate proto type registered: google.protobuf.Duration
2017-11-11 17:00:49.016112 I | proto: duplicate proto type registered: google.protobuf.Timestamp
NAME            HOSTS                     ADDRESS   PORTS     AGE
whale-ingress   a.whale.hey,b.whale.hey             80        9m

入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: whale-ingress
spec:
  rules:
  - host: a.whale.hey
    http:
      paths:
      - path: /
        backend:
          serviceName: whale-svc-a
          servicePort: 80
  - host: b.whale.hey
    http:
      paths:
      - path: /
        backend:
          serviceName: whale-svc-b
          servicePort: 80

我設置錯了嗎?

您正在運行 Ingress 控制器嗎? 默認情況下,最小的 Kubernetes 集群沒有 Ingress 控制器。 如果沒有,請嘗試部署此控制器: https ://github.com/kubernetes/ingress-nginx

Ingress 是一個僅提供配置的對象,而不是活動組件(例如 Pod 或 Service)。 正如 coreypobrien 所說,您需要部署一個 Ingress 控制器,它將讀取您在集群中部署的入口並相應地更改其配置。

在這個頁面你可以找到官方kubernetes入口控制器的文檔,基於nginx https://github.com/kubernetes/ingress-nginx/blob/master/README.md

另一種選擇是 traefik 入口控制器: https ://docs.traefik.io/user-guide/kubernetes/

我遇到了同樣的問題,我通過入口控制器中的硬編碼地址解決了這個問題。 您可以通過在種類服務(在入口 yaml 中)的規范塊中添加“externalIPs”參數來做到這一點,如下所示

  --snip--
  externalIPs:
    - 192.168.1.54

暫無
暫無

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

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