Ubuntu系统安装Minikube教程

news/2025/3/10 3:52:01/文章来源:https://www.cnblogs.com/codists/p/18760061

说明

最近在看《Quick Start Kubernetes》,书上使用的是 Docker Desktop 和 Linode Kubernetes Engine(LKE) 进行演示,但是实际开发中都不可能用到这两个工具,所以本人使用 minikube 进行操作。

系统:WSL Ubuntu 22.0。

安装

curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64

注:

1.安装流程参考:https://minikube.sigs.k8s.io/docs/start

2.某些服务器可能访问不了外部网络,那么先在能访问外部网络的地方下载好二进制文件(下载地址:https://github.com/kubernetes/minikube/releases/),然后再将二进制文件上传到服务器。

启动

  • 方式一:使用 root 帐号启动
minikube start

可能会遇到问题:Exiting due to DRV_AS_ROOT:

# minikube start
😄  minikube v1.35.0 on Ubuntu 22.04 (amd64)
✨  Automatically selected the docker driver. Other choices: none, ssh
🛑  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
💡  If you are running minikube within a VM, consider using --driver=none:
📘  https://minikube.sigs.k8s.io/docs/reference/drivers/none/❌  Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.

解决方法:添加 --driver=none:

sudo minikube start --driver=none

可能会继续遇到问题:Exiting due to NOT_FOUND_CRI_DOCKERD:

# minikube start --drive=none
Error: unknown flag: --drive
See 'minikube start --help' for usage.
root@LAPTOP-5PGRQ2IO:/www# minikube start --driver=none
😄  minikube v1.35.0 on Ubuntu 22.04 (amd64)
✨  Using the none driver based on existing profile
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🔄  Restarting existing none bare metal machine for "minikube" ...🐳  Exiting due to NOT_FOUND_CRI_DOCKERD:💡  Suggestion:The none driver with Kubernetes v1.24+ and the docker container-runtime requires cri-dockerd.Please install cri-dockerd using these instructions:https://github.com/Mirantis/cri-dockerd

解决方法:安装cri-dockerd:

curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd_0.3.16.3-0.ubuntu-jammy_amd64.deb sudo dpkg -i cri-dockerd_0.3.16.3-0.ubuntu-jammy_amd64.deb

最后,再次执行启动命令:

 minikube start --driver=none

注:启动需要一定的时间,耐心等待,不要强行结束。

总结

从本次安装 minikube 过程收获两点:

1.搞懂每个命令的作用是什么。例如上面的 curl 是从 github 下载二进制文件,但如果你的网络不行怎么办?那就想办法从其它地方下载这个二进制文件,不必非得按照教程演示的使用 curl 命令。

2.先动起来再完善。例如启动 minikube 的时候会提示“The "docker" driver should not be used with root privileges”,但如果你不用 root 用户去启动,那么你就得花更多的时间解决权限相关的问题。个人认为先把 minikube 跑起来,运行书上的例子,再去考虑其它的。

参考资料

1.docs: https://minikube.sigs.k8s.io/docs/start

2.source code: https://github.com/kubernetes/minikube

欢迎搜索及关注:编程人(a_codists)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/895691.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Transformer 笔记 (CS224N-7)

模型回顾 问题:RNN需要经过k步才能对远距离的单词进行交互,例如这里的was是chef的谓语,二者的关系十分紧密,但是使用线性顺序分析句子会导致如果was和chef的距离较远,它们会难以交互(因为梯度问题) Self Attention 键值对注意力 (1)我们可以将注意力视为在键值存储中执行…

Easyexcel(7-自定义样式)

EasyExcel 提供简便的自定义样式功能,用户可以轻松定制Excel表格样式。通过Style类,可以设置字体、边框、背景颜色等属性,同时支持单元格合并和格式化操作。通过配置WriteHandler,可以实现更多样式定制,满足不同业务需求,让数据展示更直观。注解 @ContentStyle 用于设置内…

预训练笔记 (CS224N-8)

子词模型 前置知识 (1)词法知识介绍语音学是音流无争议的物理学 语音体系假定了一组或多组独特的、分类的单元(音素)传统上,词素是最小的语义单位(例如\(ate,ly,able\)这种),但如今我们需要讨论比单词粒度更细的模型以处理大量的开放词汇(巨大的、无限的单词空间) 例如…

团队项目:新建文件夹(1)团队成员介绍

项目 内容这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)这个作业的要求在哪里 [T.1] 团队项目:团队成员介绍我在这个课程的目标是 培养团队合作精神,开发功能完善的软件这个作业在哪个具体方面帮助我实现目标 团队协作,软件开发理论基础团队介绍 新建文件夹(1)队由…

LSTM 和机器翻译 (CS224N-5)

LSTM (1)LSTM(Long Short-Term Memory RNNs)是Hochreiter和Schmidhuber在1997年提出的一种RNN,用于解决消失梯度问题 (2)在步骤t中,这里有一个隐藏单元\(h^{(t)}\)和一个记忆单元\(c^{(t)}\)它们均为长度为n的向量记忆单元用来存储长期信息LSTM可以从记忆单元中读取、消除和…

解码和 Attention 机制笔记 (CS224N-6)

语言模型的解码△:在讲义中这部分内容是神经机器翻译NMT中,我认为这个适用于所有语言模型所以就单列出来了(1)贪心解码:每一步都取最可能的单词,用前一步的输出作为下一步的输入(存在问题:有一个预测偏差,会导致后面的生成不可挽回,最终结果不尽人意) (2)穷举解码:顾…

语言模型和 RNN 笔记 (CS224N-4)

语言模型定义 (1)语言模型任务是根据给定的单词序列计算下一个单词的概率分布,完成这样的任务的系统就被称作语言模型 (2)也可以认为语言模型是一个为文本分配概率的系统,例如文本 \(x^{(1)},\cdots,x^{(T)}\) 的概率是n-gram语言模型 (1)一个n-gram是由n个连续单词组成的一块…

Java 线程池 ThreadPoolExecutor 的状态控制变量 ctrl

如下是源代码。线程池的主要控制状态 ctl 是一个原子整数,它打包了两个概念字段:workerCount:表示当前有效运行的线程数。 runState:表示线程池的状态(如是否正在运行、关闭等)。为了将这两个字段打包成一个 int,我们将 workerCount 限制为 (2^{29} - 1)(约5亿),而不…

go 方法和函数的区别

图片中的内容总结了Go语言中方法和函数的区别,主要分为三个方面:调用方式不同:函数的调用方式:函数名(实参列表) 方法的调用方式:变量.方法名(实参列表)普通函数的接收者类型限制:对于普通函数,如果接收者是值类型,则不能将指针类型的数据直接传递给它;反之亦然。方法…

德里克昆什肯《量子战争》目录

机翻未校对是机翻的,而且没有经过校对,只能作为SFW编辑部的懒狗开工前的替代品 第一章 第二章 第三章 Chap 4 Chap 5~6 Chap 7~8 Chap 9~10 Chap 11~14 Chap 15~18 Chap 19~22 Chap 23~26 Chap 27~30 Chap 31~34 Chap 35~38 Chap 39~42 Chap 43~46 Chap 47~50 Chap 51~61本文…

ios调试(safari)

一、打开ios safari开发者模式在手机设备的“设置”中找到“safari浏览器”,点击进入 在safari设置中,找到“高级”选项,点击进入 在高级设置页面中,找到“网页(web)检查器”选项,打开开关 二、使用mac的safari开发者模式进行调试将ios设备通过usb连接到电脑上 打开mac中…