天天看點

使用kubeadm方式安裝kubernetes 1.10.0

使用kubeadm方式安裝kubernetes 1.10.0

環境準備

docker安裝部署

所需docker安裝包,請點選17.03自行下載下傳使用。

基礎鏡像準備

本次示範 kubernetes 所依賴的各個鏡像清單如下:

所需鏡像,請點選images自行下載下傳。

系統配置

根據官方文檔中limitations小節中的内容,對各節點系統做如下設定:

安裝kubeadm和kubelet

下面在各節點安裝kubeadm和kubelet

初始化master準備

#說明:

(1)kubeadm 等相關 rpm 安裝後會生成 /etc/kubernetes 目錄,而 kubeadm init 時候又會檢測這些目錄是否存在,如果存在則停止初始化,是以要先清理一下。

參考官網tear down部分内容。

(2)初始化以前記得一定要啟動 kubelet。

(3)安裝ebtables包

新版本直接 init 會提示 ebtables not found in system path 錯誤,是以還得先安裝一下這個包在初始化

(4)修改kubelet配置檔案

(5)關閉系統Swap

Kubernetes 1.8開始要求關閉系統的Swap,如果不關閉,預設配置下kubelet将無法啟動。可以通過kubelet的啟動參數--fail-swap-on=false更改這個限制。

說明:因為這裡本次用于測試的主機上還運作其他服務,關閉swap可能會對其他服務産生影響,是以這裡修改kubelet的啟動參數--fail-swap-on=false去掉這個限制。

注意⚠️如果碰到一下錯誤:

解決方法:

使用kubeadm init初始化叢集

#使用kubeadm初始化叢集,在Master Node上執行下面的指令:

#說明

我們選擇flannel作為Pod網絡插件,是以上面的指令指定–pod-network-cidr=10.244.0.0/16

#執行時的WARNING

#執行時如有:

#整個初始化流程

#關鍵内容說明

如果你需要重新做 kubeadm init ,那麼我們最好把上次初始化和容器服務全部清理掉,具體步驟:

master節點驗證

#檢視一下叢集狀态

#解決方法:

#再次檢視叢集狀态

#檢視叢集節點

#指令行驗證

檢視目前Network

kubeadm init成功之後,此時的master node上k8s的核心元件均正常啟動,而且是多以container的形式啟動。

不過這些核心元件并不是跑在pod network中的(沒錯,此時的pod network還沒有建立),而是采用了host network。以kube-apiserver的pod資訊為例:

#檢視kube-apiserver的容器id

#檢視對應的pause容器的network屬性

安裝flannel pod網絡

檢視master中所有pod的狀态

向Kubernetes叢集添加/删除Node

關于這部分操作,請點選參考Node操作

參考文檔

centos7使用kubeadm安裝kubernetes 1.11版本多主高可用

繼續閱讀