入口规则未重定向到部署 [英] Ingress rule not redirecting to deployment

查看:110
本文介绍了入口规则未重定向到部署的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: assortment-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - myapp.centralus.cloudapp.azure.com
    secretName: aks-ingress-tls
  rules:
  - host: myapp.centralus.cloudapp.azure.com
    http:
      paths:
      - path: /my-service
        backend:
          serviceName: my-backend
          servicePort: 80

部署和部署服务

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: myservice
    spec:
      containers:
      - name: myservice
        image: myreg.azurecr.io/my-latest
        imagePullPolicy: Always
        ports:
           - name: http
             containerPort: 8080
      imagePullSecrets:
      - name: my-auth

apiVersion: v1
kind: Service
metadata:
 name: my-backend
spec:
 type: ClusterIP
 selector:
   app: myservice
 ports:
  - name: http
    protocol: TCP
    port: 80
    targetPort: 8080

但是

curl https://myapp.centralus.cloudapp.azure.com/my-service

给予

默认后端-404

default backend - 404

请注意,myapp.centralus.cloudapp.azure.com已经解析为入口控制器的公共IP

Note myapp.centralus.cloudapp.azure.com already resolves to the ingress controller's public IP

当我使用相同的配置创建类型为LoadBalancer的服务时,它将与公共api一起使用.

When I create a service with type LoadBalancer with same config, it works with public api.

推荐答案

首先检查您的pod处于运行状态.

First of all check your pods are in running state.

可能是因为过多的端口从80重定向到8080导致无法服务到目标端口.

maybe cause of redirection of too many ports from 80 to 8080.ingress to service to target port.

您的配置绝对正确,这很简单,问题可能是pod无法运行或等待一段时间才能清除浏览器的缓存.

your config is absolutely right it is simple problem may be pod not running or wait for some time to with clear cache of browser.

这篇关于入口规则未重定向到部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