@@ -71,6 +71,24 @@ provision:
71
71
rm -f /etc/cni/net.d/*.conf*
72
72
apt-get install -y kubelet kubeadm kubectl && apt-mark hold kubelet kubeadm kubectl
73
73
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
74
92
- mode : system
75
93
script : |
76
94
#!/bin/bash
@@ -80,7 +98,25 @@ provision:
80
98
kubeadm config images list
81
99
kubeadm config images pull --cri-socket=unix:///run/containerd/containerd.sock
82
100
# 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
84
120
# Installing a Pod network add-on
85
121
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.14.0/Documentation/kube-flannel.yml
86
122
# Control plane node isolation
0 commit comments