minikube 結(jié)合阿里云鏡像搭建本地開發(fā)測試環(huán)境

作者:HaoKe

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

我的同事寫了一篇英文的博客,關(guān)于如何使用 minikube 搭建本地的 k8s 環(huán)境的样屠。

我很喜歡這篇文章吃嘿,鏈接在這里:minikube-k8s

該文章和本文并不是一對一的翻譯的啡专。有各自不同的角度去講述,建議你去閱讀一下該篇文章,會有不一樣的收獲。

相關(guān)背景: 在日常開發(fā)測試中佣耐,我們驗證和k8s有關(guān)的功能的時候,并不需要生產(chǎn)環(huán)境規(guī)格的k8s集群唧龄。

比如(3 master+3 node)兼砖,這種規(guī)格的集群,我們個人一般不具有這種配置既棺,也沒有必要為了本地測試開發(fā)的驗證而去專門搭建這樣的集群(除非有特殊需要)讽挟。

本文則介紹一種利用 minikube 來搭建 k8s 本地開發(fā)測試環(huán)境的方法。
本文是在 MacOS 并且是 Intel 芯片的機(jī)器上進(jìn)行安裝 minikube 的丸冕。

并且在安裝中耽梅,指定了阿里云鏡像,無須進(jìn)行特別的上網(wǎng)方式的設(shè)置胖烛,不會有 gcr.io 下載慢或者無法下載而必須使用一些特殊的上網(wǎng)設(shè)置方法的問題眼姐。且由于鏡像在國內(nèi),下載速度也很快洪己。

概要:本文講述了在 MacOS Intel 機(jī)器上:
使用 minikube 分別以 vmware 作為 driver 和使用 docker 作為 driver 來安裝 one node 的 k8s妥凳。

minikube 安裝準(zhǔn)備

工欲善其事竟贯,必先利其器答捕。我們先來下載 minikube:

shell
brew install minikube

如果你的 Mac 上沒有安裝 brew,請參考:Homebrew官網(wǎng)進(jìn)行安裝屑那。

接下來拱镐,我們還要下載 kubectl:

shell
brew install kubectl

在 MacOS(intel 芯片)上艘款,minikube 支持多種不同的 driver:

  • Docker
  • VirtualBox
  • VMWare Fusion
  • HyperKit

接下來,我們會采用兩種安裝方式:一種使用 VM: Vmware Fusion沃琅, 另外還有 Docker 兩種方式來進(jìn)行哗咆。

使用 VMWare Fusion 安裝

在此之前,需要先在 MacOS 上安裝好 VMWare Fusion益眉,安裝的步驟也比較簡單晌柬,遵從 Vmware 的文檔來就可以,請參照:vmware-mac-downloads郭脂。

安裝好 Vmware 之后年碘,需要設(shè)置 path:

根據(jù)你使用的是 zsh 還是 bash,分別在 .zshrc 或者 .bashrc 里加上:(否則展鸡,進(jìn)行下面的 minikube start 的時候屿衅,會報錯,提示找不到 vmware)莹弊。

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

當(dāng)你在 Vmware 里安裝了某個虛擬機(jī)涤久,運(yùn)行 vmrun list 命令會看到類似下面這樣的輸出。

其中忍弛,下面的輸出中含有 minikube 是我在 minikube 已經(jīng)運(yùn)行之后使用這條命令的緣故响迂。

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'

特別說明:在這里,我使用了阿里云的鏡像细疚。如果沒有缺省該參數(shù)栓拜,即不指定 image-repository 參數(shù)的話,會默認(rèn)從gcr.io 去下載鏡像惠昔,該地址由于一些網(wǎng)絡(luò)原因幕与,是會被 ban 掉的。

其實镇防,也是有方法可以去 gcr.io 下載的啦鸣,但這里就交給讀者自己研究了。

但用指定阿里云的鏡像的方法来氧,會在下載速度上快很多诫给,即使讀者研究了方法去從 gcr.io 下載 image,其速度也不是從阿里云下載可比的啦扬。

作為開發(fā)測試環(huán)境中狂,我們希望的是快速完成搭建并使用,倒騰具體的網(wǎng)絡(luò)下載相關(guān)的配置可以放到閑余時間研究扑毡。

很快胃榕,就會看到安裝且啟動完畢:

minikube-docker-install.png

比較有趣的是,可以看到瞄摊,minikube 使用了很多 emoji 表情表示了每個安裝階段的狀態(tài)勋又。這可能也是程序員可愛的一面苦掘,在其他的技術(shù)產(chǎn)品上,比如 github楔壤,也有很多 emoji 表情在使用鹤啡,讀者有興趣可以自己去找找。

啟動 dashboard

也是很簡單的一條命令:

shell
minikube dashboard &

說明:加上&是為了保持后臺啟動蹲嚣,以免關(guān)掉了執(zhí)行這個命令的 session 導(dǎo)致相關(guān)進(jìn)程被殺掉递瑰,也可以說防止為了保持 dashboard 一直運(yùn)行,不得不長期開著一個 session隙畜。

