【minikube】Docker Desktop for Linux 启动 minikube 时遇到无法连接到 API server 的错误: time out \ Enabling 'd

2022/8/2 5:23:47

本文主要是介绍【minikube】Docker Desktop for Linux 启动 minikube 时遇到无法连接到 API server 的错误: time out \ Enabling 'd,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

image

在向 k8s 迈出第一步的时候,你是否遇到了这样的错误:

  • Configuring RBAC rules ...| E0801 15:11:41.476443 26762 start.go:264] Unable to scale down deployment "coredns" in namespace "kube-system" to 1 replica: timed out waiting for the condition

  • Enabling 'default-storageclass' returned an error: running callbacks: [Error making standard the default storage class: Error listing StorageClasses: Get "https://192.168.49.2:8443/apis/storage.k8s.io/v1/storageclasses": dial tcp 192.168.49.2:8443: i/o timeout]

  • Exiting due to GUEST_START: wait 6m0s for node: wait for healthy API server: apiserver healthz never reported healthy: timed out waiting for the condition

问题分析

Docker Desktop for Linux 与 Docker Engine 不同,Desktop 运行于虚拟机,下面是 Docker 文档的一些解释:

其实解决这个问题很简单,minikube 提供了多种 driver,你只需要在启动时指定一种 driver 就可以,不一定非要使用 docker 作为 minikube 的 driver。点击这里查看 minikube 支持的 driver。

image

比如,我们可以使用 qemu 来当做 minikube 的 driver:

$ minikube start --kubernetes-version=v1.23.3 --driver=qemu --image-mirror-country='cn'

解决步骤

最简单的方法就是安装 Docker Engine,并在 docker client 中将 context 切换到 Docker Engine。

首先清理所有文件和配置

$ minikube delete --purge --all

然后查看 Docker Context,找到 Docker Engine 的 Endpoint

$ docker context ls
NAME                TYPE                DESCRIPTION                               DOCKER ENDPOINT                                   KUBERNETES ENDPOINT   ORCHESTRATOR
default             moby                Current DOCKER_HOST based configuration   unix:///var/run/docker.sock                                             swarm
desktop-linux *     moby                                                          unix:///home/joseph/.docker/desktop/docker.sock

选择 default context

$ docker context use default

现在可以重启 minikube 之旅了

minikube start --kubernetes-version=v1.23.3 --driver=docker --image-mirror-country='cn'

	


这篇关于【minikube】Docker Desktop for Linux 启动 minikube 时遇到无法连接到 API server 的错误: time out \ Enabling 'd的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程