配置
基本配置
大多数 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)