简单三分钟,本地搭建k8s

使用 minikube 在本地搭建 k8s 已经比以前要简单很多了。本文,我们通过简短的三分钟来重现一下在本地搭建 k8s 实验环境的步骤。

下载 Minikube

首先,你可能会考虑从官网下载 minikube 然后进行安装,但是这样实际上可以预知的是,在后续的使用中你可能会到由于网络的特殊性,无法正常地启动。

因此,需要使用一些特殊的办法来解决这个问题。

这里,我们直接使用由阿里云团队针对中国大陆网络环境进行优化的版本。

Mac OSX

curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

Linux

curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

Windows

https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.20.0/minikube-windows-amd64.exe

下载 minikube-windows-amd64.exe 文件,并重命名为 minikube.exe

下面我们都将围绕 windows 版本进行说明和演示。

虽然官方版本已经支持中国区的镜像加速,但是截至笔者自己发文的时候,还是存在各种问题。本着人的生命是有限的基本原则,我们可以先跳过这些恼人的问题。

安装 Minikube

windows 版本只要下载到特定文件夹,然后将这个文件夹,加入到 PATH 当中即可。这样以后无论在那个路径下都可以正常运行 minikube 命令。

启动 Hyper-v

虽然最新的 minikube 对于 Docker 和 Hyper-v 都是首选驱动,但是 Docker 无法使用 ingress 插件,因此考虑使用 Hyper-v。

使用管理员权限运行以下脚本来启用 Hyper-v:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

启用后需要重新启动操作系统才能生效。

配置 Minikube

使用管理员权限打开一个控制台,并运行以下命令,来设置驱动、CPU 和内存:

minikube config set driver hyperv
minikube config set cpus 8
minikube config set memory 12288

CPU 和内存可以按照你的实际情况进行设置。其中内存的单位为 MB,12288 即表示 12G。

在 Hyper-v 中,这实际上就是虚拟机的 CPU 和内存。

启动 k8s

使用管理员权限打开一个控制台,并运行以下命令,来启动一个 k8s 节点:

minikube start

运行这段命令后,经过一段时间的等待,你应该会得到如下所示的输出内容,这就表示你已经正确启动了一个 k8s 节点:

PS C:/Users/Administrator> minikube start
????  Microsoft Windows 10 Enterprise 10.0.19042 Build 19042 上的 minikube v1.20.0
✨  根据用户配置使用 hyperv 驱动程序
????  Starting control plane node minikube in cluster minikube
????  Creating hyperv VM (CPUs=8, Memory=12288MB, Disk=20000MB) ...
????  正在 Docker 20.10.6 中准备 Kubernetes v1.20.2…▪ Generating certificates and keys ...▪ Booting up control plane ...▪ Configuring RBAC rules ...
????  Verifying Kubernetes components...▪ Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5 (global image repository)
????  Enabled addons: storage-provisioner, default-storageclass
????  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

启用 dashboard 看看集群

运行以下命令:

minikube dashboard

稍等片刻,浏览器便会打开 dashboard,你就可以看到集群的基本情况。

dashboard

使用 lens 查看集群

除了使用原生的 dashboard,你也可以使用 lens 来查看这个集群的情况。

通过 https://k8slens.dev/ 下载和安装最新的 lens 版本。

然后打开之后,便可以通过 lens 来查看集群的基本情况。

lens1
lens2
lens3

安装 helm

为了验证这个集群的基础功能,我们尝试使用 helm 来安装一个简单的应用

首先,需要安装 helm。helm 和 minikube 一样,是一个单文件的命令行程序。可以直接从 Github 上下载。

或者也可以通过以下地址加速下载:

https://www.newbe.pro/Mirrors/Mirrors-Helm/

下载,设置好 PATH 之后,我们就可以在控制台中调用 helm:

