Hey,
I have a setup with Traefik as a ClusterIP
service with external IPs (as my hosting provider does not support a LoadBalancer infrastructure).
Now I try to setup ArgoCD. It works pretty good, but Argo had issues getting the health status of the ingresses.
After some digging I found the this GitHub issue and further on this part of the documentation: Kubernetes Ingress - Traefik
The issue and the part of the documentation state, that you should set your Traefik service as publishedService
on your kubernetesIngress
provider, so the status of the Traefik service is copied to the ingresses.
So I tried setting
providers:
kubernetesIngress:
ingressEndpoint:
publishedService: kube-system/traefik2-ingress-controller
in my static configuration. But nothing changed. I first thought the fix was not working. Until I checked the status of the service (I removed some parts of the service):
user@nb [~]
-> % kubectl -n kube-system get svc traefik2-ingress-controller -o yaml
apiVersion: v1
kind: Service
metadata:
name: traefik2-ingress-controller
namespace: kube-system
spec:
clusterIP: 10.106.182.36
externalIPs:
- 1.2.3.4
- 1.2.3.5
ports:
- name: web
port: 80
protocol: TCP
targetPort: 80
- name: websecure
port: 443
protocol: TCP
targetPort: 443
selector:
app: traefik2-ingress-controller
type: ClusterIP
status:
loadBalancer: {}
user@nb [~]
-> %
As you can see the status of the service is empty. So copying it to the ingresses worked, but as it is empty as well, nothing really changed.
I have another setup with a LoadBalancer
service for Traefik. I tried there and it worked immediately.
So is there a setting I need to configure to either get a status on the Traefik ClusterIP
service or can (and should) I set the status of the ingresses in some other way?
Thanks in advance!
EDIT: I have another setup where my provider configured a load balancer outside my cluster and I had to configure a NodePort
service. I have the same issue with the service there. The status is empty as well. I mixed both of them up a bit here, so the original post was not really consistent. So I fixed it with the edits.