kubernetes的集群搭建有多種方式:二進位、kubeadm、ansible自動化、minikube。minikube方式比較簡單,但是只是單節點,適合學習kubernetes基礎的時候使用。其他的方式安裝都會出各種問題。我花了一個星期,嘗試了這幾種方式,除了minikube,其他都沒有成功。從centos到Ubuntu,心力交瘁。
前幾天在跟同事聊天的時候,我對他說,kubernetes的學習終止於環境搭建。同事神秘的一笑,對我說,我有一個秘籍,五分鐘搭建、百分百成功,看你骨骼驚奇,一包辣條賣給你吧。
我以不相信的語氣說,憋™吹牛逼了,你倒是說呀。同事伸出兩根手指
超過五分鐘,說明你網速不好。我一聽果然是我不知道的一種方式,下班後立馬回家嘗試,於是有了以下的記錄。
我們一定要保證以上環境的初始化信息正常,主要是IP和主機名,IP一定要配置為靜態IP,主機名一定要修改為不同的,具體可參考上一篇文章
在所有機器上安裝yum install -y ntp ntpdate 修改/etc/ntp.conf,注釋掉server開頭的幾行,增加如下server ntp3.aliyun.com iburst 注釋掉這一行F8F8F8; --tt-darkmode-bgcolor: 修改/etc/ntp.conf,注釋掉server開頭的幾行,增加如下server 192.168.143.130 prefer restrict 127.0.0.1# 保存以上文件後,在控制臺執行以下命令同步一次ntpq -p
上面我們已經在主機上安裝好了rancher,通過瀏覽器打開https://192.168.143.130,先設置admin用戶的密碼,然後下一步就行了
修改語言為簡體中文,然後點擊左上角的集群,再點擊右邊的添加集群
選擇Custom,表示自建kubernetes集群,如果已經有了集群,可以點擊import,導入現有集群
名稱隨便填,其他的先不用管,點擊下一步
首先把三個都選中,我們這裡是要先創建kubernetes集群的master節點,所以必須都選中,否則創建不成功,然後點擊生成命令旁邊的複製,複製需要執行的命令後,在我們的k8s-master主機執行此命令,執行成功後會在以上界面的左下角顯示一臺主機已註冊,然後點擊Done
回到集群界面,點擊集群右邊的三個小點,選擇編輯,有些版本這裡顯示的升級,就點擊升級按鈕
在這個界面選中控制和工作節點,然後複製命令,在其他的主機上去執行命令,每個主機執行完後,都會在左下角顯示主機已註冊,都執行完後點擊保存。每個主機加入集群後都會進行一番初始化操作,這個時間視機器的情況而定。
主機註冊完後,就會在上面這裡看到我們已經註冊的集群,點擊後顯示如下
點擊節點就可以看到我們的主機機器,我們的三節點kubernetes集群就搭建完成了。是不是非常簡單,而且是界面化操作,非常方便,幾乎不會出現錯誤。
rancher可以安裝kubernetes,也提供了很多操作,但是我還是建議通過kubectl命令進行操作。如果你已經非常熟悉了,使用可視界面能提高效率,如果你剛接觸kubernetes,命令行方式更利於學習。
在搭建過程中可能出現的問題是機器初始化的問題,比如多個機器的主機名相同或者IP位址相同,只要注意這兩點,幾乎不會出任何問題。