Skip to content

Tutorial request: k3s for developers, from container to scale (on own servers, without k8s knowledge) #3394

Closed

Description

@bluepuma77

Dear k3s team,

it would be great to get a developer friendly tutorial how to use k3s and its preferred tools to move from a dev container to a production cluster. I am looking for a bare metal ("dedicated server" with linux) simple command line tutorial without the need of learning Terraform, Vagrant, Ansible, Helm, BGP and so on and so forth.

Currently we have an external high-available load-balancer, 3 ingress servers running Traefik and Docker Swarm Masters, and multiple worker nodes. We spin up 3+ containers for each tennant, they automatically register with Traefik and are available load-balanced via their sub-domain.

k3s-example

Docker Swarm has served us well as a very easy to use tool to get started, but we seem to have some minor issues with high loads. At the same time no-one seems to be using Docker Swarm nowadays, related GitHub projects are mostly dormant. K3s seems to be a good alternative, especially as the initial setup seems as easy as Docker Swarm.

What I haven't found so far is an overarching tutorial of how to scale a web container with k3s on own servers. Yes, it is k8s compatible, but at the same time it has some tools build in and/or preferred, so a dedicated tutorial would be helpful. And it would be great to NOT have a lot of external tools which need to be understood and maintained. For starters it's just easier to setup a new server every month by hand instead of learning yet another tool to do this automatically. And for GDPR and money saving reasons our infrastructure is on dedicated servers, even A18z recognised cloud is expensive. To make live easier our scenario just uses an external load balancer.

It should include (using Docker Swarm terms here)

  • setup of k3s cluster
  • setup of ingress with traefik and (purchased) SSL certificates (on 3 servers with fixed IP:port for high availability)
  • start a service with x containers with sub-domain as label and node-constraint (on workers only)
  • view status of cluster (maybe with a GUI)
  • do a rolling update of a service
  • advanced: collect logs with Prometheus/Grafana or Beats/Elastic/Kibana
  • more advanced: make it high-available without external LB but with external Floating IP

For reference a post which gets Traefik and a web service up and running on Docker Swarm with two config files and 3 CLI commands.

Activity

  1. dereknola commented on Jun 3, 2021

    @dereknola
    Member

    Have you looked at the Rancher Academy course on k3s?
    https://community.suse.com/courses/4522316?utm_source=manual

  2. locked and limited conversation to collaborators on Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions