Nginx入口控制器配置(gke)

时间:2019-10-29 19:06:06

标签: kubernetes google-kubernetes-engine nginx-ingress

通过使用本指南(https://kubernetes.github.io/ingress-nginx/deploy/)的2个步骤,我完成了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个实体:

enter image description here

第一个实体在ingress-nginx部分中称为service & ingress,第二个实体:

enter image description here

内部工作负载部分,称为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

然后,我从booknotes-service类型的booknotes(部署)中暴露了Custer IP。但是当我访问www.domain.com时,它处于待处理状态。我做错了什么?在这种情况下,我对从请求到我的pod的所有流程都不是很了解。

1 个答案:

答案 0 :(得分:1)

您是否已将入口控制器的外部IP地址绑定到dns?您可以解析DNS吗?尝试nslookup www.domain.com并检查ip地址是否是您的入口控制器之一。

一旦您解决了DNS问题,您可能会收到404或502作为响应。这意味着您正在解决但没有将流量传递给服务。以此来更新您的问题,我们可以继续。

Pd。-删除入口资源的路径定义中的/*。只是/