32 lines
721 B
Nix
32 lines
721 B
Nix
# Pin the deployment package-set to a specific version of nixpkgs
|
|
# with import <nixpkgs> {};
|
|
with import ../nixos-21.05.nix {};
|
|
let
|
|
|
|
master = {
|
|
node.name = "k0-0";
|
|
node.address = "10.1.8.50";
|
|
features.k8s.master.enable = true;
|
|
features.k8s.nodes = nodes;
|
|
services.kubernetes.kubelet.unschedulable = true;
|
|
imports = [ ./cluster.nix ./hw/k0-0.nix ];
|
|
};
|
|
|
|
nodes = [
|
|
{ name = "k0-1"; address = "10.1.8.51"; }
|
|
{ name = "k0-2"; address = "10.1.8.52"; }
|
|
];
|
|
|
|
mkNode = x: {
|
|
"${x.name}" =
|
|
{
|
|
node = x;
|
|
imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ];
|
|
};
|
|
};
|
|
|
|
in
|
|
builtins.foldl' (a: x: a // mkNode x) {
|
|
"${master.node.name}" = master;
|
|
} nodes
|