mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-07-09 06:05:10 +02:00
feat: hosts/k8s - fix k3s cidr (#200)
This commit is contained in:
@@ -20,14 +20,13 @@
|
|||||||
# use my own domain & kube-vip's virtual IP for the API server
|
# use my own domain & kube-vip's virtual IP for the API server
|
||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
# k3sExtraArgs = [
|
||||||
kubeletExtraArgs = [
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# ];
|
||||||
];
|
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -19,13 +19,13 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
|
||||||
kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -19,13 +19,13 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
|
||||||
kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -18,13 +18,13 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
|
||||||
kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -18,13 +18,13 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
|
||||||
kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -18,13 +18,13 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "prod-cluster-1.writefor.fun";
|
masterHost = "prod-cluster-1.writefor.fun";
|
||||||
|
|
||||||
kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
# "--cluster-cidr=172.20.0.0/16,fdfd:cafe:00:0003::/64"
|
||||||
"--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
# "--service-cidr=172.21.0.0/16,fdfd:cafe:00:8003::/112"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "test-cluster-1.writefor.fun";
|
masterHost = "test-cluster-1.writefor.fun";
|
||||||
|
|
||||||
# kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "test-cluster-1.writefor.fun";
|
masterHost = "test-cluster-1.writefor.fun";
|
||||||
|
|
||||||
# kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
# so that the API server can always be accessed even if some nodes are down
|
# so that the API server can always be accessed even if some nodes are down
|
||||||
masterHost = "test-cluster-1.writefor.fun";
|
masterHost = "test-cluster-1.writefor.fun";
|
||||||
|
|
||||||
# kubeletExtraArgs = [
|
# k3sExtraArgs = [
|
||||||
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
# # IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# # IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# # IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
|
|||||||
@@ -29,12 +29,13 @@
|
|||||||
# when cpu-manager's static policy is enabled
|
# when cpu-manager's static policy is enabled
|
||||||
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
||||||
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
||||||
|
];
|
||||||
|
k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
# "--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
||||||
"--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
# "--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
||||||
];
|
];
|
||||||
nodeLabels = [
|
nodeLabels = [
|
||||||
"node-purpose=kubevirt"
|
"node-purpose=kubevirt"
|
||||||
|
|||||||
@@ -26,12 +26,13 @@
|
|||||||
# when cpu-manager's static policy is enabled
|
# when cpu-manager's static policy is enabled
|
||||||
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
||||||
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
||||||
|
];
|
||||||
|
k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
# "--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
||||||
"--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
# "--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
||||||
];
|
];
|
||||||
nodeLabels = [
|
nodeLabels = [
|
||||||
"node-purpose=kubevirt"
|
"node-purpose=kubevirt"
|
||||||
|
|||||||
@@ -26,12 +26,13 @@
|
|||||||
# when cpu-manager's static policy is enabled
|
# when cpu-manager's static policy is enabled
|
||||||
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
# the memory we reserved here is also for the kernel, since kernel's memory is not accounted in pods
|
||||||
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
"--system-reserved=cpu=1,memory=2Gi,ephemeral-storage=2Gi"
|
||||||
|
];
|
||||||
|
k3sExtraArgs = [
|
||||||
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
# IPv4 Private CIDR(full) - 172.16.0.0/12
|
||||||
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
# IPv4 Pod CIDR(full) - fdfd:cafe:00:0000::/64 ~ fdfd:cafe:00:7fff::/64
|
||||||
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
# IPv4 Service CIDR(full) - fdfd:cafe:00:8000::/64 ~ fdfd:cafe:00:ffff::/64
|
||||||
"--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
# "--cluster-cidr=172.16.0.0/16,fdfd:cafe:00:0001::/64"
|
||||||
"--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
# "--service-cidr=172.17.0.0/16,fdfd:cafe:00:8001::/112"
|
||||||
];
|
];
|
||||||
nodeLabels = [
|
nodeLabels = [
|
||||||
"node-purpose=kubevirt"
|
"node-purpose=kubevirt"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
masterHost,
|
masterHost,
|
||||||
tokenFile,
|
tokenFile,
|
||||||
nodeLabels ? [],
|
nodeLabels ? [],
|
||||||
|
k3sExtraArgs ? [],
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
package = pkgs.k3s;
|
package = pkgs.k3s;
|
||||||
@@ -10,7 +11,12 @@ in {
|
|||||||
environment.systemPackages = [package];
|
environment.systemPackages = [package];
|
||||||
|
|
||||||
# Kernel modules required by cilium
|
# Kernel modules required by cilium
|
||||||
boot.kernelModules = ["ip6_tables" "ip6table_mangle" "ip6table_raw" "ip6table_filter"];
|
boot.kernelModules = [
|
||||||
|
"ip6_tables"
|
||||||
|
"ip6table_mangle"
|
||||||
|
"ip6table_raw"
|
||||||
|
"ip6table_filter"
|
||||||
|
];
|
||||||
networking.enableIPv6 = true;
|
networking.enableIPv6 = true;
|
||||||
networking.nat = {
|
networking.nat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -29,7 +35,8 @@ in {
|
|||||||
[
|
[
|
||||||
"--data-dir /var/lib/rancher/k3s"
|
"--data-dir /var/lib/rancher/k3s"
|
||||||
]
|
]
|
||||||
++ (map (label: "--node-label=${label}") nodeLabels);
|
++ (map (label: "--node-label=${label}") nodeLabels)
|
||||||
|
++ k3sExtraArgs;
|
||||||
in
|
in
|
||||||
pkgs.lib.concatStringsSep " " flagList;
|
pkgs.lib.concatStringsSep " " flagList;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
masterHost,
|
masterHost,
|
||||||
clusterInit ? false,
|
clusterInit ? false,
|
||||||
kubeletExtraArgs ? [],
|
kubeletExtraArgs ? [],
|
||||||
|
k3sExtraArgs ? [],
|
||||||
nodeLabels ? [],
|
nodeLabels ? [],
|
||||||
nodeTaints ? [],
|
nodeTaints ? [],
|
||||||
disableFlannel ? true,
|
disableFlannel ? true,
|
||||||
@@ -35,7 +36,12 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
# Kernel modules required by cilium
|
# Kernel modules required by cilium
|
||||||
boot.kernelModules = ["ip6_tables" "ip6table_mangle" "ip6table_raw" "ip6table_filter"];
|
boot.kernelModules = [
|
||||||
|
"ip6_tables"
|
||||||
|
"ip6table_mangle"
|
||||||
|
"ip6table_raw"
|
||||||
|
"ip6table_filter"
|
||||||
|
];
|
||||||
networking.enableIPv6 = true;
|
networking.enableIPv6 = true;
|
||||||
networking.nat = {
|
networking.nat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -71,7 +77,8 @@ in {
|
|||||||
++ (map (label: "--node-label=${label}") nodeLabels)
|
++ (map (label: "--node-label=${label}") nodeLabels)
|
||||||
++ (map (taint: "--node-taint=${taint}") nodeTaints)
|
++ (map (taint: "--node-taint=${taint}") nodeTaints)
|
||||||
++ (map (arg: "--kubelet-arg=${arg}") kubeletExtraArgs)
|
++ (map (arg: "--kubelet-arg=${arg}") kubeletExtraArgs)
|
||||||
++ (lib.optionals disableFlannel ["--flannel-backend=none"]);
|
++ (lib.optionals disableFlannel ["--flannel-backend=none"])
|
||||||
|
++ k3sExtraArgs;
|
||||||
in
|
in
|
||||||
lib.concatStringsSep " " flagList;
|
lib.concatStringsSep " " flagList;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user