keepalived配置安装

什么是vrrp,阿里云不支持组播,所以阿里云上不能配置keepalived,但是它有自己的slb。
运维的大忌,在命令行复制粘贴,一般是先复制到文本中查看确认以后
salt编写配置管理keepalived之前,首先自己安装一遍

一、下载以及编译安装

wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz
tar zxf keepalived-1.2.19.tar.gz
cd keepalived-1.2.19
./configure --prefix=/usr/local/keepalived --disable-fwmark
make && make install

二、编写功能模块配置
1、创建keepalived配置管理相关目录

mkdir /srv/salt/prod/keepalived
mkdir /srv/salt/prod/leepalived/files cd /usr/local/src/keepalived-1.2.19/keepalived/etc
cp init.d/keepalived.init /srv/salt/prod/keepalived/files
cp keeplived/keepalived.conf /srv/salt/prod/leepalived/files keepalived文件位于编译安装后的目录下,该文件是keepalived后台运行配置文件
cp /usr/local/keepalived/etc/sysconfig/keepalived /srv/salt/prod/leepalived/files/keepalived.sysconfig
或在解压目目录下也存在该文件
cp keepalived/etc/init.d/keepalived.sysconfig /srv/salt/prod/keepalived/files/
cp /usr/local/src/keepalived-1.2.19.tar.gz /srv/salt/prod/leepalived/files/

2、修改启动脚本

cd /srv/salt/prod/keepalived/files
vim keeplived.init

daemon keeplived ${KEEPALIVED_OPTIONS}修改为
daemon /usr/local/keepalived/sbin/keepalived ${KEEPALIVED_OPTIONS}

3、keepalived安装配置install.sls
cd /srv/salt/prod/keepalived
vim install.sls

include:
- pkg.pkg-init
keepalived-install:
file.managed:
- name: /usr/local/src/keepalived-1.2.19.tar.gz
- source: salt://keepalived/files/keepalived-1.2.19.tar.gz
- user: root
- group: root
- mode: 755
cmd.run:
- name: cd /usr/local/src && tar zxf keepalived-1.2.19.tar.gz && cd keepalived-1.2.19 && ./configure --prefix=/usr/local/keepalived --disable-fwmark && make && make install
- unless: test -d /usr/local/keepalived
- require:
- pkg: pkg-init
- file: keepalived-install
keepalived-init:
file.managed:
- name: /etc/init.d/keepalived
- source: salt://keepalived/files/keepalived.init
- user: root
- group: root
- mode: 755
cmd.run:
- name: chkconfig --add keepalived
- unless: chkconfig --list | grep keepalived
- require:
- file: keepalived-init
/etc/sysconfig/keepalived:
file.managed:
- source: salt://keepalived/files/keepalived.sysconfig
- user: root
- group: root
- mode: 644
/etc/keepalived:
file.directory:
- user: root
- group: root
- mode: 755

4、测试

salt '*' state.sls keepalived.install env=prod test=True 

三、编写业务模块配置
1、编写keepalived的配置haproxy-outside-keepalived.conf
cd /srv/salt/prod/cluster/files
vim haproxy-outside-keepalived.conf

! Configuration File for keepalived
global_defs {
notification_email {
saltstack@example.com
}
notification_email_from keepalived@example.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
# jinja模板变量
router_id {{ROUTEID}}
}
vrrp_instance haproxy_ha {
# jinja模板变量
state {{STATEID}}
interface eth0
virtual_router_id 36
# jinja模板变量
priority {{PRIORITYID}}
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
#虚ip
192.168.217.155
}
}

2、编写管理keepalived配置文件的sls
cd /srv/salt/prod/cluster/
vim haproxy-outside-keepalived.sls

include:
- keepalived.install
keepalived-service:
file.managed:
- name: /etc/keepalived/keepalived.conf
- source: salt://cluster/files/haproxy-outside-keepalived.conf
- user: root
- group: root
- mode: 644
- template: jinja
{% if grains['fqdn'] == 'node1' %}
- ROUTEID: haproxy_ha
- STATEID: MASTER
- PRIORITYID: 150
{% elif grains['fqdn'] == 'node2' %}
- ROUTEID: haproxy_ha
- STATEID: BACKUP
- PRIORITYID: 100
{% endif %}
service.running:
- name: keepalived
- enable: True
- watch:
- file: keepalived-service

3、配置完后的文件配置管理目录结构
│ ── base
│   ├── init
│   │   ├── audit.sls
│   │   ├── dns.sls
│   │   ├── env_init.sls
│   │   ├── files
│   │   │   └── resolv.conf
│   │   ├── history.sls
│   │   └── sysctl.sls
│   └── top.sls
├── prod
   ├── cluster
   │   ├── files
   │   │   ├── haproxy-outside.cfg
   │   │   └── haproxy-outside-keepalived.conf
   │   ├── haproxy-outside-keepalived.sls
   │   └── haproxy-outside.sls
   ├── haproxy
   │   ├── files
   │   │   ├── haproxy-1.6.2.tar.gz
   │   │   └── haproxy.init
   │   └── install.sls
   ├── keepalived
   │   ├── files
   │   │   ├── keepalived-1.2.19.tar.gz
   │   │   ├── keepalived.conf
   │   │   ├── keepalived.init
   │   │   └── keepalived.sysconfig
   │   └── install.sls
   └── pkg
   └── pkg-init.sls

