腾讯云部署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 ...
随机推荐
- Basic berkeley socket functions
gethostbyname() DNS を通して.Domain の Information を GET する.例えば IP Address なんだ. げん型: #include <netdb.h ...
- vue中element-ui树形控件自定义节点,注意一下
在项目中用到菜单项编辑删除,在 element-ui自定义节点内容时, 有说明:使用render-content指定渲染函数, 得环境支持 JSX 语法,只要正确地配置了相关依赖,就可以正常运行. 一 ...
- electron-vue项目搭建
参考:https://simulatedgreg.gitbooks.io/electron-vue/content/cn/getting_started.html 1. cnpm install -g ...
- WordPress分类列表函数:wp_list_categories用法及参数详解举例
http://www.511yj.com/wordpress-wp-categories.html 注意: 1. wp_list_categories() 和 list_cats() 以及 wp_li ...
- 前端面试(二):N轮面试
一面 在一面中要掌握什么技巧,主要考察前端开发的基础知识 1.面试技巧.页面布局类 页面布局小结: 语义化掌握到位 页面布局理解深刻 CSS基础知识扎实 思维灵活且积极上进 代码书写规范 2.CSS盒 ...
- 通过Cookie统计上次网页访问时间
servlet类: import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date; import ...
- 网易云课堂《JS原创视频教程-知识点类》
http://caniuse.com/#index //Can I use... Support tables for HTML5, CSS3, etc-支持h5和css3的情况列表 JS包含 ...
- Django学习手册 - ORM 外键
Django 外键创建 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_dele ...
- MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
建立一张简单的查询视图,不用临时表,只用条件合并 在简单的查询中,建立临时表的开销比较大 这是可以指定algorithm选项为merge 在v2的视图中,并没有建立临时表 但在下列情况下,必须建立临时 ...
- /bin/bash^M: bad interpreter: No such file or directory 解决办法
参考:-bash: ./my_script: /bin/bash^M: bad interpreter: No such file or directory [duplicate] 有的时候运行.sh ...