您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何安裝minikube,kubectl以及實現Kubernetes集群部署,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
(1) 安裝kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt) 目前得出的是:v1.9.4
chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
安裝完成,可通過kubectl version查看是否成功。
(2)安裝minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.25.0/minikube-linux-amd64
這是從github上直接copy的安裝方式,同樣的,可以通過minikube version查看是否安裝成功。
(3)配置信息(這個我具體沒有研究是否是必要的)
export MINIKUBE_WANTUPDATENOTIFICATION=false
&& export MINIKUBE_WANTREPORTERRORPROMPT=false
&& export MINIKUBE_HOME=$HOME
&& export CHANGE_MINIKUBE_NONE_USER=true
&& mkdir $HOME/.kube || true
&& touch $HOME/.kube/config
&& export KUBECONFIG=$HOME/.kube/config
(4) 由于需要下載gcr.io/google-containers/... 下的鏡像,這里需要代理,通過socks5+proxychains實現。事先買了一臺國外的服務器。
apt-get install proxychains
vim /etc/proxychains.conf 找到最后一行,修改地址和端口
socks5 127.0.0.1 1080
當然我的環境中是因為有一臺專門的服務器作為本地連接的代理,端口號為1080,所有的請求都是先到本地的一臺服務器,再通過國外的服務器上網。
注意:docker daemon默認不會讀取系統代理,所以需要手動設置。
這里分為Ubuntu1404版本中:vim /etc/default/docker 添加export ALL_PROXY=“socks5://127.0.0.1:1080”
然后通過/etc/init.d/docker restart
Ubuntu1604版本中:mkdir /etc/systemd/system/docker.service.d/
[Service] Environment="ALL_PROXY=socks5://127.0.0.1:1080"
然后刷新配置 systemctl daemon-reload
重啟docker服務 systemctl restart docker
systemctl show --perporty=Environment docker 查看配置是否生效
proxychains使用很簡單,目前: proxychains curl www.google.com測試是否成功
支持: proxychains docker pull gcr.io/google-containers/...
proxychains apt-get update/ apt-get install -y kubelet kubeadm kubectl
proxychains kubeadm init
proxychains minikube start --vm-driver=virtualbox
目前我這么用是可以獲取成功的。
(5) 需要virtualbox支持,此處有點像,虛擬機里面還需要裝虛擬機,(有點蒙?!)說是需要cpu支持VT-X等硬件虛擬化,可是我本身運行的ubuntu/centos就是VMware虛擬機或virtualbox虛擬機的系統。而且開始一直是在命令行系統上運行。
當然minikube start --vm-driver=virtualbox此時是可以運行了,但是我后面一直卡在一個錯誤里面
This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory.
官網上說是需要安裝virtualbox,于是找到如下步驟安裝:
(a) 先在/etc/apt/source.list文件中添加軟件源
deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib
(b) 添加virtualbox5.2的軟件源秘鑰,當然這是我下了的版本,其他版本一樣。
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
(c) apt-get update && apt-get install virtualbox-5.2
安裝成功之后,再次嘗試proxychains minikube start --vm-driver=virtualbox
依然報錯。網上說是需要在系統啟動時,進入F2到bios設置的Inter virtual..菜單中修改成enabled,但是發現我的VMware里居然沒有,于是我又花費時間去安裝virtualbox軟件,添加ubuntu系統,依然沒有找到類似的bios設置,難道我電腦的cpu不支持?
正當我要放棄的時候,我打開了VMware中的一臺Ubuntu1404桌面版系統時,想到試一試,果然在虛擬機的設置里面居然有: 虛擬化引擎 首選模式 仍為自動 但是啟用下面這個選項:虛擬機化Intel VT-x/EPT 或 AMD-V/RVI(V)。
最后,通過proxychains minikube start --vm-driver=virtualbox 啟動了Kubernetes集群。
(6)通過minikube命令,根據官網進行測試,學習。
當然(5)步啟動的時間有點長的。因為大概知道需要下載很多gcr.io下的鏡像。
這里在Ubuntu14的命令行中,運行virtualbox,可以直接調出界面,可以看到如下圖
原來minikube start命令會自動生成一個vb的虛擬機,而且整個kubernetes相關的組件,docker鏡像都在這個名叫minikube的Linux系統中生成,所以這么慢。
于是,開始通過命令行操作cluster。
kubectl get nodes 獲取node節點,這里只有一個單節點
kubectl get pod -o wide --all-namespaces 查看所有運行的容器
kubectl describe podName -n kube-system 查看kube-system空間內的名為podName的執行過程詳情,可用于定位問題
minikube status 查看local kubernetes cluster status
minikube ip 查看ip 例如:這里得到ip為192.168.99.100
minikube dashboard --url 查看dashboard url 例如:這里得到http://192.168.99.100: 31512
minikube ssh 登錄到virtualbox的系統中,可以查看到docker images下載的gcr.io的鏡像,以及docker ps
minikube get-k8s-versions 獲取kubernetes版本列表
minikube start --kubernetes-version v1.7.3 以某一個kubernetes版本啟動集群
eval $(minikube docker-env) 通過這個命令就可以在minikube所在的虛擬機,直接運行docker來查看鏡像和運行的容器,這樣就可以不需要minikube ssh再查看docker信息
minikube service serviceName --url 可以查看到service的訪問url
注意:啟動時,需要添加proxychains minikube start --vm-driver=virtualbox 這樣才能下載gcr.io里面的鏡像。
如下圖,測試命令,以及dashboard頁面:
根據minikube dashboard --url 得到dashboard地址為:http://192.168.99.100:30000
關于如何安裝minikube,kubectl以及實現Kubernetes集群部署就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。