Minikube-運(yùn)行在筆記本上的Kubernetes集群
本文轉(zhuǎn)載自微信公眾號「網(wǎng)管叨bi叨」,作者KevinYan11。轉(zhuǎn)載本文請聯(lián)系網(wǎng)管叨bi叨公眾號。
前言
Minikube是一個(gè)可以在本地電腦上運(yùn)行Kubernetes的工具。Minikube會(huì)在筆記本電腦中的虛擬機(jī)上運(yùn)行一個(gè)單節(jié)點(diǎn)的Kubernetes集群,讓用戶能對Kubernetes進(jìn)行體驗(yàn)或者在之上進(jìn)行Kubernetes的日常開發(fā)。
Windows,MacOS和Linux系統(tǒng)上都可以安裝Minikube,不過在安裝前需要確認(rèn)系統(tǒng)的版本已經(jīng)支持虛擬化(一般只要不是太老的系統(tǒng)版本都支持虛擬化)
kubectl
在電腦上安裝Minikubne前需要先安裝kubectl,它是Kubernetes的命令行工具,可以使用kubectl部署應(yīng)用程序,檢查和管理集群資源以及查看日志。
安裝kubectl
文章里我們演示的安裝步驟都是macOS上的,如果是Linux和Windows系統(tǒng)只需要下載相應(yīng)系統(tǒng)的二進(jìn)制文件就行,我會(huì)在文章后邊貼上官方的安裝指南。
首先下載最新的穩(wěn)定版本的kubectl二進(jìn)制文件。
- curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
為kubectl授予可執(zhí)行權(quán)限,然后將可執(zhí)行文件放到系統(tǒng)的PATH目錄中
- chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl
安裝MiniKube
如果你的macOS上沒有安裝虛擬機(jī)監(jiān)控程序的話在第一次啟動(dòng)minikube的時(shí)候會(huì)自動(dòng)選擇安裝HyperKit作為虛擬機(jī)驅(qū)動(dòng),如果是以前電腦上有安裝過VirtualBox那么可以在Minikube啟動(dòng)時(shí)加上--vm-driver=virtualbox來選擇虛擬機(jī)驅(qū)動(dòng)。
安裝minikube的過程跟kubectl的過程差不多,也是下載minikube的二進(jìn)制文件,賦予可執(zhí)行權(quán)限后將其放入系統(tǒng)環(huán)境變量PATH對應(yīng)的目錄中。
不過由于大家都知道的網(wǎng)絡(luò)訪問原因,很多朋友無法直接使用Kubernetes官方提供的minikube進(jìn)行實(shí)驗(yàn),所以這里選擇使用阿里云提供的minikube版本
- curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.11.0/minikube-darwin-amd64 \
- && chmod +x minikube \
- && sudo mv minikube /usr/local/bin/
如果是Linux和Window系統(tǒng),安裝流程類似只是軟件的版本不同,具體可以參照官方文檔里給的MiniKube的安裝指南:
https://kubernetes.io/docs/tasks/tools/install-minikube
運(yùn)行Minikube
啟動(dòng)minikube的方法非常簡單,只要使用下面的命令
- minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
啟動(dòng)minikube
在最新的Minikube中,已經(jīng)提供了配置化的方式,可以幫助大家利用阿里云的鏡像地址來獲取所需的Docker鏡像和配置。
測試Minikube
下面我們通過minikube status命令查看一下它的運(yùn)行狀態(tài)測試我們安裝的minikube。
- ➜ minikube status
- minikube
- type: Control Plane
- host: Running
- kubelet: Running
- apiserver: Running
- kubeconfig: Configured
通過kubectl查看集群的一些信息。
- ➜ kubectl get pods -A
- NAMESPACE NAME READY STATUS RESTARTS AGE
- kube-system coredns-67c766df46-59rtb 1/1 Running 0 17m
- kube-system coredns-67c766df46-jxmvf 1/1 Running 0 17m
- kube-system etcd-minikube 1/1 Running 0 16m
- kube-system kube-addon-manager-minikube 1/1 Running 0 16m
- kube-system kube-apiserver-minikube 1/1 Running 0 16m
- kube-system kube-controller-manager-minikube 1/1 Running 0 17m
- kube-system kube-proxy-ljppw 1/1 Running 0 17m
- kube-system kube-scheduler-minikube 1/1 Running 0 16m
- kube-system storage-provisioner 1/1 Running 0 17m
- ➜ kubectl get nodes
- NAME STATUS ROLES AGE VERSION
- minikube Ready master 18m v1.18.3
- ➜ kubectl get namespaces
- NAME STATUS AGE
- default Active 18m
- kube-node-lease Active 18m
- kube-public Active 18m
- kube-system Active 18m
接下來
安裝完Minikube后我們的電腦上就有了Kubernetes的基礎(chǔ)運(yùn)行環(huán)境,通過最近幾篇關(guān)于Kubernetes的文章相信大家都已經(jīng)對Kubernetes有了初步的認(rèn)識(shí),不過都是概念性的知識(shí),到現(xiàn)在來說Kubernetes還是一個(gè)比較抽象的東西,說實(shí)話這么學(xué)下去的話我會(huì)覺得太枯燥,需要一些實(shí)操性的練習(xí)給自己一些正反饋才能堅(jiān)持下去。所以我準(zhǔn)備嘗試做一個(gè)簡單的用Go語言寫的應(yīng)用程序的Docker鏡像,把它放到本地電腦上的Kubernetes集群(Minikuebe)上運(yùn)行。具體的步驟會(huì)在下周推送的文章里告訴大家,祝大家假期愉快!