Last active
May 7, 2023 02:43
-
-
Save ferdinandosimonetti/c293e1421cdc2beb136fb6c32d206530 to your computer and use it in GitHub Desktop.
MicroK8s (+ some IaaC tools) preparation via Multipass for Windows 10 Pro (client Hyper-V enabled)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Enable Hyper-V feature (reboot needed) | |
#### Install Multipass from https://github.com/CanonicalLtd/multipass/releases/ | |
#### Create your Ubuntu LTS VM (on your Hyper-V / Virtualbox machine) | |
multipass launch --cpus 2 --mem 2G --name microk8s --disk 40G | |
# Update & upgrade | |
multipass exec microk8s -- sudo apt-get -y update | |
multipass exec microk8s -- sudo apt-get -y upgrade | |
multipass exec microk8s -- sudo apt -y autoremove | |
# getting rid of "nano" as default editor | |
multipass exec microk8s -- sudo update-alternatives --set editor /usr/bin/vim.basic | |
# Set basic GIT info | |
multipass exec microk8s -- git config --global user.name 'Name Surname' | |
multipass exec microk8s -- git config --global user.email 'email@address.com' | |
# Install MicroK8s | |
multipass exec microk8s -- sudo snap install microk8s --classic | |
# Add "multipass" user to MicroK8s group | |
multipass exec microk8s -- sudo usermod -a -G microk8s multipass | |
# Add ACCEPT default for FORWARD iptables chain (probably not needed) | |
multipass exec microk8s -- sudo iptables -P FORWARD ACCEPT | |
# We'd like to save our IPTABLES rules between reboots | |
multipass exec microk8s -- sudo apt-get -qy install iptables-persistent netfilter-persistent python3-pip zip unzip software-properties-common | |
multipass exec microk8s -- sudo mkdir /etc/iptables | |
multipass exec microk8s -- "sudo iptables-save | sudo tee /etc/iptables/rules.v4" | |
# enabling useful addons | |
multipass exec microk8s -- microk8s.enable dns | |
multipass exec microk8s -- microk8s.enable storage | |
# Enabling .local/bin for PATH | |
multipass exec microk8s -- mkdir -p /home/multipass/.local/bin | |
multipass exec microk8s -- . /home/multipass/.profile | |
# Creating .kube dir | |
multipass exec microk8s -- mkdir -p /home/multipass/.kube | |
# installing Helm (overcoming "Error: error installing: the server could not find the requested resource" message) | |
multipass exec microk8s -- "microk8s.helm init --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | microk8s.kubectl apply -f -" | |
# Ansible | |
multipass exec microk8s -- sudo apt-add-repository -y --update ppa:ansible/ansible | |
sudo apt-get -y install ansible | |
# TFENV and latest Terraform version | |
git clone https://github.com/tfutils/tfenv.git /home/multipass/.tfenv | |
ln -s /home/multipass/.tfenv/bin/* /home/multipass/.local/bin | |
echo 'trust-tfenv: yes' > ~/.tfenv/use-gpgv | |
tfenv install latest | |
# install PIP3 | |
sudo apt-get -y install python3-pip | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment