Skip to content

Instantly share code, notes, and snippets.

@franktate
Last active April 19, 2023 13:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save franktate/6613490cee494025942a2b2c9d1b501a to your computer and use it in GitHub Desktop.
Save franktate/6613490cee494025942a2b2c9d1b501a to your computer and use it in GitHub Desktop.
Configure Ubuntu 20.04 Desktop to prepare for Minikube and the ELK stack
#!/bin/bash
#
# Full list of commands required to install minikube on Ubuntu 20.04
#
sudo groupadd docker
sudo usermod -aG docker $USER
group=docker
if [ $(id -gn) != $group ]; then
exec sg $group "$0 $*"
fi
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release net-tools
sudo apt-get update
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo systemctl status docker
# verify docker works
docker run hello-world
sudo apt install -y curl wget apt-transport-https
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version -o yaml
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
# Start minikube: Change memory and cpus to whatever you need
minikube start --addons=ingress default-storageclass storage-provisioner --install-addons=true --kubernetes-version=stable --driver=docker --memory 49152 --cpus 16
# configure kubectl bash completion
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
echo 'alias k=kubectl' >>~/.bashrc
echo 'complete -o default -F __start_kubectl k' >>~/.bashrc
. ~/.bashrc
# start new shell in docker group
exec newgrp docker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment