Capture creation of cluster into Helm chart
[icn.git] / deploy / clusters / templates / _containerruntime.yaml
1 {{- define "clusters.containerRuntime" -}}
2 {{- if eq .containerRuntime "containerd" -}}
3 - path: /usr/local/bin/install-container-runtime.sh
4   permissions: '0777'
5   content: |
6     #!/usr/bin/env bash
7     set -eux -o pipefail
8     cat <<EOF | tee /etc/modules-load.d/containerd.conf
9     overlay
10     br_netfilter
11     EOF
12     modprobe overlay
13     modprobe br_netfilter
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
18     EOF
19     sysctl --system
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     systemctl restart containerd
25 {{- else if eq .containerRuntime "docker" -}}
26 - path: /usr/local/bin/install-container-runtime.sh
27   permissions: '0777'
28   content: |
29     #!/usr/bin/env bash
30     set -eux -o pipefail
31     apt-get install -y docker-ce={{ .dockerVersion }} docker-ce-cli={{ .dockerVersion }} containerd.io={{ .containerdVersion }}
32     systemctl enable --now docker
33     usermod -aG docker ubuntu
34 - path: /etc/docker/daemon.json
35   content: |
36     {
37       "exec-opts": ["native.cgroupdriver=systemd"],
38       "log-driver": "json-file",
39       "log-opts": {
40         "max-size": "100m"
41       },
42       "storage-driver": "overlay2"
43     }
44 {{- end }}
45 {{- end }}