|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +echo "Updating and upgrading the package index..." |
| 4 | +sleep 2 |
| 5 | +sudo apt update |
| 6 | + |
| 7 | +echo "Installing necessary packages for transport over HTTPS..." |
| 8 | +sleep 2 |
| 9 | +sudo apt-get install -y apt-transport-https ca-certificates curl |
| 10 | + |
| 11 | +echo "Installing Docker..." |
| 12 | +sleep 2 |
| 13 | +sudo apt install docker.io -y |
| 14 | + |
| 15 | +echo "Starting Docker and enabling it to run on boot..." |
| 16 | +sleep 2 |
| 17 | +sudo systemctl start docker |
| 18 | +sudo systemctl enable docker |
| 19 | + |
| 20 | +echo "Adding the Kubernetes signing key..." |
| 21 | +sleep 2 |
| 22 | +curl -fsSL "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpg |
| 23 | + |
| 24 | +echo "Adding the Kubernetes APT repository..." |
| 25 | +sleep 2 |
| 26 | +echo 'deb https://packages.cloud.google.com/apt kubernetes-xenial main' | sudo tee /etc/apt/sources.list.d/kubernetes.list |
| 27 | + |
| 28 | +echo "Updating the package index after adding Kubernetes repository..." |
| 29 | +sleep 2 |
| 30 | +sudo apt update |
| 31 | + |
| 32 | +echo "Installing Kubernetes components (kubeadm, kubectl, kubelet)..." |
| 33 | +sleep 2 |
| 34 | +sudo apt install kubeadm=1.20.0-00 kubectl=1.20.0-00 kubelet=1.20.0-00 -y |
| 35 | + |
| 36 | +echo "Initializing Kubernetes cluster with kubeadm..." |
| 37 | +sleep 2 |
| 38 | +sudo kubeadm init |
| 39 | + |
| 40 | +echo "Setting up local kubeconfig..." |
| 41 | +sleep 2 |
| 42 | +mkdir -p $HOME/.kube |
| 43 | +sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config |
| 44 | +sudo chown $(id -u):$(id -g) $HOME/.kube/config |
| 45 | + |
| 46 | +echo "Applying Weave Net CNI plugin..." |
| 47 | +sleep 2 |
| 48 | +kubectl apply -f https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s.yaml |
| 49 | + |
| 50 | + |
| 51 | +echo "Displaying the status of the nodes in the Kubernetes cluster..." |
| 52 | +sleep 2 |
| 53 | +kubectl get nodes |
| 54 | + |
| 55 | +echo "The Kubernetes cluster setup is complete." |
0 commit comments