关于容器:minikube-结合阿里云镜像搭建本地开发测试环境

33次阅读

共计 3197 个字符,预计需要花费 8 分钟才能阅读完成。

作者:HaoKe

作者地址: http://github.com/KeHaohaoke

我的共事写了一篇英文的博客,对于如何应用 minikube 搭建本地的 k8s 环境的。

我很喜爱这篇文章,链接在这里:minikube-k8s。

该文章和本文并不是一对一的翻译的。有各自不同的角度去讲述,倡议你去浏览一下该篇文章,会有不一样的播种。

相干背景:在日常开发测试中,咱们验证和 k8s 无关的性能的时候,并不需要生产环境规格的 k8s 集群。

比方(3 master+3 node),这种规格的集群,咱们集体个别不具备这种配置,也没有必要为了本地测试开发的验证而去专门搭建这样的集群(除非有非凡须要)。

本文则介绍一种利用 minikube 来搭建 k8s 本地开发测试环境的办法。
本文是在 MacOS 并且是 Intel 芯片的机器上进行装置 minikube 的。

并且在装置中,指定了阿里云镜像,毋庸进行特地的上网形式的设置,不会有 gcr.io 下载慢或者无奈下载而必须应用一些非凡的上网设置办法的问题。且因为镜像在国内,下载速度也很快。

概要 :本文讲述了在 MacOS Intel 机器上:
应用 minikube 别离以 vmware 作为 driver 和应用 docker 作为 driver 来装置 one node 的 k8s。

minikube 装置筹备

工欲善其事,必先利其器。咱们先来下载 minikube:

shell
brew install minikube

如果你的 Mac 上没有装置 brew,请参考:Homebrew 官网进行装置。

接下来,咱们还要下载 kubectl:

shell
brew install kubectl

在 MacOS(intel 芯片)上,minikube 反对多种不同的 driver:

  • Docker
  • VirtualBox
  • VMWare Fusion
  • HyperKit

接下来,咱们会采纳两种装置形式:一种应用 VM: Vmware Fusion,另外还有 Docker 两种形式来进行。

应用 VMWare Fusion 装置

在此之前,须要先在 MacOS 上装置好 VMWare Fusion,装置的步骤也比较简单,听从 Vmware 的文档来就能够,请参照:vmware-mac-downloads。

装置好 Vmware 之后,须要设置 path:

依据你应用的是 zsh 还是 bash,别离在 .zshrc 或者 .bashrc 里加上:(否则,进行上面的 minikube start 的时候,会报错,提醒找不到 vmware)。

shell
export PATH=$PATH:"/Applications/Vware Fusion.app/Contents/Library"

当你在 Vmware 里装置了某个虚拟机,运行 vmrun list 命令会看到相似上面这样的输入。

其中,上面的输入中含有 minikube 是我在 minikube 曾经运行之后应用这条命令的缘故。

shell
vmrun list

这条命令的输入如下:

shell
Total running VMs: 2
/Users/kehao/.minikube/machines/minikube/minikube.vmx
/System/Volumes/Data/DigitalResources/VirtualMachine/MyCentOS7.vmwarevm/MyCentOS7.vmx

装置和启动 -vmware driver

shell
minikube start --driver=vmware --memory=2048 --cpus=2 --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

特地阐明:在这里,我应用了阿里云的镜像。如果没有缺省该参数,即不指定 image-repository 参数的话,会默认从 gcr.io 去下载镜像,该地址因为一些网络起因,是会被 ban 掉的。

其实,也是有办法能够去 gcr.io 下载的,但这里就交给读者本人钻研了。

但用指定阿里云的镜像的办法,会在下载速度上快很多,即便读者钻研了办法去从 gcr.io 下载 image,其速度也不是从阿里云下载可比的。

作为开发测试环境,咱们心愿的是疾速实现搭建并应用,倒腾具体的网络下载相干的配置能够放到闲余工夫钻研。

很快,就会看到装置且启动结束:


比拟乏味的是,能够看到,minikube 应用了很多 emoji 表情示意了每个装置阶段的状态。这可能也是程序员可恶的一面,在其余的技术产品上,比方 github,也有很多 emoji 表情在应用,读者有趣味能够本人去找找。

启动 dashboard

也是很简略的一条命令:

shell
minikube dashboard &

阐明:加上 & 是为了放弃后盾启动,免得关掉了执行这个命令的 session 导致相干过程被杀掉,也能够说避免为了放弃 dashboard 始终运行,不得不长期开着一个 session。


这条命令会主动拉起浏览器关上上图所示链接,会看到 k8s 的 dashboard。

应用 docker driver 装置

在更换 driver 之前,把原来的 minikube stop 并 delete 掉。

嗯,还是简略的一条命令。哈哈,其实是两条啦:

shell
minikube stop
shell
minikube delete


在应用 docker 作为 driver 之前,要确认 MacOS 上曾经装置好了 docker desktop。

装置也很简略:

遵循这里的 guide 去做就 OK 了。macos-docker

在这里也去阐明一下装置办法:

  1. 去 docker 官网的链接,找到你的机器对应的装置,点击下载。
    docker-desktop-install

  1. 之后,就和装置其余的 MacOS 软件一样,都是拖拽装置的。

如果有喜爱命令行装置的敌人,能够看这个链接 install-docker-desktop-from-command-line

装置实现之后,就能够启动 docker desktop。

Tips: 如果 Mac 配置不高,比方我的 Mac,买的比拟早一些,能够在启动 docker desktop 之前,设置 docker desktop 里的内存小一点。

批改 docker desktop 的内存的步骤:在 MAC 右上角的状态栏找到 docker desktop->Preferences-> 按需批改内存和 CPU 的设置。

  1. 启动了 docker desktop 之后,就能够用 docker driver 的形式用 minikube 来装置 k8s 了。

也很简略,就是一条命令:)

shell
minikube start --memory=2048 --cpus=2 --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

同应用 vmware driver 一样,咱们 start 实现之后,须要启动 dashboard。

同样也会主动拉起浏览器关上 dashboard 的 url。

查看 k8s

这就和一般的 k8s 没什么两样了, 应用相应的命令查看即可。

我在应用上面的命令获取 k8s 的 nodes 的时,运行的环境上只有 minikube,你运行的后果视你本人的环境,可能与上面的运行后果有所不同(可能不止一个 node)

shell
kubectl get nodes
NAME       STATUS   ROLES                  AGE   VERSION
minikube   Ready    control-plane,master   15m   v1.23.3

其余的 driver 的装置反对

在 MacOS 的 darwin amd64(即 intel 芯片)上,还反对 VirtualBox 作为 driver 以及 HyperKit 作为 driver。

略微须要留神的则是传参的时候,应该别离指定为 --driver=virtualbox--driver=hyperkit,而不是用这两者的驼峰命名。

至于这两者对应的虚拟机的装置,读者能够本人尝试去装置并实现整个流程,本人入手去尝试。

正文完
 0