最近在學習K8s,minikube是一個單節點學習K8s的工具,在部署的過程中遇到了很多坑,在這裏記錄一下。
虛機版本
Vmware版本:15.5.6
Ubuntu版本:18.04.4
最開始使用的低版本的VMware和14版本的ubuntu,然後安裝過程中各種奇怪的報錯,使用上面高版本後明顯減少,基本沒有意外的報錯。
注意:
- 確保網絡要通暢。
- 最好直接使用root權限,防止權限不足
- 虛機至少有兩核
- 內存至少2G
- 硬盤至少20G
安裝過程
安裝過程大體分爲以下幾步:
- 設置源,方便下載
- 安裝docker
- 下載並安裝kubectl
- 下載並安裝minikube
- 以driver=none的方式運行minikube
由於默認的安裝源都是國外的,加上網絡也不太好所以總是安裝失敗,因此在這個過程中一定要設置好國內的源。
第一步、設置源
設置deb源,以便加速下載
vi /etc/apt/sources.list
運行上面命令,並在其中加入下面內容
# 默認註釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消註釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
然後分別執行下列命令導入key,返回ok代表成功
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
最後更新源
sudo apt-get update
第二步、安裝docker
docker直接安裝是最新版本,然後在後面運行minikube start時遇到了daocker版本太高不兼容的error。最後使用了18.06.1~ce~3-0~ubuntu 版本可以運行
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
安裝完成後運行docker version如果出現下圖則說明安裝成功。
第二步、安裝kubectl
可能下載比較慢,可以找一下國內的源,更換下面的鏈接再安裝。
sudo curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/linux/amd64/kubectl && sudo chmod +x kubectl && sudo mv kubectl /usr/local/bin/
第三步、安裝minikube
這個使用的阿里源,只要網絡暢通會很快。
sudo curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.30.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
第四步、啓動minikube
minikube start --iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.8.0.iso --vm-driver=none
啓動要注意,
第一點:設置iso-url,否則使用默認的會提示找不到minikube-iso的error;
第二點:設置vm-driver=none,有很多文章是將其設置爲virtualbox,但是這樣設置後會報錯:
This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
上網查了一下,感覺原因應該是我的Ubuntu已經是一個虛擬機了,不能在虛擬機裏使用virtualbox再進行虛擬化,不知道這樣理解是否正確,有懂得大佬請指教!
以上設置好運行後,遇到了幾個報錯:
1、端口已被佔用
解決:
kubeadm reset
2、需要設置權限
minikube會提示使用–vm-driver=none得方式啓動是不安全的(但是無所謂了,只是爲了學習而已),並且需要賦予它一些權限,可以通過兩種方式,最簡單的一種就是直接設置一個環境變量。
vim /etc/profile
在裏面加入
export CHANGE_MINIKUBE_NONE_USER=true
使生效
source profile
然後啓動minikube就成功啦,運行minikube status查看啓動結果。