配置

配置你的集群

基本配置

大多数 minikube 配置是通过标志接口完成的。要查看 `start` 命令的可用标志,请运行:

minikube start --help

持久化配置

minikube 允许用户使用 `minikube config` 命令持久化存储新默认值,以便在所有配置文件中使用。这是通过提供属性名称和属性值来完成的。

例如,要持久配置 minikube 使用 hyperkit:

minikube config set driver hyperkit

你可以使用以下命令获取可配置字段的完整列表:

minikube config --help

要获取当前设置的配置属性列表:

minikube config view

Kubernetes 配置

minikube 允许用户使用任意值配置 Kubernetes 组件。要使用此功能,你可以在 `minikube start` 命令中使用 `--extra-config` 标志。

此标志是可重复的,因此你可以多次传递它,并使用多个不同的值来设置多个选项。

选择 Kubernetes 版本

默认情况下,minikube 安装 minikube 发布时可用的最新稳定版本的 Kubernetes。你可以使用 `--kubernetes-version` 标志选择不同的 Kubernetes 版本,例如:

minikube start --kubernetes-version=v1.11.10

minikube 遵循 Kubernetes 版本和版本偏差支持策略,因此我们保证支持最近 3 个 Kubernetes 小版本的最新构建。在可行的情况下,minikube 也致力于支持较旧的版本,以便用户可以模拟旧版环境。

有关受支持版本的最新信息,请参阅 constants.go 中的 `OldestKubernetesVersion` 和 `NewestKubernetesVersion`。

启用特性门控

Kubernetes alpha/实验性功能可以通过 `minikube start` 命令上的 `--feature-gates` 标志启用或禁用。它采用 `key=value` 形式的字符串,其中 key 是 `component` 名称,value 是它的 `status`。

minikube start --feature-gates=EphemeralContainers=true

修改 Kubernetes 默认值

kubeadm 引导程序可以通过 `minikube start` 命令上的 `--extra-config` 标志进行配置。它采用 `component.key=value` 形式的字符串,其中 `component` 是以下字符串之一:

  • kubeadm
  • kubelet
  • apiserver
  • controller-manager
  • scheduler

并且 `key=value` 是被配置的组件的 flag=value 对。例如:

minikube start --extra-config=apiserver.v=10 --extra-config=kubelet.max-pods=100

例如,要允许 Kubernetes 在不支持的 Docker 版本上启动:

minikube start --extra-config=kubeadm.ignore-preflight-errors=SystemVerification

运行时配置

minikube 中的默认容器运行时会有所不同。你可以使用以下方式显式选择一个:

minikube start --container-runtime=docker

可用的选项是:

参见 https://kubernetes.ac.cn/zh-cn/docs/setup/production-environment/container-runtimes/

环境变量

minikube 支持为 `minikube config` 中列出的每个值传递环境变量,而不是标志。这是通过传递带有前缀 `MINIKUBE_` 的环境变量来完成的。

例如, `minikube start --iso-url="$ISO_URL"` 标志也可以通过设置 `MINIKUBE_ISO_URL="$ISO_URL"` 环境变量来设置。

独占环境调整

某些功能只能通过 minikube 特定的环境变量访问,以下是这些功能的列表:

  • MINIKUBE_HOME - (字符串) 设置 minikube 用于状态/配置的 .minikube 目录的路径。如果你将其指定为 `/path/to/somewhere` 并且 `somewhere` 不等于 `.minikube`,则最终的 MINIKUBE_HOME 将为 `/path/to/somewhere/.minikube`。如果未指定,则默认为 `~/.minikube`。请注意:这仅由 minikube 使用,并且不会影响与 Kubernetes 工具(如 kubectl)相关的任何内容。

  • MINIKUBE_IN_STYLE - (布尔值) 手动设置是否应在 minikube 中显示表情符号和颜色。设置为 false 或 0 可禁用此功能,设置为 true 或 1 可强制启用此功能。

  • CHANGE_MINIKUBE_NONE_USER - (布尔值) 自动将 ~/.minikube 的所有权更改为 $SUDO_USER 的值

  • MINIKUBE_ENABLE_PROFILING - (整数,`1` 启用它) 启用为 minikube 生成跟踪分析

  • MINIKUBE_SUPPRESS_DOCKER_PERFORMANCE - (布尔值) 在 Docker 速度缓慢时禁止显示 Docker 性能警告

示例:禁用表情符号

export MINIKUBE_IN_STYLE=false
minikube start
export MINIKUBE_IN_STYLE=false
minikube start
$env:MINIKUBE_IN_STYLE=false
minikube start

使环境变量值持久化

要使导出的变量在重启后持久存在:

  • Linux 和 macOS:将这些声明添加到 ~/.bashrc 或你的 shell 环境变量存储位置。
  • Windows:要么将这些声明添加到你的 ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 中,要么在 PowerShell 终端中运行以下命令
[Environment]::SetEnvironmentVariable("key", "value", [EnvironmentVariableTarget]::User)

最后修改于 2023 年 2 月 13 日:澄清 MINIKUBE_HOME 的当前设置逻辑 (6eb7444ec)