腾讯云部署keepalived高可用
使用背景:
- 通过调用python SDK在腾讯云手动部署keepalived高可用
部署环境
系统:centos7.3
Master:192.168.0.100
Slave:192.168.0.14
VIP:192.168.0.76
=================================================================
master和slave上部署python命令行环境
yum -y install python python-pip
pip install qcloudcli
安装命令行自动补齐
complete -C '/usr/bin/qcloud_completer' qcloudcli
自动补齐永久生效vi ~/.bash_profile 添加上述命令到最后一行
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
complete -C '/usr/bin/qcloud_completer' qcloudcli
=========================================================================================================================
安装keepalived
yum -y install keepalived
进入到keepalived目录并下载python-sdk
cd /etc/keepalived/
wget https://mc.qcloudimg.com/static/archive/b61ee1ce734e7437530304152c20ee14/qcloudapi-sdk-python-master.zip
unzip qcloudapi-sdk-python-master.zip
调用python-sdk申请VIP vim setup.py,注:master上执行即可 secretID和secretkey需要在云AIP密钥中申请,执行./setup.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from src.QcloudApi.qcloudapi import QcloudApi
module = 'vpc'
action = 'AssignPrivateIpAddresses'
config = {
'Region': 'gz',
'secretId': '您的secretId',
'secretKey': '您的secretKey',
'method': 'post'
}
params = {
'vpcId': 'vpc-53nh7c3p',
'networkInterfaceId': 'eni-431tr0x5',
'secondaryPrivateIpAddressCount': '1'
}
try:
service = QcloudApi(module, config)
print service.generateUrl(action, params)
print service.call(action, params)
except Exception, e:
print 'exception:', e
创建vip漂移脚本master:vi vip.py(backup只需要调换oldnetworkinterfaceID和newnetworkinterfaceID调换即可)
#!/usr/bin/python
# -*- coding: utf-8 -*- from QcloudApi.qcloudapi import QcloudApi #SDK源码直接使用方式使用
#from src.QcloudApi.qcloudapi import QcloudApi module = 'vpc'
action = 'MigratePrivateIpAddress'
config = {
'Region': 'gz',
'secretId': '####',
'secretKey': '####',
'method': 'post'
}
params = {
'vpcId': 'vpc-53nh7c3p',
'privateIpAddress': '192.168.0.76',
'oldNetworkInterfaceId': 'backup网卡ID',
'newNetworkInterfaceId': 'master网卡ID'
} try:
service = QcloudApi(module, config)
print service.generateUrl(action, params)
print service.call(action, params)
except Exception, e:
print 'exception:', e
配置keepalived.conf文件vi keepalived.conf (master)
! Configuration File for keepalived
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_sync_group G1 {
group {
VI_1
}
notify_master "/etc/keepalived/vip.py"
}
vrrp_instance VI_1 {
#注意主备参数选择
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_peer {
192.168.0.14 #对端设备的IP地址,例如:10.0.0.1
}
virtual_ipaddress {
192.168.0.76 #第一步申请的 VIP
}
nopreempt
garp_master_delay 1
garp_master_refresh 5
}
配置keepalived.conf文件vi keepalived.conf (backup)
! Configuration File for keepalived
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_sync_group G1 {
group {
VI_1
}
notify_master "/etc/keepalived/vip.py"
}
vrrp_instance VI_1 {
#注意主备参数选择
state BACKUP
interface eth0
virtual_router_id 51 ###主从必须一致
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_peer { ##keepalived单播模式
192.168.0.100 #对端设备的IP地址,例如:10.0.0.1
}
virtual_ipaddress {
192.168.0.76 #第一步申请的 VIP
}
nopreempt
garp_master_delay 1
garp_master_refresh 5
主从上启动keepalived服务
systemctl start keepalived.service
测试:
关闭master上的keepalived服务,查看VIP是否自动漂移到backup上
测试正常
腾讯云部署keepalived高可用的更多相关文章
- 每天响应数亿次请求,腾讯云如何提供高可用API服务?
每天响应数亿次请求,腾讯云如何提供高可用API服务? https://mp.weixin.qq.com/s/OPwlHcqkaTT_gcwHfr5Shw 李阳 云加社区 2020-09-16 导语 | ...
- 又拍云之 Keepalived 高可用部署
在聊 Keepalived 之前,我们需要先简单了解一下 VRRP.VRRP(Virtual Router Redundancy Protocol)即虚拟路由冗余协议,是专门为了解决静态路由的高可用而 ...
- 十一.keepalived高可用服务实践部署
期中集群架构-第十一章-keepalived高可用集群章节======================================================================0 ...
- Linux(13):期中架构(5)--- 前端部分:keepalived高可用 & HTTPS & iptables防火墙
keepalived 高可用集群 1. keepalived服务概念说明 # 1.1 keepalived软件的作用? Keepalived软件起初是专为LVS负载均衡软件设计的, 用来管理并监控LV ...
- Keepalived高可用服务器案例
部署Keepalived高可用软件,实现如下: - 使用Keepalived实现web服务器的高可用 - Web服务器IP地址分别为192.168.4.100和192.168.4.200 - Web服 ...
- Cluster基础(三):配置HAProxy负载平衡集群、Keepalived高可用服务器、Keepalived+LVS服务器
一.配置HAProxy负载平衡集群 目标: 准备三台Linux服务器,两台做Web服务器,一台安装HAProxy,实现如下功能: 客户端访问HAProxy,HAProxy分发请求到后端Real Ser ...
- Oracle Compute云快速搭建MySQL Keepalived高可用架构
最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...
- LVS+Keepalived 高可用环境部署记录(主主和主从模式)
之前的文章介绍了LVS负载均衡-基础知识梳理, 下面记录下LVS+Keepalived高可用环境部署梳理(主主和主从模式)的操作流程: 一.LVS+Keepalived主从热备的高可用环境部署 1)环 ...
- LVS+Keepalived高可用部署
一.LVS+Keepalived高可用部署 一.keepalived节点部署 1.安装keepalived yum install keepalived ipvsadm -y mkdir -p /op ...
随机推荐
- MySQL Connector 编程
MySQL Connector 是MySQL数据库客户端编程的接口, 它提供了通过网络访问数据库的接口, 这些功能在动态链接库(.dll, .so)或者静态对象库(.lib, .a)中实现. 使用时必 ...
- CSS样式选择
1:#a,b{…………}一个id叫a和一个标签是b的样式 2:#a b{…………}一个id叫a下面的一个标签是b的样式3:#a:b{…………}一个id叫a的伪类b的样式4:#a.b{…………}一个id ...
- 【二】JConsole、VisualVM
监控工具 jconsole.exe 只有10几k,真正的代码是包装在tools.jar中. 双击[本地线程]:sun.tools.jconsole.JConsole: 内存的线在上下起伏,证明是[垃圾 ...
- 患者信息SQL v1
select THEN '是' ELSE '否' END AS returnFlag, -- 是否退号 THEN '是' END as isAppointResource, -- 是否指定医生 a.c ...
- [C++]Linux之计算内存利用率与辨析
声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步,乃至成为朋友- 0.0 /* @url:http ...
- cpp typename关键字
泛型编程关键字,C#内也有这个概念. 从属名称(dependent names):模板(template)内出现的名称, 相依于某个模板(template)参数, 如T t; 嵌套从属名称(neste ...
- Python 获取文件中最长行的长度和最长行
1, 使用文件 #vim /etc/motd "1 hello world" 2 ...... yes 3 no you are a shadiao 4 hahh maye you ...
- Spark思维导图之内存管理
- 查看linux服务器CPU相关
查看linux服务器CPU相关: 1.查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 2.查看 ...
- Innobackupex(xtrabackup)物理备份
1. Percona XtraBackup介绍 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个完全开源的用于 MySQL 数据库物理热备的备份工具,在备份过程中不 ...