常见问题

常见问题解答

我可以在 minikube 中运行旧版本的 Kubernetes 吗?我需要降级我的 minikube 版本吗?

您不需要下载旧版本的 minikube 来运行旧版本的 Kubernetes。您可以使用 --kubernetes-version 标志创建任何您想要的 Kubernetes 集群。

示例

minikube start --kubernetes-version=v1.15.0

如何使用 minikube 创建多个集群?

默认情况下,minikube start 会创建一个名为“minikube”的集群。如果您想创建不同的集群或更改其名称,可以使用 --profile (或 -p) 标志,它将创建一个具有指定名称的集群。请注意,您可以在同一台机器上拥有多个集群。

要查看当前集群列表,请运行

minikube profile list

minikube 配置文件旨在彼此隔离,拥有各自的设置和驱动程序。如果您想创建一个多节点集群,请尝试使用多节点功能

我可以使用 minikube 替代 Docker Desktop 吗?

是的!请参阅我们的教程:将 minikube 用作 Docker Desktop 替代方案

我可以在不运行 Kubernetes 的情况下启动 minikube 吗?

是的!如果您只想将 minikube 用作 Docker Desktop 替代方案,而不启动 Kubernetes 本身,请尝试

minikube start --container-runtime=docker --no-kubernetes

或者,如果您想暂时关闭 Kubernetes,可以暂停它,稍后再取消暂停

minikube pause

minikube 还有一个插件,可以在一段时间不活动后自动暂停 Kubernetes

minikube addons enable auto-pause

Docker 驱动:如何设置 minikube 的 cgroup 管理器?

对于非虚拟机(non-VM)和非 SSH 驱动,minikube 将尝试自动检测您系统的 cgroups 驱动/管理器,并相应地配置所有其他组件。对于虚拟机(VM)和 SSH 驱动,minikube 默认将使用 cgroupfs cgroups 驱动/管理器。要强制使用 systemd cgroup 管理器,请运行

minikube start --force-systemd=true

如果我有一个使用虚拟机驱动(VM driver)的现有集群,如何使用 Docker 驱动运行 minikube?

首先请确保您的 Docker 服务正在运行。然后您需要选择以下方法之一:

(a) 删除现有集群并创建一个新集群

minikube delete
minikube start --driver=docker

或者,(b) 使用不同的配置文件名创建第二个集群

minikube start -p p1 --driver=docker 

minikube 支持 IPv6 吗?

minikube 目前不支持 IPv6。但是,它已列入路线图。您也可以参考此开放问题

如何在 Linux 上防止密码提示?

最简单的方法是使用 docker 驱动,因为后端服务总是以 root 身份运行。

none 驱动的用户可能想尝试 CHANGE_MINIKUBE_NONE_USER=true,这样 kubectl 等命令无需 sudo 即可工作。有关更多详细信息,请参阅环境变量

或者,您可以配置 sudo,使其在 minikube 发出命令时永不提示密码。

如何忽略系统验证?

kubeadm 是 minikube 的引导程序,它在安装 Kubernetes 之前会验证主机系统上的一系列功能。如果您遇到错误,但仍想在系统存在限制的情况下尝试 minikube,可以通过使用此额外选项启动 minikube 来跳过验证

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

使用 minikube 设置 Knative 所需的最小资源分配是多少?

请为使用 minikube 设置 Knative 分配足够的资源,尤其是在您的本地机器上运行 minikube 集群时。我们建议至少分配 3 个 CPU 和 3G 内存。

minikube start --cpus 3 --memory 3072

我需要本地安装 kubectl 吗?

不需要,minikube 附带内置的 kubectl 安装。请参阅minikube 的 kubectl 文档

如何选择接收 Beta 版本发布通知?

只需运行以下命令即可接收 Beta 版本通知

minikube config set WantBetaUpdateNotification true

我可以去除 minikube 输出中的表情符号吗?

是的!如果您不希望 minikube 输出中包含表情符号 😔,只需将 MINIKUBE_IN_STYLE 环境变量设置为 0false

MINIKUBE_IN_STYLE=0 minikube start

如何从远程网络访问 minikube 集群?

minikube 的主要目标是快速设置本地 Kubernetes 集群,因此我们强烈不建议在生产环境中使用 minikube 或用于侦听远程流量。根据设计,minikube 仅用于监听本地网络。

