cloudflare / cloudflare-ingress-controller

A Kubernetes ingress controller for Cloudflare's Argo Tunnels
Apache License 2.0
364 stars 55 forks source link

default-http-backend:80 (<error: endpoints "default-http-backend" not found>) #175

Open papanito opened 4 years ago

papanito commented 4 years ago

I try to expose a Argo CD using cloudflare-ingress-controller. As Argo CD is installed via helm, which generates the following ingress object:

# Source: argo-cd/templates/argocd-server/ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "argo-tunnel"
  name: argocd-server
  labels:
    app.kubernetes.io/name: argocd-server
    helm.sh/chart: argo-cd-2.3.5
    app.kubernetes.io/instance: argocd
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: argocd
    app.kubernetes.io/component: server
    ingress: argo-tunnel
spec:
  rules:
    - host: argocd.company.com
      http:
        paths:
          - path: /
            backend:
              serviceName: argocd-server
              servicePort: 443
  tls:
    - hosts:
      - argocd.company.com
      secretName: my-secret

However, when I check ingress object, I can see the following error

Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)

Details of the object:

kubectl -n argocd describe ingress argocd-server
Name:             argocd-server
Namespace:        argocd
Address:          x.x.x.x,y.y.y.y,z.z.z.z
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
TLS:
  company.com terminates argocd.company.com
Rules:
  Host                 Path  Backends# Source: argo-cd/templates/argocd-server/ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "argo-tunnel"
  name: argocd-server
  labels:
    app.kubernetes.io/name: argocd-server
    helm.sh/chart: argo-cd-2.3.5
    app.kubernetes.io/instance: argocd
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: argocd
    app.kubernetes.io/component: server
    ingress: argo-tunnel
spec:
  rules:
    - host: argocd.mycompany.com
      http:
        paths:
          - path: /
            backend:
              serviceName: argocd-server
              servicePort: 443
  tls:
    - hosts:
      - argocd.mycompany.com
      secretName: argocd.mycompany
  ----                 ----  --------
  argocd.company.com  
                       /   argocd-server:443 (10.42.152.166:8080)
Annotations:           kubernetes.io/ingress.class: argo-tunnel
                       meta.helm.sh/release-name: argocd
                       meta.helm.sh/release-namespace: argocd
Events:
  Type    Reason  Age   From                      Message
  ----    ------  ----  ----                      -------
  Normal  DELETE  59s   nginx-ingress-controller  Ingress argocd/argocd-server
  Normal  DELETE  59s   nginx-ingress-controller  Ingress argocd/argocd-server
  Normal  DELETE  59s   nginx-ingress-controller  Ingress argocd/argocd-server

and the deployment

# Source: argo-cd/templates/argocd-server/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: argocd-server
  labels:
    app.kubernetes.io/name: argocd-server
    helm.sh/chart: argo-cd-2.3.5
    app.kubernetes.io/instance: argocd
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: argocd
    app.kubernetes.io/component: server
    app.kubernetes.io/version: "v1.5.7"
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
      app.kubernetes.io/instance: argocd
  revisionHistoryLimit: 5
  replicas: 1
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-server
        helm.sh/chart: argo-cd-2.3.5
        app.kubernetes.io/instance: argocd
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/part-of: argocd
        app.kubernetes.io/component: server
        app.kubernetes.io/version: "v1.5.7"
    spec:
      containers:
      - name: server
        image: argoproj/argocd:v1.5.7
        imagePullPolicy: IfNotPresent
        command:
        - argocd-server
        - --staticassets
        - /shared/app
        - --repo-server
        - argocd-repo-server:8081
        - --dex-server
        - http://argocd-dex-server:5556
        - --loglevel
        - info
        - --redis
        - argocd-redis:6379
        volumeMounts:
        - mountPath: /app/config/ssh
          name: ssh-known-hosts
        ports:
        - name: server
          containerPort: 8080
          protocol: TCP

image