构建 minikube ISO

概述

每个虚拟机监控程序都会启动 minikube ISO,以提供一个稳定的最小 Linux 环境来启动 Kubernetes。它基于 coreboot,使用 systemd,并包含所有必要的容器运行时和虚拟机监控程序访客驱动程序。

先决条件

  • 最近的 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 out/minikube-amd64.iso

为 ARM 构建

$ make buildroot-image
$ make out/minikube-arm64.iso

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

在裸机上构建

如果要在裸机上执行此操作,请将 make out/minikube-<arch>.iso 替换为 IN_DOCKER=1 make out/minikube-<arch>.iso

  • 要安装的先决构建工具
sudo apt-get install build-essential gnupg2 p7zip-full git wget cpio python \
    unzip bc gcc-multilib automake libtool locales

使用本地 ISO 镜像

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

修改 buildroot 组件

要更改访客 VM 中包含的 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 编号)中找到


上次修改时间:2024 年 7 月 22 日:删除 Fedora 上构建的不必要依赖项 (f7b8fd2a5)