常见问题

常见问题

我可以在 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 profile 旨在彼此隔离,具有自己的设置和驱动程序。如果您想创建一个具有多个节点的单个集群,请尝试多节点功能

我可以将 minikube 用作 Docker Desktop 的替代品吗?

是的!请按照我们的教程 使用 minikube 作为 Docker Desktop 替代品

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

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

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

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

minikube pause

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

minikube addons enable auto-pause

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

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

minikube start --force-systemd=true

如果我有一个使用 VM 驱动的现有集群,如何使用 Docker 驱动运行 minikube?

首先请确保您的 Docker 服务正在运行。然后您需要

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

minikube delete
minikube start --driver=docker

或者,(b)使用不同的 profile 名称创建第二个集群

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)