Skip to content

Commit 2d104b3

Browse files
authored
Update installK8S-v1-23.sh
1 parent 1e7064d commit 2d104b3

File tree

1 file changed

+29
-77
lines changed

1 file changed

+29
-77
lines changed

scripts/installK8S-v1-23.sh

Lines changed: 29 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,19 @@
11
#!/bin/bash
22

33
install_ubuntu() {
4-
which docker
5-
if [ $? -eq 0 ];then
6-
#### Remove any pre installed docker packages
7-
sudo systemctl stop docker.service
8-
sudo apt-mark unhold docker-ce
9-
sudo apt-get remove -y docker docker-ce docker-ce-cli docker.io containerd runc kubeadm kubectl kubelet
10-
cd /var/lib
11-
sudo rm -r docker
12-
else
13-
echo "docker not installed.. continue to install"
14-
fi
15-
16-
#### Install Specific Docker version
17-
sudo apt-get update
18-
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
19-
20-
## Add Dockers official GPG key
21-
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
22-
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
23-
sudo apt-get update ; clear
24-
sudo apt-get install -y docker-ce --allow-downgrades --allow-change-held-packages
25-
26-
if [ $? -eq 0 ];then
27-
if [ -f /etc/docker/daemon.json ];then
28-
echo "cgroup config is already configured skipping.."
29-
else
30-
echo "docker-ce is successfully installed"
31-
yum install -y wget
32-
sudo wget https://raw.githubusercontent.com/lerndevops/labs/master/kubernetes/0-install/daemon.json -P /etc/docker
33-
sudo systemctl restart docker.service ; clear
34-
fi
35-
else
36-
echo "issue with docker-ce installation - process abort"
37-
exit 1
38-
fi
39-
echo " "
404

415
#### Install Kubernetes latest components
6+
sudo apt-get update
7+
sudo apt-get install -y apt-transport-https ca-certificates curl
428
echo "starting the installation of k8s components (kubeadm,kubelet,kubectl) ...."
43-
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
44-
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
45-
sudo apt-get update ; clear
46-
sudo apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 --allow-downgrades --allow-change-held-packages
9+
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
10+
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
11+
sudo apt-get update
12+
sudo apt-get install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00
4713

4814
if [ $? -eq 0 ];then
4915
echo "kubelet, kubeadm & kubectl are successfully installed"
50-
sudo apt-mark hold kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 docker-ce docker-ce-cli
16+
sudo apt-mark hold kubelet kubeadm kubectl
5117
else
5218
echo "issue in installing kubelet, kubeadm & kubectl - process abort"
5319
exit 2
@@ -56,54 +22,40 @@ install_ubuntu() {
5622

5723
install_centos() {
5824

59-
which docker
60-
if [ $? -eq 0 ];then
61-
sudo yum remove docker-client-latest docker-latest docker-latest-logrotate docker-logrotate docker-engine
62-
cd /var/lib
63-
rm -rf docker
64-
yum clean
65-
else
66-
echo "docker is not installed... continue to install"
67-
fi
25+
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
26+
[kubernetes]
27+
name=Kubernetes
28+
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
29+
enabled=1
30+
gpgcheck=1
31+
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
32+
exclude=kubelet kubeadm kubectl
33+
EOF
34+
35+
sudo setenforce 0
36+
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
37+
sudo yum install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 --disableexcludes=kubernetes
38+
sudo systemctl enable --now kubelet
6839

69-
sudo yum install -y yum-utils ## device-mapper-persistent-data lvm2
70-
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
71-
sudo yum install -y docker-ce docker-ce-cli containerd.io
72-
sudo systemctl enable docker.service
73-
74-
if [ $? -eq 0 ];then
75-
if [ -f /etc/docker/daemon.json ];then
76-
echo "cgroup config is already configured skipping.."
77-
else
78-
echo "docker-ce is successfully installed"
79-
yum install -y wget
80-
sudo wget https://raw.githubusercontent.com/lerndevops/labs/master/kubernetes/0-install/daemon.json -P /etc/docker
81-
sudo service docker restart ; clear
82-
fi
83-
else
84-
echo "issue with docker-ce installation - process abort"
85-
exit 1
86-
fi
87-
echo " "
40+
}
8841

89-
# Install kubeadm, kubelet, kubectl
42+
install_amzn() {
9043

9144
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
9245
[kubernetes]
9346
name=Kubernetes
9447
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
9548
enabled=1
9649
gpgcheck=1
97-
repo_gpgcheck=1
9850
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
9951
exclude=kubelet kubeadm kubectl
10052
EOF
10153

102-
# Set SELinux in permissive mode (effectively disabling it)
103-
sudo setenforce 0
104-
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
105-
sudo yum install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 --disableexcludes=kubernetes
106-
sudo systemctl enable --now kubelet
54+
sudo setenforce 0
55+
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
56+
sudo yum install -y kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00 --disableexcludes=kubernetes
57+
sudo systemctl enable --now kubelet
58+
10759
}
10860
################ MAIN ###################
10961

@@ -113,7 +65,7 @@ if [ -f /etc/os-release ];then
11365
if [ $osname == "ubuntu" ];then
11466
install_ubuntu
11567
elif [ $osname == "amzn" ];then
116-
install_centos
68+
install_amzn
11769
elif [ $osname == "centos" ];then
11870
install_centos
11971
fi

0 commit comments

Comments
 (0)