1 {{- define "cluster.containerRuntime" -}}
2 {{- if eq .containerRuntime "containerd" -}}
3 - path: /usr/local/bin/install-container-runtime.sh
8 cat <<EOF | tee /etc/modules-load.d/containerd.conf
14 cat <<EOF | tee /etc/sysctl.d/99-kubernetes-cri.conf
15 net.bridge.bridge-nf-call-iptables = 1
16 net.ipv4.ip_forward = 1
17 net.bridge.bridge-nf-call-ip6tables = 1
20 apt-get install -y containerd.io={{ .containerdVersion }}
21 mkdir -p /etc/containerd
22 containerd config default | tee /etc/containerd/config.toml
23 sed -i 's/\(.*\)\[plugins\."io\.containerd\.grpc\.v1\.cri"\.containerd\.runtimes\.runc\.options\]/&\n\1 SystemdCgroup = true/' /etc/containerd/config.toml
24 {{- if .dockerRegistryMirrors }}
25 sed -i 's/endpoint = \["https:\/\/registry-1\.docker\.io"\]/endpoint = {{ append .dockerRegistryMirrors "https://registry-1.docker.io" | toJson | replace "/" "\\/" | replace "[" "\\[" | replace "]" "\\]" }}/' /etc/containerd/config.toml
27 systemctl restart containerd
28 {{- else if eq .containerRuntime "docker" -}}
29 - path: /usr/local/bin/install-container-runtime.sh
34 apt-get install -y docker-ce={{ .dockerVersion }} docker-ce-cli={{ .dockerVersion }} containerd.io={{ .containerdVersion }}
35 systemctl enable --now docker
36 usermod -aG docker ubuntu
37 - path: /etc/docker/daemon.json
40 "exec-opts": ["native.cgroupdriver=systemd"],
41 "log-driver": "json-file",
45 {{- if .dockerRegistryMirrors }}
46 "registry-mirrors": {{ .dockerRegistryMirrors | toJson }}
48 "storage-driver": "overlay2"