如何完全清除minikube配置或将IP重置回192.168.99.100



我想彻底清除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 上跟踪minikubehelmtiller的问题

我发现的最清洁的解决方案如预期

#!/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

最新更新