Skip to content

Instantly share code, notes, and snippets.

@thefish
Created August 21, 2024 02:44
Show Gist options
  • Save thefish/22a5b236602afa7ec9e874a7765e71a4 to your computer and use it in GitHub Desktop.
Save thefish/22a5b236602afa7ec9e874a7765e71a4 to your computer and use it in GitHub Desktop.
Arch Linux (Ctlos): Installing minikube with kvm2
# Установка minikube c kvm2 на Arch Linuc (Ctlos)
#
# Поставить нужные пакеты:
yay -S minikube kubectl docker-machine-driver-kvm2 libvirt qemu-headless iptables-nft
# Делаем чтоб libvirt работал:
sudo systemctl enable libvirtd.service
sudo usermod -a -G libvirt $(whoami)
sudo chown -R ":libvirt" /var/run/libvirt
# включаем в /etc/libvirt/network.conf: firewall_backend = "nftables"
sudo -E vi /etc/libvirt/network.conf
# Пляски с виртуальной сетью (только если default сеть не поднялась):
sudo mkdir /usr/share/libvirt/networks
sudo echo "<network>
<name>default</name>
<bridge name="virbr0"/>
<forward mode="nat"/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254"/>
</dhcp>
</ip>
<ip family="ipv6" address="2001:db8:ca2:2::1" prefix="64"/>
</network>" > /usr/share/libvirt/networks/default.xml
sudo virsh net-define /usr/share/libvirt/networks/default.xml
#! Обязательно !
sudo virsh net-autostart default
# Проверяем:
# (должна присутствовать сеть default)
sudo virsh net-list --all
# Перезагрузка - нужна втч для запуска демона libvirt и перезахода под юзером с новой группой
sudo reboot
# Запускаем minikube с kvm2 и default сетью
minikube start --vm-driver kvm2 --network="default"
# Запустилось? Делаем kvm2 драйвером по умолчанию
minikube config set driver kvm2
# Optional - use 1/4 (or you choose fraction) of total memory, default is only 2GB
MEMORY_FRACTION=4
minikube config set memory "$(($(free --mega | head -n2 | tail -n1 | cut -c15-27)/$MEMORY_FRACTION))
minikube start
minikube dashboard
kubectl cluster-info
# SHIT HAPPENED! Если что-то пошло не так, гуглим ошибку, исправляем ситуацию, а потом:
# $ rm -rf ~/.minikube
# $ minikube delete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment