我想彻底清除Minikube,这样我就可以像第一次安装一样重新启动,以避免一些配置冲突。邮件只有初始IP 192.168.99.100,不幸的是,它在下一个minikube start
上增加到192.168.99.101,等等。我已经运行删除Minikube:
minikube delete
rm -rf ~/.minikube
rm -rf ~/.kube
我在Ubuntu 18.04上运行minikube版本:v0.31.0,驱动程序为VirtualBox 5.2.18
我在使用VirtualBox的Mac上也发现了这个问题。我尝试删除主机网络管理器,但它对我不起作用。但是,我找到了另一个解决方案。
在发布minikube delete
之后,我删除了以下文件:
/Users/{username}/Library/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases
再次启动minikube将地址重置为.100。
文件内容:
<?xml version="1.0"?>
<Leases version="1.0">
<Lease mac="08:00:27:66:6a:19" id="01080027666a19" network="0.0.0.0" state="expired">
<Address value="192.168.99.102"/>
<Time issued="1555277299" expiration="1200"/>
</Lease>
<Lease mac="08:00:27:08:03:a3" id="010800270803a3" network="0.0.0.0" state="expired">
<Address value="192.168.99.101"/>
<Time issued="1555276993" expiration="1200"/>
</Lease>
<Lease mac="08:00:27:32:ed:f8" id="0108002732edf8" network="0.0.0.0" state="expired">
<Address value="192.168.99.100"/>
<Time issued="1555276537" expiration="1200"/>
</Lease>
</Leases>
我最近在mpb上遇到了这个问题;在VirtualBox v6.0.10 上跟踪minikube
、helm
和tiller
的问题
我发现的最清洁的解决方案如预期
#!/bin/sh
function minikube_reset_vbox_dhcp_leases() {
# # Reset Virtualbox DHCP Lease Info
echo "Resetting Virtualbox DHCP Lease Info..."
kill -9 $(ps aux |grep -i "vboxsvc|vboxnetdhcp" | awk '{print $2}') 2>/dev/null
if [[ -f ~/Library/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases ]] ; then
rm ~/Library/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases
fi
}
minikube_reset_vbox_dhcp_leases
信用:发行/951
Minikube在不同的平台上使用,因此添加与其中最流行的平台相关的信息可能会有所帮助。
Minikube不负责为其VM分配IP地址。
如果您在Windows或MacOS上启动minikube,则会创建新的虚拟机。该VM从虚拟机监控程序DHCP服务池中获取第一个可用的IP地址。简而言之,DHCP服务为VM保留此IP一段时间,通常为24小时到7天。如果在此期间客户端不刷新DHCP租约,并且该IP在网络上不可用,则该IP被视为免费,可以提供给另一个客户端。
VirtualBox只有其DHCP服务的基本设置,不允许您配置租用时间或静态ip绑定。因此,在使用minikube ssh
创建VM之后,您可以尝试更改minikube VM网络接口的ip配置。或者,您可以在创建后立即使用VM MAC地址,因为DHCP提供基于主机MAC地址的IP地址。
HyperV将本地网络上现有的DHCP用于共享网络,或将手动配置的DHCP服务器用于内部网络。如果您可以访问DHCP管理控制台,则可以在使用minikube start
启动新VM之前删除旧的minikube VM IP绑定。
对于Linux,您可以选择两个选项,您可以使用virtualbox hypervisor并创建VM,就像它在Windows或MAC上一样,因此DHCP将像我之前提到的那样工作,或者您可以使用-vm-driver=none
参数并在没有VM的主机环境中设置Kubernetes集群。在这种情况下,您的主机将成为具有相同IP配置的Kubernetes主节点。
如果使用virtualbox作为vm驱动程序,则可以在Linux/Mac上使用此Python脚本将ip重置为192.168.99.100
:
./minikube_reset
#!/usr/bin/env python3
import subprocess as sp
from sys import platform
import os
if __name__ == "__main__":
print("Resetting Virtualbox DHCP...")
procs = sp.run("ps aux", shell=True, stdout=sp.PIPE)
.stdout.decode("utf8").lower().split('n')
pids = [
p.split()[1] for p in procs if 'vboxsvc' in p or 'vboxnetdhcp' in p
]
for pid in pids:
sp.run(['kill', '-9', pid])
cfg_dir = ".config" if platform != 'darwin' else 'Library'
file = f"~/{cfg_dir}/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases"
try:
os.remove(os.path.expanduser(file))
except OSError as e:
pass
如果您通过chmod +x minikube_reset
使脚本成为可执行文件,并将其放入路径中,则可以运行:
minikube stop # Stop your running minikube instance.
minikube_reset # Reset the ip.
minikube start # Start new minikube instance with 192.168.99.100.
您的minikube实例应始终在minikube_reset
之后以192.168.99.100
开头。
对于Ubuntu 18.0.4,您可以尝试
rm -r /home/username/.config/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases