標籤:資料庫 指定 cpu tab 3.3 main uber doc table
說明
本文檔指導採用二進位包的方式快速部署高可用kubernetes叢集。
指令碼託管:k8s-ansible
參考:高可用kubernetes叢集
組件版本
組件 |
版本 |
備忘 |
centos |
7.5 |
linux核心版本不低於3.10,本文檔基於centos發行版本 |
haproxy |
1.8.13 |
版本可選,本文檔預設採用1.8.13版本 |
keepalived |
2.0.6 |
版本可選,本文檔預設採用2.0.6版本 |
docker |
18.06.1.ce |
版本可選,本文檔預設採用18.06.1.ce版本 |
cfssl |
R1.2 |
版本可選,本文檔預設採用R.12版本 |
etcd |
v3.3.9 |
版本可選,本文檔預設採用v3.3.9版本 |
flannel |
v0.10.0 |
版本可選,本文檔預設採用v0.10.0版本 |
kubernetes |
v1.11.2 |
版本可選,本文檔預設採用v1.11.2版本 |
kube-dns |
1.14.10 |
本文檔預設採用1.14.10版本 |
dashboard |
1.8.3 |
本文檔預設採用1.8.3版本 |
heapster |
v1.5.4 |
本文檔預設採用v1.5.4版本 |
influxdb |
v1.5.2 |
本文檔預設採用v1.5.2版本 |
grafana |
v5.0.4 |
本文檔預設採用v5.0.4版本 |
邏輯拓撲
- 叢集伺服器數量建議:3;文檔以172.30.200.51~53樣本,172.30.200.50為vip;
- 為減少伺服器數量,採用all-in-one的方式,各角色服務融合部署;
- 前端採用haproxy+keepalived做高可用;
- k/v資料庫採用etcd叢集;
- kubernetes-master角色群組件:kube-apiserver,kube-controller-manager,kube-scheduler;
- kubernetes-minion角色群組件:kubelet,kube-proxy。
使用說明環境準備
- 準備1台ansible-server(主控端):
- 與ansible-client可通訊;
- 可訪問互連網(如果不可訪問,可提前下載相關package上傳到指定目錄,可參考"~/k8s-ansible/download.sh");
- 理論上無硬體要求。
- 根據規劃,準備若干台宿主機作為ansible-client(被控端),本文檔宿主機數量為3:
- 物理機或虛擬機器;
- 迷你安裝,設定IP地址,啟動ssh服務即可;
- 宿主機可訪問互連網,否則需要通過其他方式初始化宿主機(如採用虛擬機器時,可通過鏡像的方式統一初始化,初始化步驟參考"~/k8s-ansible/playbooks/roles/initenv/tasks/main.yaml");
配置如下:
IP |
CPU(cores) |
Memory(GB) |
Remark |
172.30.200.51 |
4 |
4 |
根據實際部署情況酌情調整資源用量 |
172.30.200.52 |
4 |
4 |
|
172.30.200.53 |
4 |
4 |
|
操作指南
以下操作若無特別說明,均在選定的ansible-server以root賬戶執行。
1. 安裝ansible-server
yum install ansible -y
2. 設定ansible-server免密登陸ansible-client
ansible採用無代理的方式操作被控端,預設使用ssh協議對被控端進行管理,為避免下髮指令時輸入目標主機密碼,採用簽署憑證的方式可ssh免密登陸目標主機。
3. 拉取安裝指令碼
重要:在運行帳號的"~/"目錄下拉取安裝指令碼。
# 安裝或升級gityum install git -y# 拉取安裝指令碼,注意指令碼的儲存目錄cd ~git clone https://github.com/Netonline2016/k8s-ansible.git
4. 下載安裝包
為避免安裝過程中,連網下載安裝包逾時或等待時間過長,提前下載相應package,並放置於對應路徑下,此過程已整理為shell指令碼,可直接運行。
如對package有版本要求,可在指令碼中修改,請見"~/k8s-ansible/download.sh"指令碼注釋。
sh ~/k8s-ansible/download.sh
5. 根據規劃定義主機變數
涉及檔案,修改請見相應檔案注釋:
- ~/k8s-ansible/inventory/hosts
- ~/k8s-ansible/inventory/group_vars/all
6. 部署高可用kubernetes叢集
採用ansible playbook方式運行自動化安裝。
ansible-playbook -i ~/k8s-ansible/inventory/hosts ~/k8s-ansible/playbooks/k8s-ansible.yaml
高可用Kubernetes叢集-16. ansible快速部署