Update k8s clusters and fs servers

This commit is contained in:
Jonas Juselius
2021-09-23 14:30:14 +02:00
parent b83ded25a8
commit 28b7d136a7
9 changed files with 128 additions and 58 deletions

View File

@@ -1,10 +1,36 @@
with import <nixpkgs> {};
let
etcdNodes = {
k1-0 = "10.1.30.100";
k1-1 = "10.1.30.101";
k1-2 = "10.1.30.102";
};
etcdCluster = {
enable = true;
existing = true;
nodes = etcdNodes;
};
master = {
node.name = "k1-0";
node.address = "10.1.30.100";
features.k8s.master.enable = true;
features.k8s.nodes = nodes;
features.k8s = {
host.name = "k1-0";
host.address = "10.1.30.100";
master.enable = true;
nodes = nodes;
inherit etcdCluster;
};
fileSystems = {
"/vol/local-storage/vol1" = {
device = "/vol/vol1";
options = [ "bind" ];
};
};
services.kubernetes.kubelet.taints.unschedulable = {
key = "node.kubernetes.io/unschedulable";
value = "true";
effect = "NoSchedule";
};
imports = [ ./cluster.nix ./hw/k1-0.nix ];
};
@@ -12,18 +38,27 @@ let
{ name = "k1-1"; address = "10.1.30.101"; }
{ name = "k1-2"; address = "10.1.30.102"; }
{ name = "k1-3"; address = "10.1.30.103"; }
{ name = "k1-4"; address = "10.1.30.104"; }
{ name = "k1-5"; address = "10.1.30.105"; }
];
mkNode = x: {
"${x.name}" = {
node.name = x.name;
node.address = x.address;
imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ];
};
"${x.name}" =
lib.mkMerge [
{
features.k8s.host = x;
}
(if builtins.hasAttr x.name etcdNodes then
{
features.k8s = { inherit etcdCluster; };
}
else {})
]
// { imports = [ ./cluster.nix (./hw + "/${x.name}.nix") ]; };
};
in
builtins.foldl' (a: x: a // mkNode x) {
"${master.node.name}" = master;
"${master.features.k8s.host.name}" = master;
} nodes