当前位置: 首页 > article >正文

minikube apiserver无法启动问题解决

1 问题描述

按照minikube官方文档的描述,安装完成minikube之后,直接使用minikube start即可启动一个集群。然后,我却经历了无数周折还是不行。今天又花一天时间来研究这个问题。

2 问题解决

搜索网络相关文档,通过如下命令可以输出详细日志 :

minikube start  --alsologtostderr -v=8

可以大体看到是向apiserver无法注册的问题。最后了解到了可以使用minikube status查看状态,总是显示:

apiserver: Stopped

所以,问题的根源是apiserver无法启动。
在网络上反覆查找资料,尝试在minikube start后添加–vm-driver 、–driver、–kubernetes-version等参数配置,均已失败告终。好在黄天不负苦心人,看到这篇文件https://www.zhaowenyu.com/minikube-doc/handbook/config.html,尝试了添加–container-runtime参数:

minikube start --container-runtime=containerd

终于成功了:

😄  Ubuntu 22.04 上的 minikube v1.29.0
✨  根据用户配置使用 docker 驱动程序
📌  Using Docker driver with root privileges
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.26.1 preload ...
    > preloaded-images-k8s-v18-v1...:  427.51 MiB / 427.51 MiB  100.00% 2.28 Mi
🔥  Creating docker container (CPUs=2, Memory=2200MB) ...

🧯  Docker is nearly out of disk space, which may cause deployments to fail! (90% of capacity). You can pass '--force' to skip this check.
💡  建议:

    Try one or more of the following to free up space on the device:
    
    1. Run "docker system prune" to remove unused Docker data (optionally with "-a")
    2. Increase the storage allocated to Docker for Desktop by clicking on:
    Docker icon > Preferences > Resources > Disk Image Size
    3. Run "minikube ssh -- docker system prune" if using the Docker container runtime
🍿  Related issue: https://github.com/kubernetes/minikube/issues/9024

🌐  找到的网络选项:
    ▪ HTTP_PROXY=http://0.0.0.0:20231/
❗  You appear to be using a proxy, but your NO_PROXY environment does not include the minikube IP (192.168.49.2).
📘  Please see https://minikube.sigs.k8s.io/docs/handbook/vpn_and_proxy/ for more details
    ▪ HTTPS_PROXY=http://0.0.0.0:20231/
    ▪ NO_PROXY=localhost,127.0.0.0/8,::1
    ▪ http_proxy=http://0.0.0.0:20231/
    ▪ https_proxy=http://0.0.0.0:20231/
    ▪ no_proxy=localhost,127.0.0.0/8,::1
❗  This container is having trouble accessing https://registry.k8s.io
💡  To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
📦  正在 containerd 1.6.15 中准备 Kubernetes v1.26.1…
    ▪ env HTTP_PROXY=http://0.0.0.0:20231/
    ▪ env HTTPS_PROXY=http://0.0.0.0:20231/
    ▪ env NO_PROXY=localhost,127.0.0.0/8,::1
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔗  Configuring CNI (Container Networking Interface) ...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: storage-provisioner, default-storageclass
🔎  Verifying Kubernetes components...
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

3 问题总结

最后总结一下,官方的文档总是太过于理想化,而现实中的软件运行环境总是多样的,导致很多意想不到的问题。就此次问题来说,我在本地环境中,已经配置容器环境默认使用containerd,而不是docker,或许这才是导致此次问题的原因。


http://www.kler.cn/a/7590.html

相关文章:

  • ubuntu16.04配置网卡
  • 高亚科技签约美妥维志化工,提升业务协同与项目运营效率
  • 跨域请求解决的核心
  • awk(常用)
  • ffmpeg视频编码
  • 让空间计算触手可及,VR手套何以点石成金?
  • C++并发与多线程笔记八:async、future、packaged_task、promise
  • 刷题记录|Day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • arm系列交叉编译器各版本区别
  • 如何选择理想的三相浪涌保护器?
  • 【Ruby学习笔记】13.Ruby 迭代器及文件的输入与输出
  • 【vSphere | Python】vSphere Automation SDK for Python Ⅲ—— vCenter Datacenter APIs
  • 为什么无法跨centos、ubuntu、rocky linux 发行版本进行系统升级?
  • xinput1_3.dll缺失了如何去修复?xinput1_3.dll解决方法分享
  • 释放AIoT商业价值 | 2023高通广和通智能物联网技术开放日圆满落幕
  • srs流媒体录制视频
  • 22.SSM-JdbcTemplate总结
  • 贯穿设计模式第二话--开闭职责原则
  • 区块链学习笔记(3)BTC协议
  • 运算符重载
  • 亚马逊管理的14条领导力准则
  • C/C++协程编程:解锁并发编程新纪元
  • 【MySQL】了解MySQL的Explain,读这一篇够了( ̄∇ ̄)/
  • 【刷题笔记】笔记三
  • cuda学习4-6
  • Shell脚本之数组向函数传参