kubernetes - Nginx 入口 Controller 配置 (gke)

标签 kubernetes google-kubernetes-engine nginx-ingress

我已经使用本指南 ( 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 个实体:

enter image description here

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

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(部署)中使用Custer IP 类型公开了booknotes-service。但是当我访问 www.domain.com 时,它处于挂起状态。我做错了什么?在这种情况下,我不太了解从请求到我的 pod 的所有流程。

最佳答案

你的ingress controller的外网ip地址绑定(bind)到你的dns了吗?你能解决dns吗?尝试 nslookup www.domain.com 并检查 IP 地址是否是您的入口 Controller 之一。

一旦您解决了 dns 问题,您可能会收到 404 或 502 作为响应。这意味着您正在解析但不将流量传递给服务。用那个更新你的问题,我们可以继续。

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

关于kubernetes - Nginx 入口 Controller 配置 (gke),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613895/

相关文章:

kubernetes - 从 Dataproc 集群访问 GKE 集群中的 Postgres

google-kubernetes-engine - 如何使用默认的 istio beta 功能在 GKE 中安装带有 prometheus 的 Kiali Dashboard?

kubernetes - AWS 弹性 IP 到 nginx 入口 Controller EKS?

kubernetes - 基于nginx-ingress上的HTTP header 值的速率限制请求

kubernetes - 如何在具有一个80端口的一个入口中公开具有多个端口的服务

kubernetes - 在 Kubernetes 中部署应用程序时如何定义资源限制并计算消耗?

kubernetes - 拒绝来自特定命名空间的流量的网络策略

redis - 我对 K8s 中的 redis 不了解的地方

kubernetes - 避免 kubernetes 调度程序在 kubernetes 集群的单个节点中运行所有 pod

azure - 如何在 Azure 门户中查找 kubernetes 集群的 --name?