Cleanup pki: controller-manager
This commit is contained in:
parent
8ab50cb239
commit
ce83dc2c52
@ -104,18 +104,30 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
config = mkIf cfg.enable {
|
config = let
|
||||||
systemd.services.kube-controller-manager = {
|
|
||||||
|
controllerManagerPaths = filter (a: a != null) [
|
||||||
|
cfg.kubeconfig.caFile
|
||||||
|
cfg.kubeconfig.certFile
|
||||||
|
cfg.kubeconfig.keyFile
|
||||||
|
cfg.rootCaFile
|
||||||
|
cfg.serviceAccountKeyFile
|
||||||
|
cfg.tlsCertFile
|
||||||
|
cfg.tlsKeyFile
|
||||||
|
];
|
||||||
|
|
||||||
|
in mkIf cfg.enable {
|
||||||
|
systemd.services.kube-controller-manager = rec {
|
||||||
description = "Kubernetes Controller Manager Service";
|
description = "Kubernetes Controller Manager Service";
|
||||||
wantedBy = [ "kube-control-plane-online.target" ];
|
wantedBy = [ "kube-control-plane-online.target" ];
|
||||||
after = [ "kube-apiserver.service" ];
|
after = [ "kube-apiserver.service" ];
|
||||||
before = [ "kube-control-plane-online.target" ];
|
before = [ "kube-control-plane-online.target" ];
|
||||||
|
environment.KUBECONFIG = top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig;
|
||||||
preStart = ''
|
preStart = ''
|
||||||
${top.lib.mkWaitCurl ( with config.systemd.services.kube-controller-manager; {
|
until kubectl auth can-i get /api -q 2>/dev/null; do
|
||||||
sleep = 1;
|
echo kubectl auth can-i get /api: exit status $?
|
||||||
path = "/api";
|
sleep 2
|
||||||
cacert = top.caFile;
|
done
|
||||||
} // optionalAttrs (environment ? cert) { inherit (environment) cert key; })}
|
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
RestartSec = "30s";
|
RestartSec = "30s";
|
||||||
@ -128,7 +140,7 @@ in
|
|||||||
"--cluster-cidr=${cfg.clusterCidr}"} \
|
"--cluster-cidr=${cfg.clusterCidr}"} \
|
||||||
${optionalString (cfg.featureGates != [])
|
${optionalString (cfg.featureGates != [])
|
||||||
"--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
|
"--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
|
||||||
--kubeconfig=${top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig} \
|
--kubeconfig=${environment.KUBECONFIG} \
|
||||||
--leader-elect=${boolToString cfg.leaderElect} \
|
--leader-elect=${boolToString cfg.leaderElect} \
|
||||||
${optionalString (cfg.rootCaFile!=null)
|
${optionalString (cfg.rootCaFile!=null)
|
||||||
"--root-ca-file=${cfg.rootCaFile}"} \
|
"--root-ca-file=${cfg.rootCaFile}"} \
|
||||||
@ -149,7 +161,16 @@ in
|
|||||||
User = "kubernetes";
|
User = "kubernetes";
|
||||||
Group = "kubernetes";
|
Group = "kubernetes";
|
||||||
};
|
};
|
||||||
path = top.path;
|
path = top.path ++ [ pkgs.kubectl ];
|
||||||
|
unitConfig.ConditionPathExists = controllerManagerPaths;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.paths.kube-controller-manager = {
|
||||||
|
wantedBy = [ "kube-controller-manager.service" ];
|
||||||
|
pathConfig = {
|
||||||
|
PathExists = controllerManagerPaths;
|
||||||
|
PathChanged = controllerManagerPaths;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.kubernetes.pki.certs = with top.lib; {
|
services.kubernetes.pki.certs = with top.lib; {
|
||||||
|
@ -136,13 +136,6 @@ in
|
|||||||
cfg.certs.schedulerClient.cert
|
cfg.certs.schedulerClient.cert
|
||||||
cfg.certs.schedulerClient.key
|
cfg.certs.schedulerClient.key
|
||||||
];
|
];
|
||||||
controllerManagerPaths = [
|
|
||||||
top.controllerManager.rootCaFile
|
|
||||||
top.controllerManager.tlsCertFile
|
|
||||||
top.controllerManager.tlsKeyFile
|
|
||||||
cfg.certs.controllerManagerClient.cert
|
|
||||||
cfg.certs.controllerManagerClient.key
|
|
||||||
];
|
|
||||||
kubeletPaths = [
|
kubeletPaths = [
|
||||||
top.kubelet.clientCaFile
|
top.kubelet.clientCaFile
|
||||||
top.kubelet.tlsCertFile
|
top.kubelet.tlsCertFile
|
||||||
@ -307,19 +300,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.kube-controller-manager = mkIf top.controllerManager.enable {
|
|
||||||
environment = { inherit (cfg.certs.controllerManagerClient) cert key; };
|
|
||||||
unitConfig.ConditionPathExists = controllerManagerPaths;
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.paths.kube-controller-manager = mkIf top.controllerManager.enable {
|
|
||||||
wantedBy = [ "kube-controller-manager.service" ];
|
|
||||||
pathConfig = {
|
|
||||||
PathExists = controllerManagerPaths;
|
|
||||||
PathChanged = controllerManagerPaths;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.kube-scheduler = mkIf top.scheduler.enable {
|
systemd.services.kube-scheduler = mkIf top.scheduler.enable {
|
||||||
environment = { inherit (top.pki.certs.schedulerClient) cert key; };
|
environment = { inherit (top.pki.certs.schedulerClient) cert key; };
|
||||||
unitConfig.ConditionPathExists = schedulerPaths;
|
unitConfig.ConditionPathExists = schedulerPaths;
|
||||||
|
Loading…
Reference in New Issue
Block a user