Minikube-運行在筆記本上的Kubernetes集群
本文轉載自微信公眾號「網管叨bi叨」,作者KevinYan11。轉載本文請聯系網管叨bi叨公眾號。
前言
Minikube是一個可以在本地電腦上運行Kubernetes的工具。Minikube會在筆記本電腦中的虛擬機上運行一個單節點的Kubernetes集群,讓用戶能對Kubernetes進行體驗或者在之上進行Kubernetes的日常開發。
Windows,MacOS和Linux系統上都可以安裝Minikube,不過在安裝前需要確認系統的版本已經支持虛擬化(一般只要不是太老的系統版本都支持虛擬化)
kubectl
在電腦上安裝Minikubne前需要先安裝kubectl,它是Kubernetes的命令行工具,可以使用kubectl部署應用程序,檢查和管理集群資源以及查看日志。
安裝kubectl
文章里我們演示的安裝步驟都是macOS上的,如果是Linux和Windows系統只需要下載相應系統的二進制文件就行,我會在文章后邊貼上官方的安裝指南。
首先下載最新的穩定版本的kubectl二進制文件。
- 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授予可執行權限,然后將可執行文件放到系統的PATH目錄中
- chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl
安裝MiniKube
如果你的macOS上沒有安裝虛擬機監控程序的話在第一次啟動minikube的時候會自動選擇安裝HyperKit作為虛擬機驅動,如果是以前電腦上有安裝過VirtualBox那么可以在Minikube啟動時加上--vm-driver=virtualbox來選擇虛擬機驅動。
安裝minikube的過程跟kubectl的過程差不多,也是下載minikube的二進制文件,賦予可執行權限后將其放入系統環境變量PATH對應的目錄中。
不過由于大家都知道的網絡訪問原因,很多朋友無法直接使用Kubernetes官方提供的minikube進行實驗,所以這里選擇使用阿里云提供的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系統,安裝流程類似只是軟件的版本不同,具體可以參照官方文檔里給的MiniKube的安裝指南:
https://kubernetes.io/docs/tasks/tools/install-minikube
運行Minikube
啟動minikube的方法非常簡單,只要使用下面的命令
- minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
啟動minikube
在最新的Minikube中,已經提供了配置化的方式,可以幫助大家利用阿里云的鏡像地址來獲取所需的Docker鏡像和配置。
測試Minikube
下面我們通過minikube status命令查看一下它的運行狀態測試我們安裝的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的基礎運行環境,通過最近幾篇關于Kubernetes的文章相信大家都已經對Kubernetes有了初步的認識,不過都是概念性的知識,到現在來說Kubernetes還是一個比較抽象的東西,說實話這么學下去的話我會覺得太枯燥,需要一些實操性的練習給自己一些正反饋才能堅持下去。所以我準備嘗試做一個簡單的用Go語言寫的應用程序的Docker鏡像,把它放到本地電腦上的Kubernetes集群(Minikuebe)上運行。具體的步驟會在下周推送的文章里告訴大家,祝大家假期愉快!