K3s: Difference between revisions
imported>Mcsaucy document that you need ports 2379 and 2380 for etcd peers and clients if using HA with etcd |
imported>Georgiancamarasan m Fixed minor spellcheck issues |
||
Line 26: | Line 26: | ||
See this [https://github.com/Mic92/doctor-cluster-config/tree/master/modules/k3s real world example]. You might want to ignore some parts of it i.e. the monitoring as this is specific to our setup. | See this [https://github.com/Mic92/doctor-cluster-config/tree/master/modules/k3s real world example]. You might want to ignore some parts of it i.e. the monitoring as this is specific to our setup. | ||
The K3s server needs to import <code>modules/k3s/server.nix</code> and an agent <code>modules/k3s/agent.nix</code>. | The K3s server needs to import <code>modules/k3s/server.nix</code> and an agent <code>modules/k3s/agent.nix</code>. | ||
Tip: You might run into issues with coredns not being reachable from agent nodes. Right now, we disable the NixOS firewall all together until we find a better solution. | |||
== ZFS support == | == ZFS support == | ||
K3s's builtin containerd does not support the zfs snapshotter. However it is possible to configure it to use an external containerd: | 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> | <syntaxHighlight lang=nix> | ||
Line 59: | Line 59: | ||
== Network policies == | == Network policies == | ||
The current k3s derivation doesn't include <code>ipset</code> package which is required by the network policy controller. | The current k3s derivation doesn't include <code>ipset</code> package, which is required by the network policy controller. | ||
k3s logs | k3s logs | ||
Line 66: | Line 66: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
There is an open pull request to fix it https://github.com/NixOS/nixpkgs/pull/176520#pullrequestreview-1304593562. Until then the package can be added to k3s's path as | There is an open pull request to fix it https://github.com/NixOS/nixpkgs/pull/176520#pullrequestreview-1304593562. Until then, the package can be added to k3s's path as follows | ||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
systemd.services.k3s.path = [ pkgs.ipset ]; | systemd.services.k3s.path = [ pkgs.ipset ]; | ||
Line 75: | Line 75: | ||
=== Raspberry Pi not working === | === Raspberry Pi not working === | ||
If the k3s.service/k3s server does not start and gives you | If the k3s.service/k3s server does not start and gives you the error <code>FATA[0000] failed to find memory cgroup (v2)</code> Here's the github issue: https://github.com/k3s-io/k3s/issues/2067 . | ||
To fix the problem you can add these things to your configuration.nix. | To fix the problem, you can add these things to your configuration.nix. | ||
<source lang="nix"> boot.kernelParams = [ | <source lang="nix"> boot.kernelParams = [ |