角色 | 数量 | 描述 |
---|---|---|
管理节点 | 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