1、Minikube簡介
Kubernetes 是目前公認最為主流的容器編排的開源平台。企業應用服務需要容器化時都避免不了學習和使用 Kubernetes 。然而部署一整套多節點的 Kubernetes 集群對於剛接觸它的開發人員來說確實有一定的難度。
針對這種情況,Kubernetes 官方提供了 Minikube 與 Kubeadm 兩個工具來幫助開發人員快速部署 Kubernetes 環境。 Minikube 用於快速在本地搭建 Kubernetes 單節點集群環境,它對硬件資源沒有太高的要求,方便開發人員學習試用,或者進行日常的開發。 雖然說 Minikube 部署的是單節點的集群,不過麻雀雖小,五臟俱全,深入了解后就會發現這也是個有意思的項目。Kubeadm 則是官方推薦的部署 Kubernetes 多節點集群的工具,由於不是本文重點,不作過多贅述。
首先minikube提供了一種非常簡單的方法來安裝單節點的K8S環境,minikube支持多種環境,比如linux,macos,windows都可以,支持多種安裝方式,默認會使用virtualbox創建虛擬機並安裝k8s環境,也可以在啟動的時候通過--vm-driver 使用虛擬化技術,
官方文檔參考:https://minikube.sigs.k8s.io/docs/
我的環境是:windows10+Vmware
minikube工作原理圖:
2、安裝
2.1 安裝docker
在Centos7 下安裝minikube的時候,會使用--vm-driver=none,添加這個參數之后,minikube會直接在當前系統里安裝kubenetes,以下介紹主要的步驟 1. 安裝docker yum remove docker-latest-logrotate docker-logrotate docker-selinux dockdocker-engine yum install -y yum-utils device-mapper-persistent-data lvm2 docker官方源: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 這里使用阿里雲安裝源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo rpm --import http://mirrors.aliyun.com/docker-ce/linux/centos/gpg yum makecache fast yum -y install docker-ce 安裝完成啟動Docker systemctl start docker && systemctl status docker && systemctl enable docker
2.2 安裝kubectl
step 1:訪問官方github網址:https://github.com/kubernetes/kubernetes/releases
step 2:找到想使用的發布版本,在每個發布版本的最后一行有類似“CHANGELOG”這樣的內容,點擊超鏈進入;
step 3:然后進入“Client Binaries”區域;
step 4:選擇和目標機器系統匹配的二進制包下載;
step 5:解壓縮,放入/usr/local/bin目錄;
2.3 安裝minikube
阿里雲發布的minikube地址:https://github.com/AliyunContainerService/minikube
這里從release目錄下載最新的minikube版本:https://github.com/kubernetes/minikube/releases/
mv minikube-linux-amd64 minikube chmod +x minikube mv minikube /usr/local/bin 執行 國內安裝方式: minikube start --registry-mirror=https://registry.docker-cn.com --vm-driver=none 執行上面那個會有問題,所以采用下面這個 --vm-driver=none用的是本地的docker minikube start --image-mirror-country=cn --registry-mirror=https://b3uey254.mirror.aliyuncs.com --vm-driver=none
特別注意:minikube start --vm-driver=none 這是說表示minikube運行在宿主機不需要KVM或者VirtualBox,但根據官方文檔的介紹,我們還是不采用這種方法。
[root@localhost kubernetes]# minikube start --image-mirror-country=cn --registry-mirror=https://b3uey254.mirror.aliyuncs.com --vm-driver=none
#查看狀態: minikube status
#查看動了哪些容器
#查看啟動了哪些pod
#列出所有的service
3、遇到的問題
問題一:
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
解決方法:在VMware右擊虛擬機打開設置,點擊處理器,把虛擬化引擎的虛擬化功能勾上
問題二:
直接在Centos7中安裝minikube后運行minikube start回報這么一個錯誤: * minikube v1.3.1 on Centos 7.2.1511 ! Please don't run minikube as root or with 'sudo' privileges. It isn't necessary with virtualbox driver. * Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers * Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=20000MB) ... E0926 14:56:54.978506 15786 start.go:723] StartHost: create: precreate: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
查了下github上的issue發現,原來需要安裝VirtualBox。方法如下: vi /etc/yum.repos.d/virtualbox.repo [virtualbox] name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc yum install VirtualBox-6.0 -y 完成在Centos中安裝VirtualBox。 運行minikube start開始愉快的K8S之旅
問題三:
[ERROR Swap]: running with swap on is not supported. Please disable swap.
1. 關掉swapoff
swapoff -a
2. 注釋掉配置
vi /etc/fstab
注釋掉最后一行
3.重啟虛擬機
reboot now