Skip to main content

🐳 Setting Up a Local Kubernetes Cluster with K3s and Traefik Proxy πŸ”’

Published 2 min readMarkdown
🐳 Setting Up a Local Kubernetes Cluster with K3s and Traefik Proxy πŸ”’

Kubernetes has become the standard for managing containerized applications, but setting up a development environment can be complex. However, with K3s and Traefik Proxy, it's possible to create a local Kubernetes cluster quickly and easily.

πŸ§‘β€πŸ’» Setting Up K3s Cluster

To begin, download and install K3s. K3s is a lightweight Kubernetes distribution that's easy to install and configure. After installing, start the K3s server:

sudo k3s server

🌐 Setting Up Traefik Proxy

Traefik is a popular reverse proxy and load balancer that integrates with Kubernetes. It's used to route traffic to the correct service or pod. To install Traefik, use the following command:

sudo kubectl apply -f https://raw.githubusercontent.com/containous/traefik/v2.3/examples/k8s/traefik-deployment.yaml

πŸ”§ Configuring Traefik Proxy

Next, configure Traefik by applying the necessary settings. Traefik can be configured using Kubernetes annotations. For example, to configure SSL, use the following annotation:

traefik.ingress.kubernetes.io/router.tls=true

πŸ”’ Securing Services with Traefik Proxy

Traefik can also be used to secure services with HTTPS. To do this, create a Kubernetes secret with your SSL certificate and key:

css
kubectl create secret tls my-secret --key tls.key --cert tls.crt

Then, apply the secret to your service:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  annotations:
    traefik.ingress.kubernetes.io/router.tls=true
    traefik.ingress.kubernetes.io/router.tls.certresolver=my-resolver
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 80
  selector:
    app: my-app

πŸŽ‰ Congratulations!

You've now set up a local Kubernetes cluster with K3s and Traefik Proxy. This setup is ideal for testing and development, and can easily be scaled up for production use.

About the author

  • Experienced, creative, and motivated software engineer with a solid background in full stack software development and 18+ years of experience, acculturated in devsecops.

No comments yet. Be the first to comment.

More from this blog