minikube-dashboard.png

這條命令會自動拉起瀏覽器打開上圖所示鏈接泣矛,會看到 k8s 的 dashboard。

k8s-dashboard.png

使用 docker driver 安裝

在更換 driver 之前禾蚕,把原來的 minikube stop 并 delete 掉您朽。

嗯,還是簡單的一條命令换淆。哈哈哗总,其實是兩條啦:

shell
minikube stop
shell
minikube delete
minikube-stop.png

在使用 docker 作為 driver 之前,要確認(rèn) MacOS 上已經(jīng)安裝好了 docker desktop倍试。

安裝也很簡單:

遵循這里的 guide 去做就 OK 了讯屈。macos-docker

在這里也去說明一下安裝方法:

  1. 去 docker 官網(wǎng)的鏈接,找到你的機(jī)器對應(yīng)的安裝县习,點(diǎn)擊下載涮母。
    docker-desktop-install
select-macos-type.png
  1. 之后,就和安裝其他的 MacOS 軟件一樣躁愿,都是拖拽安裝的叛本。
![docker-desktop-config.png](https://upload-images.jianshu.io/upload_images/27925370-f754c2614ba97881.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如果有喜歡命令行安裝的朋友,可以看這個鏈接 install-docker-desktop-from-command-line

安裝完成之后彤钟,就可以啟動 docker desktop来候。

Tips: 如果 Mac 配置不高,比如我的 Mac逸雹,買的比較早一些营搅,可以在啟動 docker desktop 之前,設(shè)置 docker desktop 里的內(nèi)存小一點(diǎn)梆砸。

修改 docker desktop 的內(nèi)存的步驟:在 MAC 右上角的狀態(tài)欄找到 docker desktop->Preferences-> 按需修改內(nèi)存和 CPU 的設(shè)置转质。

  1. 啟動了 docker desktop 之后,就可以用 docker driver 的方式用 minikube 來安裝 k8s 了帖世。

也很簡單休蟹,就是一條命令:)

shell
minikube start --memory=2048 --cpus=2 --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
![![minikube-docker-dashboard-url.png](https://upload-images.jianshu.io/upload_images/27925370-63c0c5a9c8330a88.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ](https://upload-images.jianshu.io/upload_images/27925370-2d114f10b6f34325.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

同使用 vmware driver 一樣,我們 start 完成之后,需要啟動 dashboard鸡挠。

同樣也會自動拉起瀏覽器打開 dashboard 的 url。

minikube-docker-dashboard-url.png

查看k8s

這就和普通的 k8s 沒什么兩樣了, 使用相應(yīng)的命令查看即可搬男。

我在使用下面的命令獲取 k8s 的 nodes 的時拣展,運(yùn)行的環(huán)境上只有 minikube,你運(yùn)行的結(jié)果視你自己的環(huán)境缔逛,可能與下面的運(yùn)行結(jié)果有所不同(可能不止一個 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。

稍微需要注意的則是傳參的時候褐奴,應(yīng)該分別指定為--driver=virtualbox--driver=hyperkit按脚,而不是用這兩者的駝峰命名。

至于這兩者對應(yīng)的虛擬機(jī)的安裝敦冬,讀者可以自己嘗試去安裝并完成整個流程辅搬,自己動手去嘗試。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脖旱,一起剝皮案震驚了整個濱河市堪遂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萌庆,老刑警劉巖溶褪,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異践险,居然都是意外死亡猿妈,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門巍虫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彭则,“玉大人,你說我怎么就攤上這事占遥》“” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵筷频,是天一觀的道長蚌成。 經(jīng)常有香客問我,道長凛捏,這世上最難降的妖魔是什么担忧? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮坯癣,結(jié)果婚禮上瓶盛,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好惩猫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布芝硬。 她就那樣靜靜地躺著,像睡著了一般轧房。 火紅的嫁衣襯著肌膚如雪拌阴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天奶镶,我揣著相機(jī)與錄音迟赃,去河邊找鬼。 笑死厂镇,一個胖子當(dāng)著我的面吹牛纤壁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捺信,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼酌媒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了迄靠?” 一聲冷哼從身側(cè)響起馍佑,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梨水,沒想到半個月后拭荤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疫诽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年同仆,在試婚紗的時候發(fā)現(xiàn)自己被綠了嫩码。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贬蛙,靈堂內(nèi)的尸體忽然破棺而出助隧,到底是詐尸還是另有隱情痒给,我是刑警寧澤贪薪,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站胖笛,受9級特大地震影響网持,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜长踊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一功舀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧身弊,春花似錦辟汰、人聲如沸列敲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戴而。三九已至,卻和暖如春翩蘸,著一層夾襖步出監(jiān)牢的瞬間所意,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工鹿鳖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扁眯,地道東北人壮莹。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓翅帜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親命满。 傳聞我的和親對象是個殘疾皇子涝滴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容