服务器初始化
服务器规划及功能清单
| 序号 | IP | 主机名 | 部署描述 | CPU | 内存 | 数据盘 |
|---|---|---|---|---|---|---|
| 1 | 192.168.1.61 | k8s-master1 | k8s管理节点 | 8 | 16 | 200 |
| 2 | 192.168.1.195 | k8s-master2 | k8s管理节点 | 8 | 16 | 200 |
| 3 | 192.168.1.198 | k8s-master3 | k8s管理节点 | 8 | 16 | 200 |
| 4 | 192.168.1.207 | k8s-node01 | k8s工作节点 | 16 | 64 | 200 |
| 5 | 192.168.1.237 | k8s-node02 | k8s工作节点 | 16 | 64 | 200 |
| 6 | 192.168.1.235 | k8s-node03 | k8s工作节点 | 16 | 64 | 200 |
| 7 | 192.168.1.199 | k8s-node04 | k8s工作节点 | 16 | 64 | 200 |
| 8 | 192.168.1.191 | k8s-node05 | k8s工作节点 | 16 | 64 | 200 |
| 9 | 192.168.1.189 | k8s-node06 | k8s工作节点 | 16 | 64 | 200 |
| 10 | 192.168.1.57 | k8s-node07 | k8s工作节点 | 8 | 32 | 200 |
| 11 | 192.168.1.133 | k8s-node08 | k8s工作节点 | 8 | 32 | 200 |
| 12 | 192.168.1.127 | k8s-node09 | k8s工作节点 | 16 | 32 | 100 |
| 13 | 192.168.1.82 | k8s-node10 | k8s工作节点 | 16 | 32 | 100 |
| 14 | 192.168.1.156 | k8s-node11 | k8s工作节点 | 16 | 32 | 100 |
| 15 | 192.168.1.112 | zk-01 | Zookeeper | 8 | 32 | 100 |
| 16 | 192.168.1.56 | zk-02 | Zookeeper | 8 | 32 | 100 |
| 17 | 192.168.1.250 | zk-03 | Zookeeper | 8 | 32 | 100 |
| 18 | 192.168.1.98 | Mongodb | Mongodb | 8 | 32 | 100 |
| 19 | 192.168.1.99 | R | / | 8 | 32 | 100 |
| 20 | 192.168.1.132 | / | / | 8 | 32 | 100 |
| 21 | 192.168.1.3 | harbor、rancher | harbor 仓库 | 8 | 32 | 100 |
| 22 | 192.168.1.219 | 基础平台mysql | 基础平台mysql | 8 | 32 | 100 |
| 23 | 192.168.1.102 | 智慧校mysql | 智慧校mysql | 8 | 32 | 100 |
| 24 | 192.168.1.18 | 学习中心mysql | 学习中心mysql | 8 | 32 | 100 |
| 25 | 192.168.1.23 | 大数据mysql | 大数据mysql | 8 | 32 | 100 |
| 26 | 192.168.1.148 | 前置mysql | 前置mysql | 8 | 32 | 100 |
准备ansible的hosts文件
后续批量操作使用ansible操作,以增加便捷性和安全性
修改服务器主机名
使用ansible批量修改服务器主机名
- 更改主机名脚本
--- - hosts: all remote_user: root tasks: - name: change name ##永久修改,重启服务器后生效,主机名来自于ansible的hosts文件 shell: "echo {{ hostname|quote }} >/etc/hostname" - name: ##临时修改,重新登录生效 shell: hostname {{ hostname|quote }} - name: create data if not exits ##创建工作目录 file: path=/data/ state=directory - 使用ansible更新服务器主机名
ansible-playbook hostnameChange.yaml ##批量执行修改
- 验证
ansible all -m shell -a "hostname"
图1 验证1
Figure1:
安装必要软件
- 脚本
--- - name: insatll docker-ce package ##配置镜像源为内网镜像仓库 hosts: k8s tasks: - name: scp install packages unarchive: src="/data/src/dockerkuber_yum.tar.gz dest=/data/" - name: install shell: yum -y install /data/dockerkuber_yum/*
- 执行脚本
ansible-playbook yumupdate.yaml
关闭防火墙、selinux
- 脚本
--- - name: stop firewalld selinux hosts: all tasks: - name: stop firewalld service ##关闭firewalld service: name=firewalld state=stopped enabled=no ignore_errors: TRUE - name: stop selinux shell: sed -i "s@SELINUX=.*@SELINUX=disabled@" /etc/selinux/config ignore_errors: TRUE
- 执行脚本
ansible-playbook stopSelinux.yaml
升级内核
- 脚本
--- - name: update kernel to 4.18 ##内核升级到4.18版本,内核软件包在部署文件目录内 hosts: all tasks: - name: copy kernel tar unarchive: src=/etc/ansible/test.tar.gz dest=/data/ - name: install kernel shell: yum -y install /data/test/* - name: set default kernel shell: grub2-set-default 0 && grub2-mkconfig -o /etc/grub2.cfg
- 执行脚本
ansible-playbook kernelUpdate.yaml
- 重启服务器
为保障安全,此步骤一台台服务器单独执行,执行命令为:
shutdown -r now
- 重启后验证
ansible all -m shell -a "uname -r"
图2 重启后验证2
Figure2: