Kubernetes 入口控制器有时只将请求路由到我的服务

Kubernetes 入口控制器有时只将请求路由到我的服务,kubernetes,cloudflare,kubernetes-ingress,Kubernetes,Cloudflare,Kubernetes Ingress,这个问题可能没有那么有用,因为我不能每次都重现错误,如果我不能清楚地描述我的问题,我会提前道歉。我正在创建一个Kubernetes集群,我有一些服务,其中每个服务都有一个唯一的主机。我的文件夹结构如下所示: - service 1 - base - deployment.yaml - kostumization.yaml - service.yaml - master - ingress.yaml - kostumization.yaml - se

这个问题可能没有那么有用,因为我不能每次都重现错误,如果我不能清楚地描述我的问题,我会提前道歉。我正在创建一个Kubernetes集群,我有一些服务,其中每个服务都有一个唯一的主机。我的文件夹结构如下所示:

- service 1
  - base
    - deployment.yaml
    - kostumization.yaml
    - service.yaml
  - master
    - ingress.yaml
    - kostumization.yaml
- service 2
  - base
    - deployment.yaml
    - kostumization.yaml
    - service.yaml
  - master
    - ingress.yaml
    - kostumization.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: backend-ingress
  namespace: auto-responder-test
spec:
  rules:
    - host: sh.rbdx.it
      http:
        paths:
          - backend:
              serviceName: url-shrink-backend
              servicePort: 8080
    - host: api.rbdx.it
      http:
        paths:
          - backend:
              serviceName: api-backend
              servicePort: 5000
服务.yaml
是一项简单的服务:

kind: Service
apiVersion: v1
metadata:
  name: url-shrink-backend
spec:
  type: ClusterIP
  selector:
    app: url-shrink-backend
  ports:
    - port: 8080
      name: backed-port
这是
部署。yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: url-shrink-backend
spec:
  selector:
    matchLabels:
      app: url-shrink-backend
  template:
    metadata:
      labels:
        app: url-shrink-backend
    spec:
      containers:
        - name: url-shrink-backend
          image: <gitlab-url>
          ports:
            - containerPort: 8080
          envFrom:
            - configMapRef:
                name: url-shrink-backend-config
      imagePullSecrets:
        - name: regcred
现在,对于
ingres.yaml
kostumization.yaml
文件所在的主文件夹:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: url-shrink-backend-ingress
  namespace: auto-responder-test
spec:
  rules:
    - host: sh.rbdx.it
      http:
        paths:
          - backend:
              serviceName: url-shrink-backend
              servicePort: 8080

到目前为止仍然没有任何效果。什么可能导致这种奇怪的行为?

您需要提供更多详细信息。1.是你的本地环境还是云?2.您想使用
默认入口
或第三方
入口
Nginx入口
Traefik
?您是否也尝试在入口中使用
path.path
?您是否配置了防火墙?您是否可以验证哪些端口位于容器内
Listen
?您需要提供更多详细信息。1.是你的本地环境还是云?2.您想使用
默认入口
或第三方
入口
Nginx入口
Traefik
?您是否也尝试在入口中使用
path.path
?您是否配置了防火墙?您能否验证容器中的
Listen
端口?
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../base
- ingress.yaml
configMapGenerator:
- literals:
  - ADDRESS=0.0.0.0
  - PORT=8080
  name: url-shrink-backend-config

namespace: auto-responder-test

images:
- name: <gitlab-url>
  newTag: 2020-10-21-15-29
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: backend-ingress
  namespace: auto-responder-test
spec:
  rules:
    - host: sh.rbdx.it
      http:
        paths:
          - backend:
              serviceName: url-shrink-backend
              servicePort: 8080
    - host: api.rbdx.it
      http:
        paths:
          - backend:
              serviceName: api-backend
              servicePort: 5000