[英]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.