腾讯云部署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 ...
随机推荐
- Coding语言强弱类型且动静态类型简单解析。附图解
话不多说,上图: (以下均以Java来说明) 对于语言的强弱类型: 1.强类型语言:通俗的点来讲,就是对于数据类型,如果开发者定义了一个int数据类型的变量,那么虚拟机就会特别坚定该变量为int,坚决 ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.QuestionService
1 严重: Servlet /N002-1.0 threw load() exception 2 java.lang.ClassCastException: com.sun.proxy.$Proxy2 ...
- vim 配置一:
一.vim前期准备 安装vimsudo apt-get install vim 需要保证自己的 vim 配置在 7.4 以上,有些插件只支持 7.4 以上的 vim 在根目录下建立 .vimrc 文件 ...
- Spring Boot 起步
……………………………………………………………………………………………………………… [应用配置]application.yml [port][context-path][datasource][jp ...
- springboot07-security
1.pom中添加thymeleaf和security依赖 <dependencies> <dependency> <groupId>org.springframew ...
- ue4 蓝图方法备份
normalized 标准化 向量标准化 +- 1,1,1 内的值 角度标准化 +-180内的值 delta A-B (输出时roll在后面) 角度相减 interp 插值运算 (做平滑移动常用) ...
- netty的解码器和粘包拆包
Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题 粘包.拆包出现的原因: 在流传输中出现,UDP不会出现粘包, ...
- LOJ #2013「SCOI2016」幸运数字
时限为什么这么大啊 明摆着放多$ log$的做法过啊$QAQ$ LOJ #2013 题意 有$ Q$次询问,每次询问树上一条链,点有点权,你需要选择一些链上的点使得异或和尽量大 点数$ \leq 2* ...
- 「NowCoder Contest 295」H. Playing games
还是见的题太少了 「NowCoder Contest 295」H. Playing games 题意:选出尽量多的数使得异或和为$ 0$ $ Solution:$ 问题等价于选出尽量少的数使得异或和为 ...
- 对象及变量的并发访问(同步方法、同步代码块、对class进行加锁、线程死锁)&内部类的基本用法
主要学习多线程的并发访问,也就是使得线程安全. 同步的单词为synchronized,异步的单词为asynchronized 同步主要就是通过锁的方式实现,一种就是隐式锁,另一种是显示锁Lock,本节 ...