构建 minikube ISO

概述

minikube ISO 由每个虚拟机管理程序引导,以提供一个稳定的最小化 Linux 环境来启动 Kubernetes。它基于 coreboot,使用 systemd,并包含所有必需的容器运行时和虚拟机管理程序客户机驱动程序。

先决条件

  • 具有 x86_64 处理器的机器
  • Ubuntu 22.04.5 LTS (Jammy Jellyfish)
  • docker
  • 近期版本的 GNU Make 分发版(>=4.0)
  • 近期版本的 Go 分发版(>=1.22.0)
  • 如果您使用 Windows 或 Mac,则需要安装 Docker。
  • 4GB 内存

下载源代码

git clone https://github.com/kubernetes/minikube.git
cd minikube

构建

在 Docker 中构建

为 x86 架构构建

$ make buildroot-image
$ make minikube-iso-x86_64

为 ARM 架构构建

$ make buildroot-image
$ make minikube-iso-aarch64

构建将在 docker 容器内进行。可启动的 ISO 镜像将位于 out/minikube-<arch>.iso

不使用 Docker 构建

安装所需工具

sudo apt-get install \
    automake \
    bc \
    build-essential \
    cpio \
    gcc-multilib \
    genisoimage \
    git \
    gnupg2 \
    libtool \
    locales \
    p7zip-full \
    python2 \
    unzip \
    wget \

使用以下说明安装 Go:https://golang.ac.cn/doc/install

不使用 docker 构建时运行

IN_DOCKER=1 make minikube-iso-<arch>

[!IMPORTANT] 即使不使用 docker 构建,一些外部项目也会尝试使用 docker。您必须在构建主机上安装 docker。

使用本地 ISO 镜像

$ ./out/minikube start --iso-url=file://$(pwd)/out/minikube-<arch>.iso

修改 buildroot 组件

要更改客户机虚拟机中包含的 Linux 用户空间组件,请使用此项修改 buildroot 配置

cd out/buildroot
make menuconfig
make

要保存这些配置更改,请执行

make savedefconfig

更改将反映在 minikube-iso/configs/minikube_defconfig 文件中。

添加内核模块

要进行内核配置更改并保存它们,请执行

$ make linux-menuconfig

这将打开内核配置菜单,然后在您选择更改后将其保存到我们的 iso 目录中。

添加第三方软件包

要将您自己的软件包添加到 minikube ISO,请在 iso/minikube-iso/package 下创建一个软件包目录。此目录至少需要 3 个文件

<package name>.mk - 一个描述如何下载源代码和构建程序的 Makefile
<package name>.hash - 用于验证下载的源代码的校验和
Config.in - buildroot 配置

为了开始一个相对简单的示例,您可以参考 podman 软件包。

持续集成构建

我们发布 minikube 的 CI 构建版本,在每个 Pull Request 时都会进行构建。构建版本可在以下地址获取(替换为相关的 PR 编号)


上次修改时间:2025 年 5 月 28 日:docs: Fix instructions for building iso (#20830) (c306a0fbd)