9.saltstack配置管理-功能模块-keepalived

本文详细介绍Keepalived的安装步骤及配置过程,包括创建相关目录、拷贝配置文件、编写启动脚本等内容,并通过SaltStack进行自动化部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能模块之keepalived的安装

=====================注意:真正服务器使用时不鞥有这些#号注稀或者空格、tab键。检测可以在vi 里面:set list来判断是否有空格==================先看过来

    在keepalived安装之前,我们首先需要准备keepalived的安装包、启动脚本以及配置文件等。我们需要将所有的这些东西都放到keepalived/files目录下。
    
创建keepalived的相关目录:    
[root@salt-master ~]# mkdir /srv/salt/prod/keepalived    
[root@salt-master ~]# mkdir /srv/salt/prod/keepalived/files    
    
    
拷贝keepalived的相关文件:    
[root@salt-master ~]# cd /usr/local/src/
[root@salt-master ~]# tar -xvf keepalived-1.4.4.tar.gz
[root@salt-master ~]# cp /usr/local/src/keepalived-1.4.4/keepalived/etc/init.d/keepalived.rh.init   /srv/salt/prod/keepalived/files/keepalived.ini      
[root@salt-master ~]# cp /usr/local/src/keepalived-1.4.4/keepalived/etc/keepalived/keepalived.conf /srv/salt/prod/keepalived/files/
    
keepalived.init-keepalived的启动脚本    
[root@salt-master ~]# vi  /srv/salt/prod/keepalived/files/keepalived.init    
#!/bin/sh
#
# Startup script for the Keepalived daemon
#
# processname: keepalived
# pidfile: /var/run/keepalived.pid
# config: /etc/keepalived/keepalived.conf
# chkconfig: - 21 79
# description: Start and stop Keepalived
# Source function library
. /etc/rc.d/init.d/functions
# Source configuration file (we set KEEPALIVED_OPTIONS there)
. /etc/sysconfig/keepalived
RETVAL=0
prog="keepalived"
start() {
    echo -n $"Starting $prog: "
    daemon /usr/local/keepalived/sbin/keepalived ${KEEPALIVED_OPTIONS}    #这里加上路径<=====================
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
}
stop() {
    echo -n $"Stopping $prog: "
    killproc keepalived
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
}
reload() {
    echo -n $"Reloading $prog: "
    killproc keepalived -1
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    reload)
        reload
        ;;
    restart)
        stop
        start
        ;;
    condrestart)
        if [ -f /var/lock/subsys/$prog ]; then
            stop
            start
        fi
        ;;
    status)
        status keepalived
        RETVAL=$?
        ;;
    *)
        echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"
        RETVAL=1
esac
exit $RETVAL    
    
    
    
    
    
keepalived.conf-keepalived的配置文件:
[root@salt-master ]# vi /srv/salt/prod/keepalived/files/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.91.134
        192.168.91.133
    }
}
virtual_server 192.168.200.100 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP
    real_server 192.168.201.100 443 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}
virtual_server 10.10.10.2 1358 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP
    sorry_server 192.168.91.200 1358
    real_server 192.168.91.2 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.200.3 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334c
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}
virtual_server 10.10.10.3 1358 {
    delay_loop 3
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP
    real_server 192.168.200.4 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.200.5 1358 {
        weight 1
        HTTP_GET {
            url {
              path /testurl/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl2/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            url {
              path /testurl3/test.jsp
              digest 640205b7b0fc66c1ea91c463fac6334d
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

    
    
    
    
    



    
    
/usr/local/keepalived/etc/sysconfig/
[root@salt-master ~]# cp /usr/local/src/keepalived-1.4.4/keepalived/etc/init.d/keepalived   /srv/salt/prod/keepalived/files/keepalived.sysconfig    
现在,我们查看files目录都有哪些东西:    
[root@salt-master ~]#ls  /srv/salt/prod/keepalived/files/    
keepalived-1.4.4.tar      keepalived.init
keepalived.conf           keepalived.sysconfig    
    

    
    
salt文件主要涉及到pkg-init脚本的引用,此脚本主要是解决安装前的依赖;keepalived-install标签用于安装keepalived;keepalived-init标签用于下发启动脚本以及将服务加入到系统启动中;/etc/sysconfg/keepalived标签用于下发配置文件到各个节点上。    

[root@salt-master ~]# vi  /srv/salt/prod/keepalived/install.sls    
include:  #引用pkg目录下pkg-init脚本
  - pkg.pkg-init
keepalived-install:
  file.managed: #file模块来拷贝keepalived的安装包
    - name: /usr/local/src/keepalived-1.4.4.tar.gz
    - source: salt://keepalived/files/keepalived-1.4.4.tar.gz
    - usr: root
    - group: root
    - mode: 755
  cmd.run:  #cmd模块的- name函数来执行具体安装命令
    - name: cd /usr/local/src && tar -zxvf keepalived-1.4.4.tar.gz  && cd keepalived-1.4.4 && ./configure --prefix=/usr/local/keepalived --disable-fwmark && make && make install
    - unless: test -d /usr/local/keepalived
    - require:  #require状态依赖关系
      - pkg: pkg-init
      - file: keepalived-install
keepalived-init:
  file.managed:
    - name: /etc/init.d/keepalived
    - source: salt://keepalived/files/keepalived.init
    - usr: root
    - group: root
    - mode: 755
  cmd.run:
    - name: systemctl enable keepalived
    - unless: systemctl start 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    
    
    
目录文件结构:    
[root@salt-master prod]# tree keepalived/
keepalived/
├── files
│   ├── keepalived-1.4.4.tar.gz
│   ├── keepalived.conf
│   ├── keepalived.ini
│   └── keepalived.sysconfig
└── install.sls    
    
    
现在,我们开始执行salt文件:
    
[root@salt-master ~]# salt 'centos-test[1-2]' state.sls keepalived.install env=prod    
    
    
    
    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值