K3s: Difference between revisions

From NixOS Wiki
imported>Euank
No edit summary
imported>Nix
m add Software/Applications subcategory
Line 28: Line 28:
   ];
   ];
</syntaxHighlight>
</syntaxHighlight>
[[Category:Applications]]

Revision as of 05:59, 20 September 2021

K3s is a easier to use version of kubernetes. It bundles all components of a kubernetes cluster into one single binary.

Single node setup

{
  # This is required so that pod can reach the API server (running on port 6443 by default)
  networking.firewall.allowedTCPPorts = [ 6443 ];
  services.k3s.enable = true;
  services.k3s.role = "server";
  services.k3s.extraFlags = toString [
    # "--kubelet-arg=v=4" # Optionally add additional args to k3s
  ];
}

After enabling you can access you cluster through k3s kubectl i.e. k3s kubectl cluster-info, or by using the generated kubeconfig file in /etc/rancher/k3s/k3s.yaml

ZFS support

k3s's builtin containerd does not support the zfs snapshotter. However it is possible to configure it to use an external containerd:

  virtualisation.containerd.enable = true;
  # TODO describe how to enable zfs snapshotter in containerd
  services.k3s.extraFlags = toString [
    "--container-runtime-endpoint unix:///run/containerd/containerd.sock"
  ];