Skip to content

Commit 2b88071

Browse files
authored
Merge pull request #818 from afbjorklund/kubeadm-config
Set the kubelet cgroup driver to systemd (v2)
2 parents 64bff43 + c7be769 commit 2b88071

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

examples/k8s.yaml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,24 @@ provision:
7171
rm -f /etc/cni/net.d/*.conf*
7272
apt-get install -y kubelet kubeadm kubectl && apt-mark hold kubelet kubeadm kubectl
7373
systemctl enable --now kubelet
74+
- mode: system
75+
script: |
76+
#!/bin/bash
77+
set -eux -o pipefail
78+
grep SystemdCgroup /etc/containerd/config.toml && exit 0
79+
grep "version = 2" /etc/containerd/config.toml || exit 1
80+
# Configuring a cgroup driver
81+
cat <<EOF >>/etc/containerd/config.toml
82+
[plugins]
83+
[plugins."io.containerd.grpc.v1.cri"]
84+
[plugins."io.containerd.grpc.v1.cri".containerd]
85+
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
86+
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
87+
runtime_type = "io.containerd.runc.v2"
88+
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
89+
SystemdCgroup = true
90+
EOF
91+
systemctl restart containerd
7492
- mode: system
7593
script: |
7694
#!/bin/bash
@@ -80,7 +98,25 @@ provision:
8098
kubeadm config images list
8199
kubeadm config images pull --cri-socket=unix:///run/containerd/containerd.sock
82100
# Initializing your control-plane node
83-
kubeadm init --cri-socket=unix:///run/containerd/containerd.sock --pod-network-cidr=10.244.0.0/16 --apiserver-cert-extra-sans 127.0.0.1
101+
cat <<EOF >kubeadm-config.yaml
102+
kind: InitConfiguration
103+
apiVersion: kubeadm.k8s.io/v1beta3
104+
nodeRegistration:
105+
criSocket: unix:///run/containerd/containerd.sock
106+
---
107+
kind: ClusterConfiguration
108+
apiVersion: kubeadm.k8s.io/v1beta3
109+
apiServer:
110+
certSANs: # --apiserver-cert-extra-sans
111+
- "127.0.0.1"
112+
networking:
113+
podSubnet: "10.244.0.0/16" # --pod-network-cidr
114+
---
115+
kind: KubeletConfiguration
116+
apiVersion: kubelet.config.k8s.io/v1beta1
117+
cgroupDriver: systemd
118+
EOF
119+
kubeadm init --config kubeadm-config.yaml
84120
# Installing a Pod network add-on
85121
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.14.0/Documentation/kube-flannel.yml
86122
# Control plane node isolation

0 commit comments

Comments
 (0)