Traefik

Archive


Recent Posts


Traefik: Freischaltung TLS mit einer Beispielanwendung (Harbor)

Um dieses Ziel zu erreichen, muss man sich um ein paar Sachen kümmern.

1- Wenn self-signed certificate benutzt wird, muss folgende argument zu Traefik config hizugefügt werden.

–serversTransport.insecureSkipVerify=true

2-Traefik Middleware muss wegen http-redirect erstellt werden.

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: httpredirect
namespace: harbor
spec:
redirectScheme:
scheme: https
permanent: true

3-TLS Zertifikat muss als ein kubernetes secret definiert werden. Die Private-key muss “unencrypted“ sein.

$ kubectl create secret tls adartis-cert –key=key.unencrypted.pem –cert=server.pem -n harbor

4-Die komplette Code durch einem K8s IngressRoute is wie folgt:

apiVersion: traefik.containo.us/v1alpha1

kind: Middleware

metadata:

  name: httpredirect

  namespace: harbor

spec:

  redirectScheme:

    scheme: https

    permanent: true

apiVersion: traefik.containo.us/v1alpha1

kind: IngressRoute

metadata:

  name: harbor-ing

  namespace: harbor

spec:

  entryPoints:

    – web

    – websecure

  routes:

    – kind: Rule

      match: Host(`harbor.apps.rancher.adartish.de`)

      middlewares:

        – name: httpredirect

      services:

        – kind: Service

          name: harbor-11-1636456482

          passHostHeader: true

          namespace: harbor

          port: 443

  tls:  

    secretName: adartis-cert    

5-Change an encrypted private-key.pem to UNencrypted:

openssl rsa -in key.pem -out key.unencrypted.pem -passin pass:TYPE_YOUR_PASS