配置
基本配置
大多数 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` 是要配置的组件的标志=值对。例如,
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/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)