為了方便學習Kubernetes,所以在本地安裝單機版的minikube,記錄安裝步驟備忘。
一、配置
先決條件
- 安裝 kubectl
Minikube在不同操作系統上支持不同的驅動
-
macOS
- xhyve driver 缺省驅動, VirtualBox 或 VMware Fusion
-
Linux
- VirtualBox 或 KVM
- NOTE: Minikube 也支持
--vm-driver=none
選項來在本機運行 Kubernetes 組件,這時候需要本機安裝了 Docker。此外 none 驅動會運行一個不安全的API Server,會導致安全隱患,不建議在個人工作環境安裝。
-
Windows
- VirtualBox 或 Hyper-V - 請參考下文
注:
- 由於minikube復用了docker-machine,在其軟件包中已經支持了相應的VirtualBox, VMware Fusion驅動
- VT-x/AMD-v 虛擬化必須在 BIOS 中開啟
- 在Windows環境下,如果開啟了Hyper-V,不支持VirtualBox方式
安裝Minikube
您可以參考 https://minikube.sigs.k8s.io/docs/start/ 安裝配置
Mac OSX
curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Linux
curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Windows
下載 minikube-windows-amd64.exe 文件,並重命名為 minikube.exe
二、啟動
從1.5.0版本開始,Minikube缺省使用本地最好的驅動來創建Kubernetes本地環境
minikube start
為了訪問海外的資源,阿里雲提供了一系列基礎設施,請按照如下參數進行配置。其中常見參數
--image-mirror-country cn
將缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作為安裝Kubernetes的容器鏡像倉庫,--iso-url=***
利用阿里雲的鏡像地址下載相應的 .iso 文件--cpus=2
: 為minikube虛擬機分配CPU核數--memory=2000mb
: 為minikube虛擬機分配內存數--kubernetes-version=***
: minikube 虛擬機將使用的 kubernetes 版本
安裝minikube缺省支持的Kubernetes版本
minikube start --image-mirror-country cn \ --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.6.0.iso \ --registry-mirror=https://xxxxxx.mirror.aliyuncs.com
打開Kubernetes控制台
minikube dashboard
對於使用Hyper-V環境的用戶,首先應該打開Hyper-V管理器創建一個外部虛擬交換機,
之后,我們可以用如下命令來創建基於Hyper-V的Kubernetes測試環境
.\minikube.exe start --image-mirror-country cn \ --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.5.0.iso \ --registry-mirror=https://xxxxxx.mirror.aliyuncs.com \ --vm-driver="hyperv" \ --hyperv-virtual-switch="MinikubeSwitch" \ --memory=4096
注:需要管理員權限來創建Hyper-V虛擬機
使用Minikube
Minikube利用本地虛擬機環境部署Kubernetes,其基本架構如下圖所示。
用戶使用Minikube CLI管理虛擬機上的Kubernetes環境,比如:啟動,停止,刪除,獲取狀態等。一旦Minikube虛擬機啟動,用戶就可以使用熟悉的Kubectl CLI在Kubernetes集群上執行操作。