Hi,
I am a bit lost between the kubectl ingress files and the traefik config file.
I have managed to get cert-manager to give my service a TLS cert via lets encrypt. I configured the ingress resource as follows:
➜ ~ kubectl get ingress engine -o yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
cert-manager.io/issuer: letsencrypt
kubernetes.io/ingress.class: traefik
name: engine
namespace: default
spec:
rules:
- http:
paths:- backend:
serviceName: engine
servicePort: 80
path: /
tls:
- backend:
- hosts:
- -engine.dev.lodev.xyz
secretName: engine-cert
status:
loadBalancer: {}
- -engine.dev.lodev.xyz
This is hitting my router in Traefik however, I do not seem to be hitting the pods behind the service instead I get 404 on both a http and https call (cert is valid and correct).
I also see new service layer in the traefik section but i think it is not using that and instead should just be using the engine service showing in the same realm.
kubectl get service engine -o yaml
apiVersion: v1
kind: Service
metadata:
name: engine
namespace: default
spec:
clusterIP: 1xx.x.x.177
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app.kubernetes.io/instance: engine
app.kubernetes.io/name: engine
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Any ideas where i could be going wrong?
I have added the following to my Traefik config (via helm):
kubernetes:
ingressClass: "traefik"
accessLog: {}
providers:
kubernetesIngress: {}
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
http:
routers:
talosengine:
entryPoints:
- "websecure"
rule: "Host(engine.dev.lodev.xyz
) && Path(/
)"
service: talosengine
# will terminate the TLS request
tls: {}
Thanks
Mark