4、测试
salt '*' state.sls cluster.haproxy-outside-keepalived env=prod test=True

5、在top.sls中加入keepalived

vim /srv/salt/base/top.sls

base:
'*':
- init.env_init
prod:
"node1":
- cluster.haproxy-outside
- cluster.haproxy-outside-keepalived
"node2":
- cluster.haproxy-outside
- cluster.haproxy-outside-keepalived

四、执行安装和配置keepalived以及vrrp测试查看
1、执行配置管理

salt '*' state.highstate

2、虚ip查看如下截图

web访问结果

SaltStack自动化安装配置haproxy的Keepalived的更多相关文章

  1. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...

  2. SaltStack自动化安装配置haproxy

    准备环境node1:192.168.217.149 (saltstack master)node2:192.168.217.150(saltstack minion)下载haproxy1.6.2.ta ...

  3. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...

  4. Centos7.4安装配置haproxy和Keepalived

    系统版本是centos7.4的 [root@data-1-1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [roo ...

  5. Centos7.4安装配置haproxy和Keepalived补充内容

    补充比较杂 1.当master服务恢复正常之后,backup机器收到消息,然后让出vip 下面是master机器服务恢复正常后,backup机器的Keepalived日志 收到master的消息通知, ...

  6. RabbitMQ集群安装配置+HAproxy+Keepalived高可用

    RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...

  7. SaltStack自动化安装zabbix-server

    使用SaltStack自动化安装zabbix-server 1,设置ntp时间同步 2,安装zabbix-agent 3,安装zabbix-server 4,安装及配置mariadb(mariadb与 ...

  8. NTP时间同步 服务端 客户端 自动化安装配置

    NTP时间同步 服务端 客户端 自动化安装配置 原创内容 http://www.cnblogs.com/elvi/p/7657994.html #!/bin/sh #运行环境 centos6.cent ...

  9. Linux系统实现ansible自动化安装配置httpd

    1.使用ansible的playbook实现自动化安装httpd 1)首先配置好ansible的hosts文件,让其对应主机能够受ansible控制 提示:我们在主机清单上配置了所管控的主机地址,但是 ...

随机推荐

  1. wcf win7上使用net.tcp出现不支持协议问题解决

    第一:iis绑定 net.tcp 808:* 第二:iis 应用中高级开启协议,添加net.tcp多协议逗号隔开 第三:开启各项服务 第四:执行 ServiceModReg.exe -r

  2. ACM学习历程—HDU5521 Meeting(图论)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 学习菊苣的博客,只粘链接,不粘题目描述了. 题目大意就是一个人从1开始走,一个人从n开始走.让最 ...

  3. POJ1958:Strange Towers of Hanoi

    我对状态空间的理解:https://www.cnblogs.com/AKMer/p/9622590.html 题目传送门:http://poj.org/problem?id=1958 题目要我们求四柱 ...

  4. numpy和matlab计算协方差矩阵的不同(matlab是标准的,numpy相当于转置后计算)

    matlab是标准的,numpy相当于转置后计算 >> x = [2,0,-1.4;2.2,0.2,-1.5;2.4,0.1,-1;1.9,0,-1.2] x = 2.0000    0 ...

  5. kvm 基础 虚拟机改名

    转自:http://www.cnblogs.com/5201351/p/4464350.htm 1.查看所有的kvm虚拟机 [root@5201351_kvm ~]# virsh list --all ...

  6. Antiprime数-数论

    题目描述 Description 如果一个自然数n满足:所有小于它的自然数的约数个数都小于n的约数个数,则称n是一个Antiprime数.譬如:1.2.4.5.12.24都是Antiprime数.   ...

  7. JAVA基础知识总结4(面向对象特征之一:封装)

    封 装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处:将变化隔离:便于使用:提高重用性:安全性. 封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问. th ...

  8. 【总结整理】javascript的函数调用时是否加括号

    javascript的函数调用时是否加括号 if(event.preventDefault){ event.preventDefault(); if判断条件里面不要加括号,不加括号是应该以属性形式,i ...

  9. 第七篇 elasticsearch 链接mysql不会更新

    这是我键的索引 "settings":{ "number_of_shards":3, "number_of_replicas":2 }, & ...

  10. Struts2学习第六课 实现登录登出功能

    关于Struts2请求的扩展名问题: 1).org.apache.struts2包下的default.properties中配置了struts2应用的一些常量 2).struts.action.ext ...