1.minikube簡介
1.1 什么是minikube
minikube相當(dāng)于一個(gè)運(yùn)行在本地的Kubernetes單節(jié)點(diǎn)糯钙,我們可以在里面創(chuàng)建Pods來創(chuàng)建對應(yīng)的服務(wù)。也就是說Minikube是一個(gè)快速搭建單節(jié)點(diǎn)Kubenetes集群的工具,它對硬件資源沒有太高的要求妓湘,方便開發(fā)人員學(xué)習(xí)使用伦吠,或者進(jìn)行日常的開發(fā)。
1.2 minikube的作用
Minikube 搭建的環(huán)境支持大部分 Kubernetes 的功能力试,具體如下:
DNS、NodePorts排嫌、ConfigMaps and Secrets畸裳、Dashboards、Ingress
Container Runtime: Docker, and rkt
Enabling CNI (Container Network Interface)等
1.3 minikube的工作環(huán)境
Minikube 支持 Windows淳地、macOS怖糊、Linux 三種 OS 下安裝使用帅容。根據(jù)平臺(tái)不同,Minikube 會(huì)下載對應(yīng)的虛擬機(jī)鏡像伍伤,并在鏡像內(nèi)安裝 k8s并徘。
目前的虛擬機(jī)技術(shù)都是基于 Hypervisor 來實(shí)現(xiàn)的,Hypervisor 規(guī)定了統(tǒng)一的虛擬層接口扰魂,由此 Minikube 就可以無縫切換不同的虛擬機(jī)實(shí)現(xiàn)麦乞,如 macOS 可以切換 hyperkit 或 VirtualBox, Windows 下可以切換 Hyper-V 或 VirtualBox 等劝评。
如果 Minikube 安裝在內(nèi)核原生就支持 LXC 的 OS 內(nèi)姐直,如 Ubuntu、CentOS 等蒋畜,再安裝一次虛擬機(jī)顯然就是對資源的浪費(fèi)了声畏,Minikube 也提供了直接對接 OS 底層的方式(--vm-driver=none)
2.安裝minikube
針對不同的os,都有對應(yīng)的安裝教程姻成,參考文檔:https://minikube.sigs.k8s.io/docs/start/
本文以mac上安裝為例
首先安裝docker插龄,詳見相關(guān)文章
直接使用brew安裝:brew install minikube
安裝完成后,檢查一下版本:
~ minikube version
~ kubectl version
3.集群操作
3.1 啟動(dòng)minikube創(chuàng)建K8S集群
~ minikube start
3.2 進(jìn)入minikube虛擬機(jī)
~ minikube ssh
通過minikube ssh進(jìn)到虛機(jī)里科展,然后看看是否有一些container運(yùn)行起來了
執(zhí)行對應(yīng)的docker命令即可
如圖辫狼,運(yùn)行了一堆minikube需要的k8s命令
3.3 關(guān)閉集群
minikube stop #停止當(dāng)前運(yùn)行的集群
minikube delete # 徹底刪除集群
4.在瀏覽器中打開 Kubernetes 儀表板(Dashboard)
~ minikube dashboard #打開Dashboard
會(huì)自動(dòng)打開訪問鏈接(端口隨機(jī)),http://127.0.0.1:63576/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default
5.使用kubectl命令
~ kubectl config view #查看集群配置
~ kubectl get services # 列出所有 namespace 中的所有 service
~ kubectl get node #查看節(jié)點(diǎn)
~ kubectl get pods --all-namespaces # 列出所有 namespace 中的所有 pod