PS C:/Users/Administrator> helm version
version.BuildInfo{Version:"v3.6.3", GitCommit:"d506314abfb5d21419df8c7e7e68012379db2354", GitTreeState:"clean", GoVersion:"go1.16.5"}

添加 bitnami 为 helm 包源

helm 实际上是一个包安装器,这个包被称为 charts,每个 chart 实质上就是一组 k8s 资源的定义。

因此,和软件安装一样,想要安装一个软件,首先需要选择一个软件包源来下载这个软件包。

bitnami 是 VMware 提供的一个包源,其中包含了一些已经被用于产线的常用中间件包,比如 mysql,elasticsearch,mongodb,wordpress 等等。

通过以下命令,便可以添加这个包源。

helm repo add bitnami https://charts.bitnami.com/bitnami

添加好之后,可以使用以下命令来查看已经添加的所有包源:

PS C:/Users/Administrator> helm repo list
NAME    URL
bitnami https://charts.bitnami.com/bitnami
dapr    https://dapr.github.io/helm-charts/

使用 helm 安装一个 nginx

这里我们以安装一个简单的 nginx 为例,演示一下如何安装 helm chart 包。

通过运行以下命令,便可以从 bitnami 上安装一个 nginx 到集群中:

helm install my-release bitnami/nginx

同时,如果你前面安装了 lens, 那么也可以通过左侧的 APP/Charts 来安装:

nginx

安装好之后,便可以使用 k8s 的 port-forward 功能来查看安装结果。当然,在 lens 上,只需要一次鼠标点击可以:

nginx-port-forward
view nginx

移除安装的 helm chart

通过 lens app/release 菜单,你可以非常简单的移除刚刚安装的 chart。

remove release

停止和移除 minikube 节点

如果你想停止当前 minikube 节点以节约资源,可以运行以下命令:

minikube stop

如果你想移除安装的 minikube 节点(hyper-v 虚拟机),可以运行以下命令:

minikube delete --all

本篇小结

通过简单的 minikube 、 helm 和 lens, 你便可以拥有一个非常简单的 k8s 测试环境。

一切就是这样的轻松愉快。

相关链接

af 开头的链接为 af code,你可以通过 https://af.newbe.pro/ 来了解如何使用此链接进行快速收藏。

阿里云版本 minikub

https://github.com/AliyunContainerService/minikube

af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL0FsaXl1bkNvbnRhaW5lclNlcnZpY2UvbWluaWt1YmUiLCJ0IjoiQWxpeXVuQ29udGFpbmVyU2VydmljZS9taW5pa3ViZSIsInRzIjpbIms4cyIsIm1pbmlrdWJlIiwiXHU5NjNGXHU5MUNDXHU0RTkxIl19

Github minikub

https://github.com/kubernetes/minikube

af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMvbWluaWt1YmUiLCJ0Ijoia3ViZXJuZXRlcy9taW5pa3ViZTogUnVuIEt1YmVybmV0ZXMgbG9jYWxseSIsInRzIjpbImdpdGh1YiIsIm1pbmlrdWJlIl19

Github minikub

https://github.com/kubernetes/minikube

af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMvbWluaWt1YmUiLCJ0Ijoia3ViZXJuZXRlcy9taW5pa3ViZTogUnVuIEt1YmVybmV0ZXMgbG9jYWxseSIsInRzIjpbImdpdGh1YiIsIm1pbmlrdWJlIl19

Github helm

https://github.com/helm/helm

af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2hlbG0vaGVsbSIsInQiOiJoZWxtL2hlbG06IFRoZSBLdWJlcm5ldGVzIFBhY2thZ2UgTWFuYWdlciIsInRzIjpbImdpdGh1YiIsImhlbG0iXX0=

Github helm 加速下载

https://www.newbe.pro/Mirrors/Mirrors-Helm/

