K3s: Difference between revisions
Appearance
	
	
imported>Mic92  add firewall.  | 
				imported>Mic92  describe zfs setup  | 
				||
| Line 16: | Line 16: | ||
After enabling you can access you cluster through <code>k3s kubectl</code> i.e. <code>k3s kubectl cluster-info</code>  | After enabling you can access you cluster through <code>k3s kubectl</code> i.e. <code>k3s kubectl cluster-info</code>  | ||
== ZFS support ==  | |||
k3s's builtin containerd does not support the zfs snapshotter. However it is possible to configure it to use an external containerd:  | |||
<syntaxHighlight lang=nix>  | |||
  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"  | |||
  ];  | |||
</syntaxHighlight>  | |||
Revision as of 20:55, 31 May 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 [
    "--flannel-backend=none"
  ];
}
After enabling you can access you cluster through k3s kubectl i.e. k3s kubectl cluster-info
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"
  ];