Hi all!

I’ve a background as Linux sysadmin (not much, couple of years) and I’m facing the challenge to setup a Kubernetes cluster.

One of the requirements is to use Traefik.

I’m finding A LOT of how to online but they are all different from each other.

Do you know a good guide to do such things? The K8s cluster is up and running, Traefik is the problem.

I can get it up, access the dashboard, but that’s all. I tried to test it using the example application “whoami” and I can see the app in the dashboard but I can access it only by localhost curl on the node where it runs.

Thanks a lot!

  • Spazztastik@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I’m on mobile and can’t find any good articles ATM but, start looking up how to expose an app via traefik ingress. You’ll need to create ingress manifests for your applications you want to expose using traefik. Hopefully that gets you started.

  • HTTP_404_NotFound@lemmyonline.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    So, there are a few ways to configure it. But- I’ll run down basic steps.

    1. Ensure traefik’s service is running as a Loadbalancer, with an exposed IP, OR, expose it as port 443.
    • Use metalLB for provisioning static IPs to services.
    1. To setup services with treafik- either run them as ingress, with traefik as the default ingress controller, or, you can use the ingressroute CRDs. For example- here is an IngressRoute for plex.
    apiVersion: traefik.containo.us/v1alpha1
    kind: IngressRoute
    metadata:
      name: plex
      namespace: media
    spec:
      entryPoints:
        - websecure
      routes:
        - match: Host(`plex.xtremeownage.com`)
          kind: Rule
          services:
            - name: plex
              port: 32400
    

    On your DNS server (Your local network, not K8s), point, plex.yourdomain.com at the IP you provisioned for traefik.

    In my network, I pointed *.kube.mydomain.com to the IP of my traefik service/LB.

    So, anytime I browser to anything at *.kube.mydomain.com, it automatically sends the request to treaefik. From that point, traefik sends it to the service.

    That, should get you started.

    • myogg@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Definitely a good start. This K3s ansible playbook will provision a cluster for you (with traefik installed).

      https://github.com/k3s-io/k3s-ansible

      With a few tweaks you can install metallb which will give traefik a static IP, a few DNS entries and you’ll be good to go.