af://1eyJ1IjoiaHR0cHM6Ly93d3cubmV3YmUucHJvL01pcnJvcnMvTWlycm9ycy1IZWxtLyIsInQiOiJIZWxtIFx1NTZGRFx1NTE4NVx1NTJBMFx1OTAxRlx1NEUwQlx1OEY3RCB8IG5ld2JlIiwidHMiOlsiaGVsbSIsIm1pcnJvciJdfQ==

Github bitnami charts

https://github.com/bitnami/charts

af://1eyJ1IjoiaHR0cHM6Ly9naXRodWIuY29tL2JpdG5hbWkvY2hhcnRzIiwidCI6ImJpdG5hbWkvY2hhcnRzOiBIZWxtIENoYXJ0cyIsInRzIjpbImJpdG5hbWkiLCJjaGFydHMiLCJoZWxtIl19

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

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

相关文章

作为史上最疯狂的科学家,特斯拉提出过哪些惊世骇俗的设想

全世界只有3.14 % 的人关注了爆炸吧知识尼古拉特斯拉是有史以来最疯狂的科学家之一,不管你认为他是天才还是疯子,都无法否认他的才华和想象力。特斯拉在他的时代提出了许多天才的发明和想法,其中一些直到今天都被认为是不切实际或极其危险的。…

新电脑怎么测试软件,鲁大师如何测试新电脑 鲁大师测新机方法

核心提示:鲁大师如何测试新电脑呢?快来看看吧。1、首先需要先打开鲁大师这款软件,进入到主界面,在看新机之前有需要注意的几点,如果电脑的拥有者之前本来就是通过二手的渠道购买的电脑,那电脑本身就是二手的…

机器人等级考试一级教具_全国青少年机器人技术等级考试(一级):基本结构...

​机器人技术,是衡量一个国家科技创新和高端制造业水平的重要标志。大力推动机器人技术创新与行业发展,关键在于人才的培养。少年强,则国强。机器人作为信息化教育的新载体,不仅要让更多中国青少年了解机器人的发展,掌…

react dispatch_React测试的那些事(三) React Hook 测试实例

