Follow

Follow

๐Ÿณ Setting Up a Local Kubernetes Cluster with K3s and Traefik Proxy ๐Ÿ”’

Raphael Carlos Rego's photo
Raphael Carlos Rego
ยทMar 9, 2023ยท

2 min read

๐Ÿณ Setting Up a Local Kubernetes Cluster with K3s and Traefik Proxy ๐Ÿ”’

Photo by Growtika on Unsplash

Play this article

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.

Did you find this article valuable?

Support Raphael Carlos Rego by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
ย 
Share this