寫在前面
本文檔描述過程是基于https://github.com/easzlab/kubeasz進(jìn)行kubernetes集群的部署。使用版本是2.1.0。
環(huán)境準(zhǔn)備
本文檔主要是在CentOS7.5環(huán)境下進(jìn)行部署,前期進(jìn)行了Linux內(nèi)核的升級(升級到4.4)和歷史軟件環(huán)境的清理,此步驟可跳過佑吝。集群節(jié)點(diǎn)采用三臺服務(wù)器,一臺做master绳匀,兩臺做node芋忿。IP地址如下:
10.20.12.6(master節(jié)點(diǎn))
10.20.12.7(node節(jié)點(diǎn))
10.20.12.8(node節(jié)點(diǎn))
同時(shí)炸客,需要master節(jié)點(diǎn)和node節(jié)點(diǎn)上已經(jīng)安裝了pip和netaddr。安裝步驟如下
安裝pip和netaddr
yum install -y epel-release
yum -y install python-pip python-wheel
pip install --upgrade pip
pip install netaddr
安裝Ansible
內(nèi)核版本升級到4.4之后戈钢,執(zhí)行如下命令進(jìn)行軟件包的更新和ansible的安裝痹仙。Ansible的版本是2.9.1
yum -y update
yum -y install ansible?
免密登錄配置
ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa
ssh-copy-id $IPs #$IPs為所有節(jié)點(diǎn)地址包括自身,按照提示輸入yes 和root密碼
離線安裝包下載
登錄到master節(jié)點(diǎn)(10.20.12.6)殉了,執(zhí)行如下命令:
export release=2.1.0
curl -C- -fLO --retry 3 https://github.com/easzlab/kubeasz/releases/download/${release}/easzup
chmod +x? ./easzup
./easzup -D
執(zhí)行成功后开仰,所有文件均已整理好放入目錄/etc/ansilbe,只要把該目錄整體復(fù)制到任何離線的機(jī)器上薪铜,即可開始安裝集群众弓,離線文件包括:
kubeasz 項(xiàng)目代碼 --> /etc/ansible
kubernetes 集群組件二進(jìn)制 --> /etc/ansible/bin
其他集群組件二進(jìn)制(etcd/CNI等)--> /etc/ansible/bin
操作系統(tǒng)基礎(chǔ)依賴軟件包(haproxy/ipvsadm/ipset/socat等)--> /etc/ansible/down/packages
集群基本插件鏡像(coredns/dashboard/metrics-server等)--> /etc/ansible/down
離線文件不包括:
管理端 ansible 安裝,但可以使用 kubeasz 容器運(yùn)行 ansible 腳本
其他更多 kubernetes 插件鏡像
配置集群參數(shù):
必要配置:cd /etc/ansible && cp example/hosts.multi-node hosts, 然后實(shí)際情況修改此hosts文件
可選配置隔箍,初次使用可以不做修改谓娃,詳見配置指南
驗(yàn)證ansible 安裝:ansible all -m ping?正常能看到節(jié)點(diǎn)返回 SUCCESS
執(zhí)行安裝腳本
ansible-playbook 90.setup.yml
執(zhí)行完效果如下:
安裝完成之后在node節(jié)點(diǎn)執(zhí)行kubectl命令時(shí)會發(fā)生如下情況:
解決方法如下:
首先將master節(jié)點(diǎn)下的配置文件遠(yuǎn)程復(fù)制到node節(jié)點(diǎn),命令如下:
scp ~/.kube/config 10.20.12.7:/etc/kubernetes/admin.conf
scp ~/.kube/config 10.20.12.8:/etc/kubernetes/admin.conf
登錄到10.20.12.7/8蜒滩。執(zhí)行如下命令:
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
執(zhí)行命令驗(yàn)證如下:
至此滨达,單master節(jié)點(diǎn)的kubernetes集群安裝結(jié)束,多master節(jié)點(diǎn)的集群搭建可以在hosts里面對master配置增加相應(yīng)的節(jié)點(diǎn)地址俯艰。