【发布时间】:2019-10-29 19:06:06
【问题描述】:
我使用本指南 (https://kubernetes.github.io/ingress-nginx/deploy/) 分两步完成了 Nginx Ingress Controller 的安装:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml
然后它为我创建了 2 个实体:
第一个实体在service & ingress 部分中称为ingress-nginx,第二个:
内部工作负载部分称为nginx-ingress-controller。我的配置过程的下一步是创建具有 Ingress 类型的服务:
ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx-ingress-controller"
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
kubernetes.io/ingress.global-static-ip-name: my static ip
name: booknotes-ingress
namespace: 'default'
spec:
rules:
- host: www.domain.com
http:
paths:
- path: /*
backend:
serviceName: booknotes-service
servicePort: 80
然后我用Custer IP 类型从我的booknotes(部署)中暴露了booknotes-service。但是当我访问 www.domain.com 时,它处于待处理状态。我做错了什么?在这种情况下,我并不太了解从请求到我的 pod 的所有流程。
【问题讨论】:
-
您确定
kubernetes.io/ingress.class设置正确吗?如果在 deployment/pod 中没有指定为 arg,则默认为nginx。 -
我以为它应该是我的nginx入口控制器的名称,我已经更改了它,但它是一样的。我也尝试通过传递本教程中的所有步骤qwiklabs.com/focuses/… 来运行相同的操作,但结果是一样的
-
注解应该是这个 {kubernetes.io/ingress.class: "nginx"} 你所说的“待处理”是什么意思是外部 IP 处于 LoadBalancer 的待处理状态?
-
它加载了一段时间,然后我看到了(无法访问此站点)
标签: kubernetes google-kubernetes-engine nginx-ingress