摘要:主要在文件附加下面的源我使用的是阿里的鏡像,如果你使用的其他國內鏡像,請找對應的鏡像源然后執行下列命令,安裝軟件。參考資料只要用小朋友都能部署基本安裝基于阿里云鏡像站安裝用在上快速構建測試集群
本次安裝環境是Ubuntu16.04,其他環境下,shell命令會有一些不同,但步驟應該大致相同,默認docker已經安裝完成
下載下載安裝下列軟件
kubelet Node上運行的節點代理
kubeadm 用來master初始化集群,及node加入集群
kubectl 客戶端,用來向master發送請求,進行應用的部署
由于墻的原因,獲取這些軟件包有些麻煩。經過上網查閱了一些資料,目前主要有兩種下載安裝這些軟件包。
其中一種是去k8s的github倉庫上下載源碼,解壓安裝。我最開始就是用的這種方式,但是以失敗告終,詳情見后面的問題總結。
第二種是添加k8s國內軟件鏡像源,使用apt進行下載安裝。主要在/etc/apt/source.list文件附加下面的源
# 我使用的是阿里的鏡像,如果你使用的其他國內鏡像,請找對應的k8s鏡像源 deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
然后執行下列命令,安裝軟件。
# 我使用的是1.13.0-00版本,如果不清楚具體的版本號, # 可以使用 apt-cache show 命令進行查詢 export K8S_VERSION=1.13.0-00 apt-get update # 更新軟件源 apt-get install kubelet=${K8S_VERSION} apt-get install kubeadm=${K8S_VERSION} apt-get install kubectl=${K8S_VERSION}
通過這種方式下載的軟件,已經被自動安裝好了,所有的環境已經被設置好了,可以直接運行命令即可。
如果不熟悉kubelet和kubeadm的一些啟動參數,不建議下載可執行包,自己手動安裝。
通過apt進行安裝,可以省下很多事情。我最終通過這種方式成功安裝好了三個軟件。
首先需要做一些配置,以及下載必要的鏡像。本來可以直接執行kubeadm init命令初始化master節點的,但是由于國內有墻,所以在執行kubeadm init命令前,需要做一些額外的工作,主要是下載鏡像。
關閉虛擬內存一般情況下需要執行下列命令關閉虛擬內存[1],否則報如下錯誤
# 關閉swap。 # 但是系統重啟后,swap又會被啟動。 # 因此每次重啟節點,都要手動執行該命令關閉swap,否則kubelet會啟動失敗 # 可以執行 sysctl -w vm.swappiness=0 徹底關掉swap swapoff -a下載鏡像
由于墻的原因,在下載"pause"等docker鏡像時,會出現問題
解決辦法是從阿里docker鏡像網站上下載鏡像,然后修改鏡像的tag[3]
執行如下命令
# $imageName指要下載鏡像的名稱,可以通過 kubeadm config images list 命令獲取,但要去掉前面的k8s.gcr.io/ docker pull registry.aliyuncs.com/google_containers/$imageName docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName docker rmi registry.aliyuncs.com/google_containers/$imageName執行kube init
執行kubeadm init命令,結果如下:
接下來配置kubectl(如果kubeadm init執行成功的,會顯示如何配置kubectl),主要執行下列命令
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config # 將文件權限設為當前用戶
然后就可以用kubectl執行一些命令測試是否成功運行(如 kubectl get nodes)。
由于我是只有一臺機器,所以只有一個master節點
執行kubeadm token create --print-join-command獲取加入命令,然后在節點上執行,即可加入集群
為k8s安裝插件,相當于在集群中創建一些資源,主要使用kubectl apply -f config_file
網絡插件為了使Pod之間能夠跨節點通信,因此需要按照額外的虛擬二層網絡組件。由于我目前只有一臺節點,無法測試,所以暫未安裝
問題總結 記一次手動安裝kubeadm,kubelet和kubectl失敗的經歷首先需要去github上k8s的倉庫下,找到release頁面,并在該頁面下尋找需要下載的版本,比如我們目前的項目需要1.13版,那么我就找到了https://github.com/kubernetes...這個頁面,然后不要去下載這個頁面里的壓縮包,找到CHANGELOG-1.13,點擊進入真正的下載頁面。如下圖紅圈所示:
進入該頁面,找到Server區域,下載k8s服務端的軟件包(壓縮包里包括了安裝k8s必須的軟件),這里我下載的是kubernetes-server-linux-amd64.tar.gz軟件包。
下載完成后,切換到期望安裝的目錄,然后解壓軟件包。這里我希望安裝到/usr/local目錄下,所以執行下列命令
cd /usr/local tar zxf kubernetes-server-linux-amd64.tar.gz
然后設置PATH,修改/etc/profile
export K8S_HOME=/usr/local/kubernetes export PATH=$PATH:$K8S_HOME/server/bin
然后重啟,或者執行source /etc/profile,以更新環境變量。
通過這種方式下載軟件包后,還需要做很多工作去安裝配置kubeadm和kubelet,很麻煩。
經過我無數次的嘗試,我最終以失敗告終,沒有用這種方式安裝配置成功。
主要的問題在于kubeadm和kubelet的啟動參數有點復雜,自己配置的話,需要對k8s有很深入的認識,否則會按下葫蘆浮起瓢。
我自己在那設置的半天,systemd都用的很熟練了,依然沒有安裝成功。
當我把我的ubuntu虛擬機重啟后,發現k8s的組件沒有自動運行,然后我一個個的去啟動相應的容器,但是沒有用。
最后我發現是因為kubelet沒有啟動成功,而沒有啟動的成功的原因是因為swap沒有關閉。
并且我還發現當在master節點上成功啟動kubelet后,其他的組件,如apiserver也會隨之啟動。
[1] 只要用 kubeadm 小朋友都能部署 Kubernetes
[2] kubernetes基本安裝-k8s-3
[3] 基于阿里云鏡像站安裝Kubernetes
[4] 用kubeadm在Ubuntu上快速構建Kubernetes測試集群
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33167.html
摘要:我推薦你使用進行日志收集,將作為的出口。集群目前暫時沒有提供日志查看機制。以如下的形式啟動容器,容器日志將發往配置的。 【作者barnett】本文介紹了k8s官方提供的日志收集方法,并介紹了Fluentd日志收集器并與其他產品做了比較。最后介紹了好雨云幫如何對k8s進行改造并使用ZeroMQ以消息的形式將日志傳輸到統一的日志處理中心。 容器日志存在形式 目前容器日志有兩種輸出形式: ...
摘要:我推薦你使用進行日志收集,將作為的出口。集群目前暫時沒有提供日志查看機制。以如下的形式啟動容器,容器日志將發往配置的。 【作者barnett】本文介紹了k8s官方提供的日志收集方法,并介紹了Fluentd日志收集器并與其他產品做了比較。最后介紹了好雨云幫如何對k8s進行改造并使用ZeroMQ以消息的形式將日志傳輸到統一的日志處理中心。 容器日志存在形式 目前容器日志有兩種輸出形式: ...
摘要:后面會涉及以配置文件進行部署。的調度完成,被分配到指定上。這是的一種最終狀態。圖相較而言,除了提供的基本功能,還支持聲明式的更新和回滾。共享數據存儲的問題主要分為數據臨時存儲與持久性存儲。 帶著問題學 Kubernetes 基本單元 Pod 摘要:本文屬于原創,歡迎轉載,轉載請保留出處:https://github.com/jasonGeng88/blog 文章一:帶著問題學 Kube...
摘要:后面會涉及以配置文件進行部署。的調度完成,被分配到指定上。這是的一種最終狀態。圖相較而言,除了提供的基本功能,還支持聲明式的更新和回滾。共享數據存儲的問題主要分為數據臨時存儲與持久性存儲。 帶著問題學 Kubernetes 基本單元 Pod 摘要:本文屬于原創,歡迎轉載,轉載請保留出處:https://github.com/jasonGeng88/blog 文章一:帶著問題學 Kube...
閱讀 2906·2021-11-15 18:02
閱讀 3800·2021-10-14 09:43
閱讀 3732·2021-09-08 10:41
閱讀 2522·2019-08-30 15:53
閱讀 1803·2019-08-30 14:14
閱讀 1943·2019-08-29 16:12
閱讀 3138·2019-08-29 14:03
閱讀 1280·2019-08-29 13:46