首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ansible之角色基础服务keepalived高可用部署

Ansible之角色基础服务keepalived高可用部署

作者头像
王先森sec
发布2023-04-24 17:11:24
发布2023-04-24 17:11:24
5060
举报
文章被收录于专栏:王先森王先森

Ansible部署keepalived高可用

keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点状态,后来又加入了可以实现高可用的VRRP功能.此,keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件.

keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,他能够保证当个别节点宕机时,整个网络可以不间断地运行.Keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。

思路:

  1. 安装keepalived
  2. 配置keepalived配置文件
  3. 使用到yum、file、service等模块。
  4. 启动服务测试

环境准备:

代码语言:javascript
复制
[root@ansible01 ~/roles]$mkdir keepalived/{vars,tasks,templates,handlers,files} -p 

安装keepalived软件

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/tasks/install.yml

准备keepalived配置文件

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/templates/keepalived.conf.j2    
! Configuration File for keepalived

global_defs {
   router_id {{ ansible_fqdn }}

}

vrrp_instance VI_1 {
{% if ansible_hostname == "lb01" %}
    priority 200
    state MASTER
{% elif ansible_hostname == "lb02" %}
    priority 100
    state BACKUP
{% endif %}
    interface eth0
    virtual_router_id 250
    advert_int 1
    nopreempt

    authentication {
        auth_type PASS
        auth_pass 11111111
    }
    virtual_ipaddress {
        10.1.1.50
    }
}

分发keepalived配置文件

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/tasks/conf.yml 
- name: Configrue keepalived 
  template: src=keepalived.conf.j2 dest=/etc/keepalived/keepalived.conf
  notify: restart keepalived

启动keepalived

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/tasks/start.yml 
- name: Server keepalived start
  service:
    name: keepalived
    state: started
    enabled: yes

触发器配置

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/handlers/main.yml 
- name: restart keepalived
  service:
    name: keepalived
    state: restarted

tasks内容

代码语言:javascript
复制
[root@ceph01 ~/roles]$cat keepalived/tasks/main.yml 
- include_tasks: install.yml
- include_tasks: conf.yml
- include_tasks: start.yml

查看IP

代码语言:javascript
复制
[root@lb01 ~]$ip addr|grep 50
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.1.1.50/32 scope global eth0
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ansible部署keepalived高可用
    • 安装keepalived软件
    • 准备keepalived配置文件
    • 分发keepalived配置文件
    • 启动keepalived
    • 触发器配置
    • tasks内容
    • 查看IP
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档