以前給你們介紹過幾種在筆記本電腦上安裝Kubernetes集羣的工具,雖然安裝起來不太繁瑣可是多多少少仍是須要花一些時間的,對於不想瞎倒騰,就想快速安裝個本地集羣開始學習和測試的同窗,推薦大家試一試Docker桌面應用裏自帶的Kubernetes集羣。其實我也是以前用Minikube安裝的集羣莫名其妙壞掉啓動不起來後,偶然發現Docker桌面應用裏內嵌了一個Kubernetes集羣,試了試效果感受仍是挺不錯的。下面我帶你們簡單過一下啓用集羣方法,全程幾乎就是點點點,也不須要作啥。node
也不知道是何時開始(反正老早就有了,我這個是前年裝的...一直沒升級過),Docker的桌面應用除了提供Docker CLI集成外還內嵌了一個Kubernetes集羣,默認是不開啓的,啓用後這個單點的Kubernetes集羣會運行在本地的Docker實例中。mysql
要啓用這個集羣只須要打開Docker應用的首選項(Preferences)界面,選擇Kubernetes選項卡。sql
點擊應用並重啓,就能夠去刷小視頻了,再回來集羣就安裝好了。docker
除了啓用Kubernetes集羣外,若是電腦上以前沒有安裝過 kubectl (客戶端命令工具)的話還會爲你自動安裝上kubectl,並配置鏈接到剛纔啓動的本地集羣上。若是是本地以前安裝過kubectl 和 存在其餘Kubernetes集羣,想要鏈接到Docker桌面應用內嵌的集羣則須要切換一下 kubectl 的上下文。markdown
$ kubectl config get-contexts
$ kubectl config use-context docker-desktop
複製代碼
集羣啓用完成後,在打開Docker桌面應用的選項卡在 UI 上會有些微的變化,證實Kubernetes
集羣已經成功啓動起來了。app
讓咱們隨便運行幾個 kubctl 命令,試試效果。工具
➜ ~ kubectl get node
NAME STATUS ROLES AGE VERSION
docker-desktop Ready control-plane,master 13d v1.21.1
複製代碼
能夠看到咱們如今使用的是一個單節點,名字叫docker-desktop的集羣(這個名沒地方改)。oop
使用Docker桌面應用自帶的Kubernetes集羣還有一點方便的地方就是,集羣外部經過 127.0.0.1 就能訪問集羣內部,也就是咱們經過 NodePort 類型的 Service 向集羣外暴露的資源,經過 127.0.0.1:port 的形式就能訪問到。學習
咱們隨便拿一個以前咱們搭建MySQL開發環境的例子測試一下。搭建MySQL須要的YAML定義文件和步驟我就再也不重複說了,忘記的同窗以前訪問上一篇文章:利用Kubernetes搭建便攜式開發環境之MySQL和Redis測試
## 切到定義文件在的目錄
kubectl apply -f mysql-configmap.yaml
kubectl apply -f deployment-service.yaml
--------------------------------------------------------
## 能夠看到下面的Pod和Service資源
kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-cc4479465-gwdj7 1/1 Running 0 13d
--------------------------------------------------------
kubectl get svc mysql
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
mysql NodePort 10.104.123.151 <none> 3306:30306/TCP 13d
複製代碼
在電腦上只要經過127.0.0.1:30306就能訪問到咱們剛剛安裝的MySQL啦,持久化之類的事情我也試過,只要咱們不主動把MySQL這個Pod刪掉數據就會一直在。
經過Docker桌面應用在電腦上安裝Kubernetes集羣能夠說是把咱們學習K8s的起步依賴降到了最低,讓咱們能快速跳過工具安裝步驟開始正題的學習,想學K8s的同窗們趕忙動手試試吧。
下一期 Kubernetes 的文章我繼續分享怎麼在Kubernetes上搭建MongoDB開發環境方面的內容,有興趣還沒關注的同窗趕忙點個關注吧。