服务器初始化
服务器规划及功能清单
序号 |
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: