Redis标准化部署
安装
拉取代码
git clone ssh://[email protected]:2219/BA/ba-devops-playbooks.git
Cloning into 'ba-devops-playbooks'...
remote: Enumerating objects: 271, done.
remote: Counting objects: 100% (271/271), done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 831 (delta 144), reused 255 (delta 128)
Receiving objects: 100% (831/831), 10.21 MiB | 0 bytes/s, done.
Resolving deltas: 100% (358/358), done.
修改sh文件权限
cd ba-devops-playbooks/redis-standalone/
[ /luowei/ba-devops-playbooks/redis-standalone]# chmod 755 *.sh
[/luowei/ba-devops-playbooks/redis-standalone]# ll
total 40
-rw-r--r-- 1 root root 573 Sep 29 10:42 ba-redis-examples.conf
drwxr-xr-x 2 root root 4096 Sep 29 10:42 group_vars
-rw-r--r-- 1 root root 0 Sep 29 10:42 README.md
-rwxr-xr-x 1 root root 1986 Sep 29 10:42 redis-cluster-adding-node.sh
-rw-r--r-- 1 root root 217 Sep 29 10:42 redis-cluster-adding-node.yml
-rwxr-xr-x 1 root root 1746 Sep 29 10:42 redis-cluster-creating.sh
-rw-r--r-- 1 root root 214 Sep 29 10:42 redis-cluster-creating.yml
-rwxr-xr-x 1 root root 1092 Sep 29 10:42 redis-cluster-removing-node.sh
-rw-r--r-- 1 root root 136 Sep 29 10:42 redis-cluster-removing-node.yml
-rw-r--r-- 1 root root 319 Sep 29 10:42 redis-delete.yml
drwxr-xr-x 7 root root 4096 Sep 29 10:42 roles
定义安装配置文件
参考用例:
cat ba-redis-examples.conf
####服务器相关配置######
#实例类型
instance_type=ecs.n4.small
#镜像id
image_id=centos_7_06_64_20G_alibase_20190711.vhd
#安全组id
security_group_id=sg-2zeiftw5y26rfo6y1cck
#交换机id
v_switch_id=vsw-2zey28uvqlgx79p3i82wf
#地域id
region_id=cn-beijing
#区域id
zone_id=cn-beijing-e
#密钥对名称
keypair_name=public
#实例付费方式,PrePaid:包年包月,PostPaid:按量付费
charge_type=PostPaid
# 主机名
instance_name=ba-redis-examples
####redis相关配置######
# 集群主机
cluster_hosts=
# 集群端口
port=6379
#集群密码
pass=
-
instance_name和文件名保证一致,表示集群名称
-
根据购买8G或者16G机器规格,修改服务器相关配置
-
redis相关配置保持默认值,集群在创建、节点新增、删除会修改对应redis相关配置
-
配置文件最好保存到文件系统中,供后续节点新增或删除时使用
集群创建
执行脚本
./redis-cluster-creating.sh /luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples.conf 6
脚本开始执行!
读取购机参数
传入参数列表:
ecs.n4.small
centos_7_06_64_20G_alibase_20190711.vhd
sg-2zeiftw5y26rfo6y1cck
vsw-2zey28uvqlgx79p3i82wf
ba-redis-examples-[01,2]
cn-beijing
6
cn-beijing-e
public
PostPaid
/luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples-hosts
开始部署购买机器的python脚本所需的环境...
python3 存在,不需再次安装
pip3 存在,不需再次安装
python36u-devel-3.6.8-1.el7.ius.x86_64
python34-devel-3.4.9-1.el7.x86_64
python36u-devel存在
安装aliyun-python-sdk-ecs
Requirement already satisfied: aliyun-python-sdk-ecs in /usr/lib/python3.6/site-packages
Requirement already satisfied: aliyun-python-sdk-core>=2.11.5 in /usr/lib/python3.6/site-packages (from aliyun-python-sdk-ecs)
Requirement already satisfied: jmespath<1.0.0,>=0.9.3 in /usr/lib/python3.6/site-packages (from aliyun-python-sdk-core>=2.11.5->aliyun-python-sdk-ecs)
You are using pip version 9.0.1, however version 20.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
python环境部署成功,开始购买机器...
Start devops api request...
Devops api request succeed,start buy ecs..
脚本说明
传入参数
参数定义 | 说明 | 值 |
---|---|---|
app.conf | 配置文件 | /luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples.conf |
ecs_amount | 购买机器数量 | 6 |
结果
集群状态
redis-cli -a r2nrmp0ChzIzbqib cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
674fc1a9a20e7d0a9dd2de693ca8ae070aa9c5bc 192.168.25.14:6379@16379 slave 914afe5bfb4baa4eb6c29208d6419edb74214c83 0 1601359140000 1 connected
dc37dffc5c4cf4140f9cf159cbd9453ccccac82e 192.168.25.17:6379@16379 slave e1c87296aef2a22a43685bb97fee9d1f6090583f 0 1601359143961 2 connected
e7789c46f65ab7077a311345368a00b7d7b36755 192.168.25.15:6379@16379 master - 0 1601359142958 3 connected 10923-16383
95bcefc8ec8986a30d73a77bce15fc696693481c 192.168.25.13:6379@16379 slave e7789c46f65ab7077a311345368a00b7d7b36755 0 1601359141000 3 connected
e1c87296aef2a22a43685bb97fee9d1f6090583f 192.168.25.16:6379@16379 master - 0 1601359143000 2 connected 5461-10922
914afe5bfb4baa4eb6c29208d6419edb74214c83 192.168.25.18:6379@16379 myself,master - 0 1601359142000 1 connected 0-5460
配置文件更新
参数名 | 值 |
---|---|
cluster_hosts | 192.168.25.18:6379,192.168.25.16:6379,192.168.25.15:6379,192.168.25.13:6379,192.168.25.14:6379,192.168.25.17:6379, |
pass | r2nrmp0ChzIzbqib |
新增节点
执行脚本
./redis-cluster-adding-node.sh ba-redis-examples.conf
脚本开始执行!
读取购机参数
传入参数列表:
ecs.n4.small
centos_7_06_64_20G_alibase_20190711.vhd
sg-2zeiftw5y26rfo6y1cck
vsw-2zey28uvqlgx79p3i82wf
ba-redis-examples-[7,2]
cn-beijing
2
cn-beijing-e
public
PostPaid
/luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples-add-hosts
脚本说明
传入参数
参数定义 | 说明 | 值 |
---|---|---|
app.conf | 配置文件 | /luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples.conf |
结果
集群状态
d58ea04c34f91668c17ecbe133c8e3cd131aa735 192.168.25.19:6379@16379 master - 0 1601359595932 7 connected 0-454 5461-5915 10923-11377
d62a480994c1185170f80c44cfe815a56d1a9a75 192.168.25.20:6379@16379 slave d58ea04c34f91668c17ecbe133c8e3cd131aa735 0 1601359598936 7 connected
配置文件更新
cluster_hosts追加了192.168.25.19:6379,192.168.25.20:6379,
参数名 | 值 |
---|---|
cluster_hosts | 192.168.25.18:6379,192.168.25.16:6379,192.168.25.15:6379,192.168.25.13:6379,192.168.25.14:6379,192.168.25.17:6379,192.168.25.19:6379,192.168.25.20:6379, |
删除节点
执行脚本
./redis-cluster-adding-node.sh ba-redis-examples.conf
脚本开始执行!
读取购机参数
传入参数列表:
ecs.n4.small
centos_7_06_64_20G_alibase_20190711.vhd
sg-2zeiftw5y26rfo6y1cck
vsw-2zey28uvqlgx79p3i82wf
ba-redis-examples-[7,2]
cn-beijing
2
cn-beijing-e
public
PostPaid
/luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples-add-hosts
脚本说明
传入参数
参数定义 | 说明 | 值 |
---|---|---|
app.conf | 配置文件 | /luowei/ba-devops-playbooks/redis-standalone/ba-redis-examples.conf |
remove_master_ip | 删除master节点 | 192.168.25.19 |
remove_slave_ip | 删除slave节点,slave节点必须为删除master节点从节点 | 192.168.25.20 |
结果
集群状态
redis-cli -a r2nrmp0ChzIzbqib cluster nodes | grep master
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
e7789c46f65ab7077a311345368a00b7d7b36755 192.168.25.15:6379@16379 master - 0 1601360081000 9 connected 5461-5915 11378-16383
e1c87296aef2a22a43685bb97fee9d1f6090583f 192.168.25.16:6379@16379 master - 0 1601360079925 10 connected 5916-11377
914afe5bfb4baa4eb6c29208d6419edb74214c83 192.168.25.18:6379@16379 myself,master - 0 1601360080000 8 connected 0-5460
配置文件更新
cluster_hosts删除了192.168.25.19:6379,192.168.25.20:6379,
参数名 | 值 |
---|---|
cluster_hosts | 192.168.25.18:6379,192.168.25.16:6379,192.168.25.15:6379,192.168.25.13:6379,192.168.25.14:6379,192.168.25.17:6379, |