使用 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

简单三分钟,本地搭建k8s相关推荐

  1. 本地搭建K8s环境,并配置Ingress代理(1)

    书接上文,上回说到了在Linux系统搭建K8s环境,通过脚本一键处理,具体可参考<入门K8s:一键脚本搭建Linux服务器集群>. 虽然Linux系统很不错,而且也推荐都买一个做练习,但是 ...

  2. 三分钟极速搭建LP框架{{1019}}

    LP框架极速搭建(用时3分钟) 公司来了新项目,我们如何快速大家一个成熟框架快速开发呢?是copy之前的项目做些更改还是重新一点点搭建? 无论怎么做我们目的就是借鉴之前的开发经验复用到下一个项目当中. ...

  3. 不花钱 三分钟就可以搭建商城的详细步骤

    不花钱,免费就可以搭建线上商城?这是真的吗? 是的!没错!0成本.0基础.0审核,只需3分钟就可以搭建线上商城! [牛云微商城]根据企业的不同需求定制开发,尤其针对中小企业,无需企业营业执照.无需个体 ...

  4. 教你三分钟免费搭建自己的博客网站

    三分钟教你搭建属于自己的网站 需要准备的材料:          能联网的手机或电脑一台          一个属于自己的域名 - 有免费的 如果内容失效,请打开原文地址:http://www.y ...

  5. 英灵神殿服务器linux,英灵神殿服务器搭建方法 简单三步轻松搭建英灵神殿服务器...

    英灵神殿服务器搭建方法是很多玩家都会问的一个问题,毕竟搭建了服务器可以和好友一起玩游戏,那么今天小编就来和大家讲讲英灵神殿服务器搭建方法,感兴趣的小伙伴一起来看看吧! 第一步:SteamCMD和安装内 ...

  6. 三分钟快速搭建分布式高可用的Redis集群

    这里的Redis集群指的是Redis Cluster,它是Redis在3.0版本正式推出的专用集群方案,有效地解决了Redis分布式方面的需求.当单机内存.并发.流量等遇到瓶颈的时候,可以采用这种Re ...

  7. Mac+Docker+K8S本地搭建K8S集群

    1. 安装 Docker for Desktop 安装K8s 建议采用阿里云的k8s-for-docker-desktop,同时可以解决经常遇到的Docker for Desktop中K8S一直卡在s ...

  8. php添加本地搜索,十分钟,在本地搭建一个搜索引擎

    假设有一堆词,也有一堆内容.现在想知道: 每个词的相关词有哪些? 每个词的相关内容有哪些? 每个内容的相关内容有哪些? 利用上述词与词.词与内容.内容与内容的关联,来优化页面的推荐信息,使用户和搜索引 ...

  9. windows+mysql集群搭建-三分钟搞定集群

    一.集群了解 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解 ...

最新文章

  1. 我对北京印象之10年前后
  2. 045_引用分类和WeakHashMap
  3. 按采用的传输介质计算机网络可分为4种,2015年4月全国自考计算机应用基础试卷及答案(00018)...
  4. cocos2dX改变锚点位置
  5. 每个产品经理都应该知道的机器学习术语
  6. python的包文件叫什么_python之包和文件目录规范
  7. php中用date()取出的当前时间查8个小时的解决方法。
  8. 双机热备的缺点_弱电工程中的双机热备是什么?带你了解服务器双机热备
  9. MySQL · 引擎介绍 · Sphinx源码剖析(二)
  10. 高德地图显示多个气泡_arcgis api 4.x for js 地图加载多个气泡窗口展示(附源码下载)...
  11. Visual Stadio 2012创建WebApplication应用和运行赏析
  12. 前端-html省份、地市级联
  13. 是否还为制作PPT而烦恼?珍藏的PPT实用网站打包送给你!
  14. 自组织映射(SOM)聚类分析Python第三方库实现<minisom>
  15. 【金猿技术展】同盾科技知识联邦技术——3.0人工智能的坚强基石
  16. 别看手机了,收心了收心了
  17. 什么是Anti-DDoS流量清洗?
  18. 孤独后厂村,码农的故乡:30万互联网人跳不出的中国硅谷
  19. 浅谈response.setHeader()用法
  20. Windows下安装VScode,并使用,以及中文配置

热门文章

  1. Linux下查看文件内容的ASCII码以检查内容的编码一致
  2. [cf797c]Minimal string(贪心+模拟)
  3. redis下并发问题解决方案
  4. UIView中常用的方法
  5. git - svn 平滑到 git
  6. 经验总结03-dwr
  7. c++标准库中,含有链表的类list
  8. mac编辑器coda使用小贴条
  9. c# 类的基本知识,未完,待续
  10. linux是只读添加 来覆盖,Linux之指令 重定向 文件覆盖和文件追加