當前位置:
首頁 > 最新 > 使用kubeadm部署kubernetes集群

使用kubeadm部署kubernetes集群

每天讀一篇一線開發者原創好文


使用kubeadm部署kubernetes集群

通過docker,我們可以在單個主機上快速部署各個應用,但是實際的生產環境里,不會單單存在一台主機,這就需要用到docker集群管理工具了,本文將簡單介紹使用docker集群管理工具kubernetes進行集群部署。


1 環境規劃與準備

本次搭建使用了三台主機,其環境信息如下:

| 節點功能 | 主機名 | IP |

| ——————|:—————-:|——————-:|

| master | master |192.168.1.11 |

| slave1 | slave1 |192.168.1.12 |

| slave2 | slave2 |192.168.1.13 |

在三台主機的/etc/hosts文件中添加以下內容


再把/etc/fstab文件中帶有swap的行注釋。



官方推薦安裝docker版本為1.12

驗證docker版本


2.2.1 添加yum源

常用yum源均沒有這幾個安裝包,需要添加專門的yum源

2.2.2 安裝kubectl、kubelet、kubeadm

2.2.3 啟動kubelet

查詢kubelet的狀態

初次安裝的情況下kubelet應未啟動成功,我們會按下面的步驟初始化集群後會自動啟動的。


3.1.1 初始化master

根據官方文檔進行初始化:

出現如下錯誤:

需要指定kubernetes-version。

首先查詢版本

版本為1.7.5,然後啟動參數中加入版本:

3.1.2 master節點依賴鏡像

執行過程中會卡在如下步驟:

因為kubenetes初始化啟動會依賴某些鏡像,而這些鏡像默認會到google下載,我們需要手動下載下來這些鏡像後再進行初始化。

使用CTRL+C結束當前進程,然後到/etc/kubernetes/manifests/目錄下查看各個yaml文件,還有其他需要的鏡像文件,匯總後如下:

因直接下載這些google鏡像,下載不下來,我們通過下載dockerHUB/阿里雲上的鏡像,然後更改tag。

master節點初始化成功,結果如下:

需要記住kubeadm join —token這句,後面會用到

3.1.3 kubectl配置

3.1.4 pod network配置

安裝完network之後,你可以通過kubectl get pods —all-namespaces來查看kube-dns是否在running來判斷network是否安裝成功。

如果以上STATUS中存在不是Running的需要再進行解決。

由於安全原因,默認情況下pod不會被schedule到master節點上,可以通過下面命令解除這種限制:


3.2.1 slave節點依賴鏡像

slave節點需要以下鏡像:

在msater節點上導出鏡像

複製到slave主機/opt目錄下,再導入即可:

3.2.2 slave節點加入集群

在兩個slave節點上執行:

執行成功標誌:

在mster節點上執行kubectl get nodes查看是否成功:

可以看到,kubernetes集群已經部署成功,可以使用了。



參考資料

Installing kubeadm,https://kubernetes.io/docs/setup/independent/install-kubeadm/

使用kubeadm在Red Hat 7/CentOS 7快速部署Kubernetes 1.7集群,http://dockone.io/article/2514

CentOS7.3利用kubeadm安裝kubernetes1.7.3完整版(官方文檔填坑篇),https://www.cnblogs.com/liangDream/p/7358847.html

How to execute 「kubeadm init」 v1.6.4 behind firewall,https://stackoverflow.com/questions/44432328/how-to-execute-kubeadm-init-v1-6-4-behind-firewall

使用 kubeadm 創建 kubernetes 1.9 集群,https://www.kubernetes.org.cn/3357.html


如有疑問,歡迎交流

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 中興開發者社區 的精彩文章:

Linux進程函數棧列印工具gstack源碼解讀、運用及擴展編程

TAG:中興開發者社區 |