試了試Docker桌面應用自帶的K8s集羣,一個字「簡單」

前言

以前給你們介紹過幾種在筆記本電腦上安裝Kubernetes集羣的工具,雖然安裝起來不太繁瑣可是多多少少仍是須要花一些時間的,對於不想瞎倒騰,就想快速安裝個本地集羣開始學習和測試的同窗,推薦大家試一試Docker桌面應用裏自帶的Kubernetes集羣。其實我也是以前用Minikube安裝的集羣莫名其妙壞掉啓動不起來後,偶然發現Docker桌面應用裏內嵌了一個Kubernetes集羣,試了試效果感受仍是挺不錯的。下面我帶你們簡單過一下啓用集羣方法,全程幾乎就是點點點,也不須要作啥。node

啓用Kubernetes

也不知道是何時開始(反正老早就有了,我這個是前年裝的...一直沒升級過),Docker的桌面應用除了提供Docker CLI集成外還內嵌了一個Kubernetes集羣,默認是不開啓的,啓用後這個單點的Kubernetes集羣會運行在本地的Docker實例中。mysql

要啓用這個集羣只須要打開Docker應用的首選項(Preferences)界面,選擇Kubernetes選項卡。sql

開啓內嵌的Kubernetes集羣

點擊應用並重啓,就能夠去刷小視頻了,再回來集羣就安裝好了。docker

除了啓用Kubernetes集羣外,若是電腦上以前沒有安裝過 kubectl (客戶端命令工具)的話還會爲你自動安裝上kubectl,並配置鏈接到剛纔啓動的本地集羣上。若是是本地以前安裝過kubectl 和 存在其餘Kubernetes集羣,想要鏈接到Docker桌面應用內嵌的集羣則須要切換一下 kubectl 的上下文。markdown

$ kubectl config get-contexts
$ kubectl config use-context docker-desktop
複製代碼

使用Kubernetes

集羣啓用完成後,在打開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開發環境方面的內容,有興趣還沒關注的同窗趕忙點個關注吧。

往期文章推薦

Go語言類

Go語言的IO庫那麼多,我該怎麼選?

Go指針的使用限制和突破之路

圖文結合,白話Go的垃圾回收原理

Kubernetes 類

gRPC的平滑關閉和在Kubernetes上的服務摘流方案總結

用Kubernetes搭建Etcd集羣和WebUI

學練結合,快速掌握Kubernetes Service

相關文章
相關標籤/搜索