nixos/kubernetes: Seed docker images before kubelet service start
to speed up startup time because it can be parallelized.
This commit is contained in:
parent
cf8389c904
commit
fd28c0a82a
nixos/modules/services/cluster/kubernetes
|
@ -257,12 +257,7 @@ in
|
||||||
before = [ "kubelet.target" ];
|
before = [ "kubelet.target" ];
|
||||||
path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path;
|
path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path;
|
||||||
preStart = ''
|
preStart = ''
|
||||||
${concatMapStrings (img: ''
|
rm -f /opt/cni/bin/* || true
|
||||||
echo "Seeding docker image: ${img}"
|
|
||||||
docker load <${img}
|
|
||||||
'') cfg.seedDockerImages}
|
|
||||||
|
|
||||||
rm /opt/cni/bin/* || true
|
|
||||||
${concatMapStrings (package: ''
|
${concatMapStrings (package: ''
|
||||||
echo "Linking cni package: ${package}"
|
echo "Linking cni package: ${package}"
|
||||||
ln -fs ${package}/bin/* /opt/cni/bin
|
ln -fs ${package}/bin/* /opt/cni/bin
|
||||||
|
@ -328,6 +323,22 @@ in
|
||||||
|
|
||||||
systemd.services.docker.before = [ "kubelet.service" ];
|
systemd.services.docker.before = [ "kubelet.service" ];
|
||||||
|
|
||||||
|
systemd.services.docker-seed-images = {
|
||||||
|
wantedBy = [ "docker.service" ];
|
||||||
|
after = [ "docker.service" ];
|
||||||
|
before = [ "kubelet.service" ];
|
||||||
|
path = with pkgs; [ docker ];
|
||||||
|
preStart = ''
|
||||||
|
${concatMapStrings (img: ''
|
||||||
|
echo "Seeding docker image: ${img}"
|
||||||
|
docker load <${img}
|
||||||
|
'') cfg.seedDockerImages}
|
||||||
|
'';
|
||||||
|
script = "echo Ok";
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
serviceConfig.Slice = "kubernetes.slice";
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.node-online = {
|
systemd.services.node-online = {
|
||||||
wantedBy = [ "node-online.target" ];
|
wantedBy = [ "node-online.target" ];
|
||||||
after = [ "flannel.target" "kubelet.target" ];
|
after = [ "flannel.target" "kubelet.target" ];
|
||||||
|
|
Loading…
Reference in New Issue