zoukankan      html  css  js  c++  java
  • python 部署lvs

    import paramiko
    
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    
    
    def direct_server():
    ssh.connect('192.168.200.12', 22, 'root', 'root',timeout=3)
    stdin, stdout, stderr = ssh.exec_command('ipvsadm -C;'
    'ipvsadm -A -t 192.168.200.250:80 -s wrr;'
    'ipvsadm -a -t 192.168.200.250:80 -r 192.168.254.20:80 -w 1 -g;'
    'ipvsadm -a -t 192.168.200.250:80 -r 192.168.254.25:80 -w 2 -g;'
    'ifconfig ens33:0 192.168.200.250 broadcast 192.168.200.250 netmask 255.255.255.255 up;'
    'route add -host 192.168.200.250 dev ens33:0')
    print(stderr.read().decode('utf-8'))
    print(stdout.read().decode('utf-8'))
    print('dicret_server配置完成!!!')
    
    
    def real_server1():
    ssh.connect('192.168.200.20', 22, 'root', 'root', timeout=3)
    stdin, stdout, stderr = ssh.exec_command('ifconfig lo:0 192.168.200.250 broadcast 192.168.200.250 netmask 255.255.255.255 up;'
    'route add -host 192.168.200.250 dev lo:0;'
    'echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore;'
    'echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce;'
    'echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore;'
    'echo "2">/proc/sys/net/ipv4/conf/all/arp_announce;'
    'service httpd restart')
    print(stderr.read().decode('utf-8'))
    print(stdout.read().decode('utf-8'))
    print('real_server1配置完成!!!')
    
    def real_server2():
    ssh.connect('192.168.200.25', 22, 'root', 'root', timeout=3)
    stdin, stdout, stderr = ssh.exec_command(
    'ifconfig lo:0 192.168.200.250 broadcast 192.168.200.250 netmask 255.255.255.255 up;'
    'route add -host 192.168.200.250 dev lo:0;'
    'echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore;'
    'echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce;'
    'echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore;'
    'echo "2">/proc/sys/net/ipv4/conf/all/arp_announce;'
    'service httpd restart')
    print(stderr.read().decode('utf-8'))
    print(stdout.read().decode('utf-8'))
    print('real_server2配置完成!!!')
    
    def main():
    direct_server()
    real_server1()
    real_server2()
    ssh.close()
    
    
    if __name__ == '__main__':
    main()
  • 相关阅读:
    实现不限层级的Element的NavMenu
    vue_插槽的理解和使用
    vue 动态修改路由参数
    什么是回流,什么是重绘,有什么区别?
    Vue路由获取路由参数
    【前端图表】echarts实现散点图x轴时间轴
    为什么 char 数组比 String 更适合存储密码?
    MySQL 日期时间类型怎么选?千万不要乱用!
    MySQL not exists 真的不走索引么?
    谷歌开源的代码评审规范,值得借鉴!
  • 原文地址:https://www.cnblogs.com/t-ym/p/11825681.html
Copyright © 2011-2022 走看看