minikube安装篇
安装需求2 个 CPU 或更多2GB 可用内存20GB 可用磁盘空间网络连接容器或虚拟机管理器,例如:Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMware Fusion/WorkstationWindows下载下载地址New-Item -Path 'c:\' -Name 'minikube' -ItemType Directo
安装需求
- 2 个 CPU 或更多
- 2GB 可用内存
- 20GB 可用磁盘空间
- 网络连接
- 容器或虚拟机管理器,例如:Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMware Fusion/Workstation
Windows
下载
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
启动
minikube启动需要从具有管理员权限启动,启动后会根据当前系统状况选择驱动,当然也可以自己设置驱动,Windows推荐hyper-V和docker驱动方式
minikube start
hyper-V
Hyper-V是内置于现代版本的 Microsoft Windows 中的本机管理程序。要求64 位版本的 Windows 10 企业版、专业版或教育版。
启动hyper-V:以管理员身份打开 PowerShell 控制台,然后运行以下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
设置默认驱动为hyperv
minikube config set driver hyperv
指定hyperv启动
minikube start --driver=hyperv
minikube start
还支持设置特殊的选项
- **–hyperv-virtual-switch:**设置minikube VM应该使用的虚拟交换机名称。默认为第一个。
- **–hyperv-use-external-switch:**如果未明确指定虚拟交换机,则使用外部虚拟交换机而不是默认交换机,如果未找到则创建一个新的交换机。
- **–hyperv-external-adapter:**如果未找到现有的外部交换机则在其上新建一个外部交换机。
docker
设置默认驱动为docker
minikube config set driver docker
使用docker驱动启用minikube
minikube start --driver=docker
在WSL2上可能需要执行
sudo mkdir /sys/fs/cgroup/systemd && sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
Virtual Box
virtualBox要求版本5.2及其以上版本
设置VirtualBox为默认驱动
minikube config set driver virtualbox
启动
minikube start --driver=virtualbox
- –host-only-cidr:用于 minikube VM 的 CIDR(默认为“192.168.59.1/24”)
- –no-vtx-check:禁用检查硬件虚拟化的可用性
VMware
minikube start --driver vmware
Linux
下载安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
驱动
Linux驱动支持:
- Docker,推荐
- KVM,推荐
- VirtualBox
- None
- Podman:实验
docker和VirtualBox的驱动见Windows安装
KVM2
- 配置KVM2,参考对应的版本
- 验证
libvirt
virt-host-validate
- 检查虚拟化支持
egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
- 设置默认驱动为KVM2或者以KVM2启动
minikube config set driver kvm2 # 设置默认驱动为KVM2
minikube start --driver=kvm2 # 以kvm2启动
其他选项设置:
- –gpu: 在 minikube 中启用实验性 NVIDIA GPU 支持
- –hidden:对 minikube 中的来宾隐藏管理程序签名
- –kvm-network: KVM 默认网络名称
- –network: 专用 KVM 私网名称
- –kvm-qemu-uri: KVM qemu uri,默认为 qemu:///system
已知问题:
- minikube如果用户不在正确的libvirt组中,将重复询问 root 密码#3467
- Machine didn’t return an IP after 120 seconds当防火墙阻止 VM 网络访问时#3566
- unable to set user and group to '65534:992当dynamic ownership = 1在qemu.conf #4467
- KVM VM 不能与 VirtualBox #4913同时使用
- 在某些发行版上,libvirt 桥接网络可能会失败,直到主机重新启动
故障排除:
- 运行id以确认用户属于 libvirt[d] 组(输出应包含类似于:‘groups=…,108(libvirt),…’ 的条目)。
- 运行virsh domcapabilities --virttype="kvm"以确认主机支持 KVM 虚拟化。
- 运行virt-host-validate并检查建议。
- 运行ls -la
which virsh
、virsh uri和以收集用于调试的附加信息sudo virsh net-list --all。ip a s - 运行minikube start --alsologtostderr -v=9以调试崩溃。
- 运行docker-machine-driver-kvm2 version以验证 kvm2 驱动程序是否正确执行。
- 阅读如何调试虚拟化问题
一般minikube 会尝试为您检测和解决 KVM/libvirt 网络的任何问题。但是,在某些情况下需要手动干预,主要是因为需要 root 权限。
- 列出所有接口
sudo virsh net-list --all
Name State Autostart Persistent
-----------------------------------------------------------
default active yes yes
mk-kvm0 active yes yes
mk-minikube active yes yes
my-custom-kvm-priv-net active yes yes
- _default:_是默认的 libvirt 网络,
- _mk-kvm0:是为 minikube** kvm0**_配置文件创建的默认 libvirt 网络(例如,使用minikube start -p kvm0 --driver=kvm2),
- _mk-minikube:_是为默认 minikube 配置文件创建的网络(例如,使用minikube start --driver=kvm2)和
- _my-custom-kvm-priv-net:_是为 minikube 配置文件提供的自定义专用网络名称(例如,使用minikube start -p kvm1 --driver=kvm2 --network=“my-custom-kvm-priv-net”)
- 将网络设置自动启动
sudo virsh net-autostart <network>
- 激活网络
sudo virsh net-start <network>
- 重启libvrt守护进程
sudo systemctl restart libvirtd
或
sudo systemctl restart libvirt
默认的libvirt 网络丢失或无法启动/激活,可以参考
- 备份libvrt网络配置
sudo virsh net-dumpxml default > default.xml
- 停止默认的libvrt网络
sudo virsh net-destroy default
- 删除默认的libvrt网络
sudo virsh net-undefine default
- 创建默认libvrt网络
sudo virsh net-define /usr/share/libvirt/networks/default.xml
- 启动默认的libvrt网络
sudo virsh net-start default
- 自动启动默认的libvrt网络
sudo virsh net-autostart default
None
具有以下内容的 Linux VM:
- systemd 或 OpenRC
- 容器运行时,例如 Docker 或 CRIO
此 VM 还必须满足kubeadm 要求,例如:
- 2个CPU
- 2GB 内存
- iptables(在传统模式下)
- 连接轨道
- crictl
- SELinux 许可
- cgroups v1(Kubernetes 尚不支持 v2)
None要求用户以root身份启动:
sudo -E minikube start --driver=none
sudo minikube config set driver none
删除
当出现驱动占用而删除不掉时可以使用下列命令删除额外的配置来保证,其参数含义如下
- –all:设置删除所有配置
- –purge:删除
.minikube
文件夹
minikube delete --all --purge
更多推荐
所有评论(0)