如何完全清除minikube配置或将IP重新设置为192.168.99.100

时间:2018-12-20 14:55:02

标签: minikube

我想彻底清除Minikube,以便可以像重新安装第一次一样重新开始,以避免某些配置冲突。邮寄初始IP为192.168.99.100,不幸的是它在下一个minikube start上增加到192.168.99.101,依此类推。我已经运行了删除Minikube的操作:

minikube delete rm -rf ~/.minikube rm -rf ~/.kube

我正在使用驱动程序VirtualBox 5.2.18在Ubuntu 18.04上运行minikube版本:v0.31.0

5 个答案:

答案 0 :(得分:0)

Minikube用于不同的平台,因此添加与它们中最受欢迎的信息有关的信息可能会有所帮助。

Minikube不负责为其虚拟机分配IP地址。

如果要在Windows或MacOS上启动minikube,则会创建新的VM。该VM从系统管理程序DHCP服务池中获取第一个可用的IP地址。简而言之,DHCP服务会为虚拟机保留此IP一段时间,通常为24小时到7天。如果在此期间客户端没有刷新DHCP租约并且该IP在网络上不可用,则该IP被认为是免费的,可以提供给另一个客户端。

VirtualBox的DHCP服务只有基本设置,不允许您配置租约时间或静态IP绑定。因此,在使用 mount_uploader :thumb_image, PortfolioUploader mount_uploader :main_image, PortfolioUploader 创建VM之后,您可以尝试更改minikube VM网络接口的IP配置。或者您可以在创建后立即使用VM MAC地址,因为DHCP提供基于主机MAC地址的IP地址。

HyperV将本地网络上现有的DHCP用于共享网络,或将手动配置的DHCP服务器用于内部网络。如果您有权访问DHCP管理控制台,则可以在使用minikube ssh启动新VM之前删除旧的minikube VM IP绑定。

对于Linux,您可以选择两个选项,可以使用virtualbox虚拟机管理程序创建虚拟机,就像在Windows或MAC上一样,因此DHCP可以像我前面提到的那样工作,或者可以使用minikube start参数和设置Kubernetes在没有VM的主机环境中集群。在这种情况下,您的主机将成为具有相同IP配置的Kubernetes主节点。

答案 1 :(得分:0)

我在带有VirtualBox的Mac上也发现了此问题。我尝试删除主机网络管理器,但对我而言不起作用。但是,我确实找到了另一种解决方案。

发出UPDATE users SET downloads = CASE WHEN `NAME` = 'guest' THEN 100 ELSE 0 END 后,我删除了以下文件:

minikube delete

再次启动minikube会将地址重置为.100。

文件内容:

/Users/{username}/Library/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases

答案 2 :(得分:0)

您可以使用适用于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将脚本设为可执行文件并将其放入 path 中,则可以运行:

minikube stop    # Stop your running minikube instance.
minikube_reset   # Reset the ip.
minikube start   # Start new minikube instance with 192.168.99.100.

您的minikube实例应始终以192.168.99.100之后的minikube_reset开头。

答案 3 :(得分:0)

我最近在mpb上遇到了这个问题;在VirtualBox v6.0.10上跟踪minikube helmtiller的问题

我找到的最干净的解决方案按预期工作

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

信用:issues/951

答案 4 :(得分:-1)

对于Ubuntu 18.0.4,您可以尝试

rm -r /home/username/.config/VirtualBox/HostInterfaceNetworking-vboxnet0-Dhcpd.leases