添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  1. 1. Ansible 部署 Redis 主从
    1. 1.0.1. 一、安装ansible服务工具
    2. 1.0.2. 二、创建roles角色目录
      1. 1.0.2.1. 1.创建目录
      2. 1.0.2.2. 2.将redis的二进制文件复制到redis_cmd目录下
      3. 1.0.2.3. 3.生成ssh免交互
      4. 1.0.2.4. 4.编写主机清单
      5. 1.0.2.5. 5.配置文件jinja模版
      6. 1.0.2.6. 6.配置启动脚本
      7. 1.0.2.7. 7.tasks清单
      8. 1.0.2.8. 8.handles清单
      9. 1.0.2.9. 9.执行任务清单
      10. 1.0.2.10. 10.检查剧本语法
      11. 1.0.2.11. 11.模拟执行剧本
      12. 1.0.2.12. 12.执行剧本

在安装服务之前先添加epel的yum源,因为ansible的安装依赖epel源

1
2
3
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
yum -y install ansible

ansible作为一款自动化软件工具,不需要修改配置文件就可以直接启动
ansible的目录结构:

1
2
3
/etc/ansible/ansible.cfg    --- ansible服务配置文件
/etc/ansible/hosts --- 主机清单文件 定义可以管理的主机信息
/etc/ansible/roles --- 角色目录

二、创建roles角色目录

官方地址:

1
https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html

官方的目录定义:

1
2
3
4
5
6
7
8
[root@master1 /etc/ansible/roles]# tree
.
├── nfs #角色名称
│ ├── files #存放需要copy的文件
│ ├── handlers #触发任务剧本
│ ├── tasks #具体任务剧本
│ ├── templates #模版文件
│ └── vars #存放变量文件
1.创建目录

根据官方的目录规划,依次创建目录:

1
2
3
4
5
6
mkdir redis_cluster
cd redis_cluster/
mkdir files handlers tasks templates vars
cd files/
mkdir redis_{63{79,80},cmd}
mkdir redis_63{79,80}/{conf,logs,pid}
2.将redis的二进制文件复制到redis_cmd目录下
1
2
3
4
5
6
7
8
9
mkdir /opt/cluster/redis_cluster/src
cd /opt/cluster/redis_cluster/src
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar xf redis-5.0.7.tar.gz -C /opt/cluster/redis_cluster/

# 打包
cd /opt/cluster/redis_cluster/redis-5.0.7/src/
make
cp -a redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /etc/ansible/roles/redis_cluster/files/redis_cmd/
3.生成ssh免交互
1
2
3
4
5
6
7
# 产生公私密钥对(已经生成了)
ssh-keygen

# 将本地的公钥上传到远程服务器 (默认 22 ssh端口号,如需更改,添加 -p xxxx)
使用 ssh-copy-id username@your-server-ip 命令

# 输入远程服务器的密码
4.编写主机清单
1
2
3
4
vim /etc/ansible/hosts
...
[redis-cluster]
192.168.2.246
5.配置文件jinja模版