SaltStack自动化安装配置haproxy的Keepalived
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的更多相关文章
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy的Keepalived 安装配置Keepalived 1.编写功能模块 #创建keepalived目录# mkdir -p ...
- SaltStack自动化安装配置haproxy
准备环境node1:192.168.217.149 (saltstack master)node2:192.168.217.150(saltstack minion)下载haproxy1.6.2.ta ...
- saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy
saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...
- Centos7.4安装配置haproxy和Keepalived
系统版本是centos7.4的 [root@data-1-1 ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [roo ...
- Centos7.4安装配置haproxy和Keepalived补充内容
补充比较杂 1.当master服务恢复正常之后,backup机器收到消息,然后让出vip 下面是master机器服务恢复正常后,backup机器的Keepalived日志 收到master的消息通知, ...
- RabbitMQ集群安装配置+HAproxy+Keepalived高可用
RabbitMQ集群安装配置+HAproxy+Keepalived高可用 转自:https://www.linuxidc.com/Linux/2016-10/136492.htm rabbitmq 集 ...
- SaltStack自动化安装zabbix-server
使用SaltStack自动化安装zabbix-server 1,设置ntp时间同步 2,安装zabbix-agent 3,安装zabbix-server 4,安装及配置mariadb(mariadb与 ...
- NTP时间同步 服务端 客户端 自动化安装配置
NTP时间同步 服务端 客户端 自动化安装配置 原创内容 http://www.cnblogs.com/elvi/p/7657994.html #!/bin/sh #运行环境 centos6.cent ...
- Linux系统实现ansible自动化安装配置httpd
1.使用ansible的playbook实现自动化安装httpd 1)首先配置好ansible的hosts文件,让其对应主机能够受ansible控制 提示:我们在主机清单上配置了所管控的主机地址,但是 ...
随机推荐
- HUE,大数据的SQL Shell
1. HUE需要安装SASL 发现异常: Could not install table: Error creating table sample_07: Could not start SASL: ...
- android开发 解析服务器端xml文件数据存储到android客户端SQLite数据库
以下面xml文件为例对其解析(假设此xml就在服务器端Server项目下的servlet包下的MenuServlet文件的输出流中): <?xml version="1.0" ...
- B+树索引和哈希索引的明显区别是:
如果是等值查询,那么哈希索引明显有绝对优势,因为只需要经过一次算法即可找到相应的键值:当然了,这个前提是,键值都是唯一的.如果键值不是唯一的,就需要先找到该键所在位置,然后再根据链表往后扫描,直到找到 ...
- HDOJ1181(简单DFS)(练习使用STL)
#include<iostream> #include<cstdio> #include<string> #include<map> #include& ...
- JVM体系结构之三:方法区之1
一.简介 方法区在JVM中也是一个非常重要的区域,它与堆一样,是被线程共享的区域.在方法区中,存储了每个类的信息(包括类的名称.方法信息.字段信息).静态变量.常量以及编译器编译后的代码等. 方法区( ...
- 7.JasperReports学习笔记7-applet打印
转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html 打包applet的class和所需的jar包,并加上数字签名 要运行打印 ...
- 设置win7资源管理器启动时的默认位置-windows-操作系统-网页教学网
设置win7资源管理器启动时的默认位置-windows-操作系统-网页教学网 如何设置win7资源管理器启动时的默认位置?我不太习惯 Win 7 的资源管理器默认总是打开库,我还是喜欢资源管理器打开树 ...
- console (控制台)
console 模块提供了一个简单的调试控制台,类似于 Web 浏览器提供的 JavaScript 控制台. 该模块导出了两个特定的组件: 一个 Console 类,包含 console.log() ...
- python实现DNA序列字符串转换,互补链,反向链,反向互补链
在生物信息学分析中,经常对DNA序列进行一系列操作,包括子序列截取,互补序列获取,反向序列获取,反向互补序列获取.在python语言中,可编写如下函数完成这些简单功能. 子序列截取 python中对序 ...
- 1.浅谈XXE漏洞攻击与防御
XML基础 在介绍XXE漏洞前,先学习温顾一下XML的基础知识.XML被设计为传输和存储数据,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具. XML是一种用于标记电子文 ...