Skip to content

Commit b151286

Browse files
committed
added kubernetes and minikube in bootstrap.sh
1 parent e662afe commit b151286

1 file changed

Lines changed: 29 additions & 10 deletions

File tree

bootstrap.sh

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ set -e # exit on error
44
set -u # treat unset vars as errors
55
set -o pipefail # catch errors in pipelines
66

7+
GREEN='\033[0;32m'
8+
NC='\033[0m'
9+
710
log() {
811
echo -e "${GREEN}[+] $1${NC}"
912
}
@@ -19,7 +22,7 @@ install_basic_tools() {
1922
sudo apt-get install -y \
2023
curl wget unzip git make \
2124
python3 python3-pip python3-venv \
22-
software-properties-common
25+
software-properties-common apt-transport-https ca-certificates gnupg lsb-release
2326
}
2427

2528
install_postgres_client() {
@@ -29,12 +32,8 @@ install_postgres_client() {
2932

3033
install_docker() {
3134
log "Installing Docker CE..."
32-
# Remove older versions if any
3335
sudo apt-get remove -y docker docker-engine docker.io containerd runc || true
3436

35-
# Install prerequisites
36-
sudo apt-get install -y apt-transport-https ca-certificates gnupg lsb-release
37-
3837
# Add Docker’s official GPG key
3938
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
4039

@@ -43,21 +42,41 @@ install_docker() {
4342
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
4443
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4544

46-
# Install Docker
4745
sudo apt-get update -y
4846
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4947

50-
# Enable & add vagrant user to docker group
5148
sudo systemctl enable docker
52-
sudo usermod -aG docker vagrant
49+
sudo usermod -aG docker vagrant || true
50+
}
51+
52+
install_kubernetes_tools() {
53+
log "Installing Kubernetes tools (kubectl, minikube)..."
54+
55+
# Install kubectl
56+
curl -LO "https://dl.k8s.io/release/$(curl -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
57+
chmod +x kubectl
58+
sudo mv kubectl /usr/local/bin/
59+
60+
# Install minikube
61+
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
62+
sudo install minikube-linux-amd64 /usr/local/bin/minikube
63+
rm -f minikube-linux-amd64
5364
}
5465

5566
main() {
5667
update_system
5768
install_basic_tools
5869
install_postgres_client
5970
install_docker
60-
log "Bootstrap completed! Please log out and log back in (or run 'newgrp docker') to use Docker without sudo."
71+
install_kubernetes_tools
72+
73+
log "Bootstrap completed!"
74+
log "Please log out and log back in (or run 'newgrp docker') to use Docker without sudo."
75+
log "Run 'minikube start --driver=docker --nodes 3' to start your Kubernetes cluster."
76+
log "After that, you can label nodes with:"
77+
echo "kubectl label node minikube type=application"
78+
echo "kubectl label node minikube-m02 type=database"
79+
echo "kubectl label node minikube-m03 type=dependent_services"
6180
}
6281

63-
main "$@"
82+
main "$@"

0 commit comments

Comments
 (0)