Skip to content

Commit fbbbb71

Browse files
authored
Create common.sh
1 parent b7ada43 commit fbbbb71

File tree

1 file changed

+100
-0
lines changed

1 file changed

+100
-0
lines changed

kubeadm/common.sh

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
#!/bin/bash
2+
#i1) Switch to root user [ sudo -i]
3+
4+
sudo hostnamectl set-hostname node1
5+
6+
#2) Disable swap & add kernel settings
7+
8+
swapoff -a
9+
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
10+
11+
12+
#3) Add kernel settings & Enable IP tables(CNI Prerequisites)
13+
14+
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
15+
overlay
16+
br_netfilter
17+
EOF
18+
19+
modprobe overlay
20+
modprobe br_netfilter
21+
22+
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
23+
net.bridge.bridge-nf-call-iptables = 1
24+
net.bridge.bridge-nf-call-ip6tables = 1
25+
net.ipv4.ip_forward = 1
26+
EOF
27+
28+
sysctl --system
29+
30+
#4) Install containerd run time
31+
32+
#To install containerd, first install its dependencies.
33+
34+
apt-get update -y
35+
apt-get install ca-certificates curl gnupg lsb-release -y
36+
37+
#Note: We are not installing Docker Here.Since containerd.io package is part of docker apt repositories hence we added docker repository & it's key to download and install containerd.
38+
# Add Docker’s official GPG key:
39+
sudo mkdir -p /etc/apt/keyrings
40+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
41+
42+
#Use follwing command to set up the repository:
43+
44+
echo \
45+
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
46+
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
47+
48+
# Install containerd
49+
50+
apt-get update -y
51+
apt-get install containerd.io -y
52+
53+
# Generate default configuration file for containerd
54+
55+
#Note: Containerd uses a configuration file located in /etc/containerd/config.toml for specifying daemon level options.
56+
#The default configuration can be generated via below command.
57+
58+
containerd config default > /etc/containerd/config.toml
59+
60+
# Run following command to update configure cgroup as systemd for contianerd.
61+
62+
sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
63+
64+
# Restart and enable containerd service
65+
66+
systemctl restart containerd
67+
systemctl enable containerd
68+
69+
5) Installing kubeadm, kubelet and kubectl
70+
71+
# Update the apt package index and install packages needed to use the Kubernetes apt repository:
72+
73+
apt-get update
74+
apt-get install -y apt-transport-https ca-certificates curl
75+
76+
# Download the Google Cloud public signing key:
77+
78+
curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
79+
80+
# Add the Kubernetes apt repository:
81+
82+
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
83+
84+
# Update apt package index, install kubelet, kubeadm and kubectl, and pin their version:
85+
86+
apt-get update
87+
apt-get install -y kubelet kubeadm kubectl
88+
89+
# apt-mark hold will prevent the package from being automatically upgraded or removed.
90+
91+
apt-mark hold kubelet kubeadm kubectl
92+
93+
# Enable and start kubelet service
94+
95+
systemctl daemon-reload
96+
systemctl start kubelet
97+
systemctl enable kubelet.service
98+
99+
sudo kubeadm join 10.0.0.6:6443 --token xmzufh.e0nu3kb5ohijfxyh \
100+
--discovery-token-ca-cert-hash sha256:579b6a53bd00c8483f5150b9fb521b6431fc38b1ac716b8b9a5f668928a93771

0 commit comments

Comments
 (0)