【发布时间】:2018-07-09 10:45:35
【问题描述】:
我有以下内容:
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: abcxyz
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: abcxyz
http:
paths:
- path: /a/
backend:
serviceName: service-a
servicePort: 80
- path: /b/
backend:
serviceName: service-b
servicePort: 80
kubectl describe ingress abcxyz的输出:
Name: abcxyz
Namespace: default
Address:
Default backend: default-http-backend:80 (<none>)
Rules:
Host Path Backends
---- ---- --------
abcxyz
/a/ service-a:80 (<none>)
/b/ service-b:80 (<none>)
Annotations:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CREATE 16m nginx-ingress-controller Ingress default/abcxyz
Normal UPDATE 12m (x2 over 15m) nginx-ingress-controller Ingress default/abcxyz
为什么地址是空的?我已经使用 helm install stable/nginx-ingress 通过 helm 安装了“nginx 入口控制器”-所有相关的 pod 似乎都运行良好。
如何提供对 ingress 的访问权限?
【问题讨论】:
-
主机名 abcxyz 是否解析为实际的 IP 地址?
-
不,它没有,它应该指向什么IP?
-
到nginx-ingress-controller的静态ip。它应该是 LoadBalancer 类型的服务。所以主机名应该指向负载均衡器的前面。
-
因为 minikube 将主机名指向您的 minikube 集群,如果您使用的是 nix 系统,请在 /etc/hosts 中添加一个条目。
标签: kubernetes kubernetes-ingress