Update k8s clusters and fs servers
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user