useReducer测试 useReducer 首先需要在组件中用 actions 和 reducers ,代码如下。Reducerimport * as ACTIONS from ./actionsexport const initialState {stateprop1: false, }export const Reducer1 (state initialState, action) > {switch(action.type) {…

Blazor 组件库开发指南

翻译自 Waqas Anwar 2021年5月21日的文章 《A Developer’s Guide To Blazor Component Libraries》 [1]Blazor 的核心是组件,我们创建不同类型的组件并在整个项目中重用它们。没有人想重复造轮子,因此创建一个可重用的 Blazor 组件库始终是一个好主意&a…

今年大学毕业照画风太清奇.....我忍不住笑出了声!

全世界只有3.14 % 的人关注了爆炸吧知识转眼又到毕业季,今年毕业季因疫情有些不一样。PS云毕业照、云答辩、云面试,不少毕业生调侃自己是“云毕业”。最近不少大学生在网上哀嚎,原因是学校要他们上交照片,以便制作毕业照&#xff…

vc 控制台添加托盘显示_开源:ESP8266读DHT11温湿度,小程序实时显示

第一、原理讲解原理简述:利用发布订阅模式。第一步,先读取DHT11温湿度数值,第二步,新建主题,然后esp8266往这个主题发送消息,第三步。小程序通过http API接口获取数据。小程序控制原理:esp8266订…

python if elif else_python:通讯录(字典+while+if/else)

Hello,World.我是很久很久很久都没有更新的土土[看]但是即便如此呢我这个人也不喜欢拖拖拉拉的东扯西扯一上来咱们就来讲讲正题勿怪[笑哭]1.使用字典构建通讯录mydic{}//定义一个字典2.使用whlie循环判断是否继续进行while True://循环开始break//循环结束3.使用if/elif/else语…

有BUG!!!慎用default文本

前言下面这段代码,你能发现什么问题吗?public static int? Test1(string str) {return str switch{"A" > 1,"B" > 2,"C" > 3,_ > default,}; } public static int? Test2(string str) {switch (str){case &…

老师看完都吐血的五道题

全世界只有3.14 % 的人关注了 爆炸吧知识 老师看完都要吐血的五道题哈哈哈哈哈虽然小编觉得最后一答完全没问题哈哈哈图片来源于网络,如有侵权请联系删除。你点的每个在看,我都认真当成了喜欢

JDK5.0新特性--可变参数

2019独角兽企业重金招聘Python工程师标准>>> /*** 可变参数*/ public class VariableParamater {/*** 统计2个或多个数的和*/public static void main(String[] args) {//计算2个数的和sum(10,15);/** 问题:如果要计算3个数、4个数、5个数或n个数的和&am…

欧几里得距离网络_使用Tensorflow对象检测模型和OpenCV的社交距离和遮罩检测器...

将深度学习和计算机视觉相结合的隔离项目社会距离化这个术语已席卷全球,正在改变着我们的生活方式。社交距离也称为“物理距离”,是指在您自己与其他并非来自家庭的人之间保持安全的空间。随着该国开始在激增的COVID-19案件中发挥作用,保持社…

python 实现点击右键用某个程序打开功能_工欲善其事,必先利其器(1)——Python开发环境安装与配置...

Life Is Short, You Need Python.近年来随着Python的火爆,很多人想要学习并使用Python,本文将详细介绍一套Python开发环境的安装与配置,相比Python自带的IDEL,在此环境下将极大的提高开发效率。下面就让我们一步步的开始安装&…

5分钟盗走你的隐私照片,这个全球性漏洞到底有多可怕

全世界只有3.14 % 的人关注了爆炸吧知识转自:好机友ID:goodjiyou这个时代,大家对电脑出现漏洞,可能已经习以为常。但如果机哥告诉大家,这个漏洞能够在 5 分钟内,破解并盗取你所有加密文件,而且还…

我的世界命令计算机,我的世界有哪些指令?电脑版指令大全

在我的世界游戏中玩家可以依靠指令做很多现实生活中都可以做的事情,甚至有些现实中做不到的事情,比如上天堂,所以指令对于每个我的世界的玩家来说都非常重要,今天小编给大家介绍我的世界指令大全:我的世界指令大全&…

道德经和译文_老子《道德经》第九章原文、注释、译文、导读及解析(收藏版)...

《道德经》被誉为“万经之王”,内容涵盖哲学、伦理学、政治学、军事学等诸多学科,曾被后人尊奉为治国、齐家、修身、为学的宝典。它对我国的哲学、科学、政治、宗教等都产生了深远的影响,体现了古人的一种世界观和人生观。《道德经》作为道教…

StackOverflow程序员推荐:每个程序员都应读的30本书

“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。” 很多程序员响应,他们在推荐时也写下…

超震撼!你没见过的24张震撼照片

全世界只有3.14 % 的人关注了爆炸吧知识话不多说,这些照片,每张都很有价值:艾菲尔铁塔,从底部往上看360度的彩虹高科技停车(大众沃尔夫斯堡汽车厂)被整理过的蜂窝沙特阿拉伯的农田两棵树共享一个枝干两位接…

使用 baget 搭建 nuget 私有服务

现在几乎所有语言都提供包管理工具,比如 JavaScript 的 npm ,Java 的 Maven ,Dart 的 pub 。.Net 程序当然是 NuGet 。NuGet 也出现很多年了,奇怪的是居然还有很多人不知道。现在软件结构越来越复杂,在多个项目中往往需…

xp计算机dns怎么设置,XP系统dns怎么设置?XP系统dns的设置方法

在使用XP系统浏览网页时,大家有没碰到网页打开很慢,而网速检测又显示正常的情况。为什么会出现这样的情况呢?一方面可能是你的电脑中毒了,另一方面可能是你的dns选择的不够好。那么dns要怎么设置才最好呢?下面小编以XP…