角色 | 數量 | 描述 |
---|---|---|
管理節點 | 1 | 運行ansible/easzctl腳本,能夠複用master節點, 建議使用獨立節點 |
etcd節點 | 3 | 注意etcd集羣須要1,3,5,7...奇數個節點,通常複用master節點 |
master節點 | 2 | 高可用集羣至少2個master節點 |
node節點 | 3 | 運行應用負載的節點,可根據須要提高機器配置/增長節點數 |
本次測試部署的是高可用架構的K8S,因此須要3臺以上的虛擬機,我這裏使用4臺node
主機名 | IP地址 | 配置 | 角色 | 系統 |
---|---|---|---|---|
master1 | 192.168.0.117 | 2C5G | 管理節點、master節點 | CentOS 7.8 |
master2 | 192.168.0.125 | 2C4G | master節點 | CentOS 7.8 |
node1 | 192.168.0.130 | 2C3G | node節點 | CentOS 7.8 |
node2 | 192.168.0.131 | 2C3G | node節點 | CentOS 7.8 |
備註:因爲網絡緣由,easzup可能會出現下載失敗狀況,這裏把easzup2.2.1 版本工具分享給你們
百度網盤分享連接:https://pan.baidu.com/s/1GJtn5EkCSXR39KAMVe8Pzw
提取碼:j0wj python
**在4臺服務器上面都操做**
vim /etc/hostslinux
#末尾添加: 192.168.0.117 master1 192.168.0.125 master2 192.168.0.130 node1 192.168.0.131 node2
hostnamectl set-hostname master1 && bash
hostnamectl set-hostname master2 && bash
hostnamectl set-hostname node1 && bash
hostnamectl set-hostname node2 && bashgit
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld
systemctl disable firewalldgithub
timedatectl set-timezone Asia/Shanghaidocker
在管理節點(master1)上安裝vim
yum install git python3-pip -ybash
pip3 install ansible==2.6.18 netaddr==0.7.19 -i https://mirrors.aliyun.com/pypi/simple/服務器
ssh-keygen網絡
ssh-copy-id master1
ssh-copy-id master2
ssh-copy-id node1
ssh-copy-id node2
ssh node2 #測試鏈接
export release=2.2.1
curl -C- -fLO --retry 3 https://github.com/easzlab/kubeasz/releases/download/${release}/easzup
chmod +x ./easzup #受權
./easzup -D
cd /etc/ansible && cp example/hosts.multi-node hosts
vim hosts #修改此hosts文件:
[etcd] 192.168.0.117 NODE_NAME=etcd1 192.168.0.125 NODE_NAME=etcd2 192.168.0.130 NODE_NAME=etcd3 #master node(s) [kube-master] 192.168.0.117 192.168.0.125 #work node(s) [kube-node] 192.168.0.130 192.168.0.131 CLUSTER_NETWORK="calico"
ansible all -m ping #正常能看到節點返回 SUCCESS
ls #查看此目錄下須要執行的劇本
使用分步安裝(推薦)
ansible-playbook 01.prepare.yml
若是發生下圖錯誤:
嘗試這樣子解決:
yum install libselinux-python -y
cat /etc/selinux/config
init 6 #重啓服務器
cd /etc/ansible
ansible-playbook 01.prepare.yml #從新運行劇本
ansible-playbook 02.etcd.yml
ansible-playbook 03.docker.yml
ansible-playbook 04.kube-master.yml
ansible-playbook 05.kube-node.yml
ansible-playbook 06.network.yml
ansible-playbook 07.cluster-addon.yml
若是你對集羣安裝流程不熟悉,請先使用一鍵安裝:(不推薦使用)
#一步安裝
ansible-playbook 90.setup.yml
kubectl version
kubectl get componentstatus
kubectl get nodes
kubectl get pod --all-namespaces
kubectl get svc --all-namespaces
kubectl get svc -n kube-system|grep kubernetes-dashboard
kubectl -n kube-system describe secret admin-user
https://github.com/easzlab/kubeasz/blob/master/docs/setup/quickStart.md
https://www.97hjh.cn/archives/%E5%9F%BA%E4%BA%8Eeaszup%E4%B8%80%E9%94%AE%E6%90%AD%E5%BB%BAk8s%E9%9B%86%E7%BE%A4