但是,可以将 minikube 配置为监听远程网络。这会将您的网络暴露给外部世界,因此不推荐。如果您不完全了解安全隐患,请避免使用此功能。

对于 docker 和 podman 驱动,请使用 --listen-address 标志

minikube start --listen-address=0.0.0.0

如何为 minikube 分配最大资源?

将启动命令中的 memorycpus 标志设置为 max 将使用最大可用资源

minikube start --memory=max --cpus=max

如何将 minikube 运行在不同的硬盘驱动器上?

MINIKUBE_HOME 环境变量设置为您希望 minikube 运行的驱动器上的路径,然后运行 minikube start

# Unix
export MINIKUBE_HOME=/otherdrive/.minikube

# Windows
$env:MINIKUBE_HOME = "D:\.minikube"

minikube start

我可以为 minikube 集群设置静态 IP 吗?

目前只有在使用 Docker 或 Podman 驱动时才能设置静态 IP。

有关更多详细信息,请参阅静态 IP 教程

如何忽略 kubeadm 要求和预检(例如最小 CPU 数量)?

Kubeadm 对维护稳定的 Kubernetes 集群有特定的软件和硬件要求。但是,可以通过运行以下命令来忽略这些要求(例如在单个 CPU 上运行 minikube 时)

minikube start --force --extra-config=kubeadm.skip-phases=preflight

不推荐这样做,但对于一些愿意接受潜在性能或稳定性问题的用户来说,这可能是唯一的选择。

我在中国,尝试启动 minikube 时遇到错误,我该怎么办?

执行 minikube start 后,minikube 将尝试从 gcr.io 或 Docker Hub 拉取镜像。但是,已确认中国(大陆)用户可能无法访问 gcr.io 或 Docker Hub。因此,在中国大陆,minikube start 很可能会失败。

对于中国用户而言,原因是由于中国大陆政府设置了 GFW 防火墙,阻止了从中国大陆访问 gcr.io 或 Docker Hub。

Minikube 是一个开放社区,我们始终乐于帮助世界各地的用户使用我们的开源软件,并在可能的情况下提供帮助。以下是解决此阻塞的 3 种可能方法。

  1. 请改用 minikube start --image-mirror-country='cn'。阿里云(一家中国公司)为这些镜像提供了一个镜像仓库(registry.cn-hangzhou.aliyuncs.com/google_containers),中国用户可以访问该仓库。通过使用 --image-mirror-country='cn' 标志,minikube 将优先从阿里云镜像站点拉取镜像。

    注意:当新镜像发布到 gcr.io 后,可能需要几天时间才能同步到阿里云镜像仓库。但是,minikube 默认总是尝试拉取最新的镜像,这会导致拉取失败。在这种情况下,您必须同时使用 --kubernetes-version 标志来告诉 minikube 使用阿里云仓库中可用的旧版本镜像。

    例如,minikube start --image-mirror-country='cn' --kubernetes-version=v1.23.8 将告诉 minikube 从阿里云拉取 v1.23.8 k8s 镜像。

  2. 如果您有自己的云提供商提供的私有镜像仓库,可以通过 --image-repository 标志指定。例如,使用 minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' 将告诉 minikube 优先从 registry.cn-hangzhou.aliyuncs.com/google_containers 镜像仓库拉取镜像。

  3. 如果您有代理服务器/VPN,请使用它们。
    注意:请遵守当地法律。在某些地区,使用未经授权的代理服务器/VPN 是非法的

如何为 none 驱动安装 containernetworking-plugins?

前往 containernetworking-plugins 查找最新版本。

然后执行以下操作

CNI_PLUGIN_VERSION="<version_here>"
CNI_PLUGIN_TAR="cni-plugins-linux-amd64-$CNI_PLUGIN_VERSION.tgz" # change arch if not on amd64
CNI_PLUGIN_INSTALL_DIR="/opt/cni/bin"

curl -LO "https://github.com/containernetworking/plugins/releases/download/$CNI_PLUGIN_VERSION/$CNI_PLUGIN_TAR"
sudo mkdir -p "$CNI_PLUGIN_INSTALL_DIR"
sudo tar -xf "$CNI_PLUGIN_TAR" -C "$CNI_PLUGIN_INSTALL_DIR"
rm "$CNI_PLUGIN_TAR"


最后修改于 2023 年 5 月 8 日:site: improve none docs (a76c80b5b)