设为首页 收藏本站
查看: 1191|回复: 0

[经验分享] 基于etcd加saltstack的自动化扩容

[复制链接]

尚未签到

发表于 2018-7-31 14:17:27 | 显示全部楼层 |阅读模式
  [root@linux-node1 ~]# vim /etc/salt/master                 =============>在配置文件最底部加上如下内容
  etcd_pillar_config:
  etcd.host: 10.0.0.7
  etcd.port: 4001
  ext_pillar:
  - etcd: etcd_pillar_config root=/salt/haproxy/
  [root@linux-node1 ~]# /etc/init.d/salt-master restart
  Stopping salt-master daemon:                               [确定]
  Starting salt-master daemon:                               [确定]
  此处设置一个key:
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node1 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 15,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node1",
  "modifiedIndex": 15,
  "value": "10.0.0.7:8080"
  }
  }
  获取key:
  [root@linux-node1 ~]# salt '*' pillar.items
  linux-node1.example.com:
  ----------
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  linux-node2.example.com:
  ----------
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  此处没有获取到:
  查看日志:
  [root@linux-node1 ~]# tailf /var/log/salt/master
  CommandExecutionError: (unable to import etcd, module most likely not installed)             不能导入etcd,需要安装一个依赖包
  [root@linux-node1 ~]# yum install python-pip -y                                              需要安装python-pip
  [root@linux-node1 ~]# pip install python-etcd                                                       安装etcd软件
  [root@linux-node1 ~]# salt '*' pillar.items
  linux-node1.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  linux-node2.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  此处获取到值了:
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  [root@linux-node1 ~]# vim /srv/salt/prod/cluster/files/haproxy-outside.cfg
  配置文件最底部添加:
  {% for web,web_ip in pillar.backend_www_oldboyedu_com.iteritems() -%}
  server ` web ` ` web_ip ` check inter 2000 rise 30 fall 15
  {% endfor %}
  [root@linux-node1 ~]# vim /srv/salt/prod/cluster/haproxy-outside.sls              ====================>在文件里面指定为jinja模版
  - template: jinja
  修改之后执行高级模块:
  [root@linux-node1 ~]# salt '*' state.highstate
  [root@linux-node1 ~]# salt '*' pillar.items
  linux-node2.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  linux-node1.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  两个节点都获取到了key value:
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  例子:
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node2 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 16,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node2",
  "modifiedIndex": 16,
  "value": "10.0.0.7:8080"
  }
  }
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node3 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 17,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node3",
  "modifiedIndex": 17,
  "value": "10.0.0.7:8080"
  }
  }
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node4 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 18,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node4",
  "modifiedIndex": 18,
  "value": "10.0.0.7:8080"
  }
  }
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node5 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 19,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node5",
  "modifiedIndex": 19,
  "value": "10.0.0.7:8080"
  }
  }
  [root@linux-node1 ~]# curl -s http://10.0.0.7:2379/v2/keys/salt/haproxy/backend_www_oldboyedu_com/web-node55 -XPUT -d value="10.0.0.7:8080" | python -m json.tool
  {
  "action": "set",
  "node": {
  "createdIndex": 34,
  "key": "/salt/haproxy/backend_www_oldboyedu_com/web-node55",
  "modifiedIndex": 34,
  "value": "10.0.0.7:8080"
  }
  }
  [root@linux-node1 ~]# salt '*' state.highstate                    =================>执行高级状态
  再次查看获取的数值:
  [root@linux-node1 ~]# salt '*' pillar.items
  linux-node1.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  web-node2:
  10.0.0.7:8080
  web-node3:
  10.0.0.7:8080
  web-node4:
  10.0.0.7:8080
  web-node5:
  10.0.0.7:8080
  web-node55:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  linux-node2.example.com:
  ----------
  backend_www_oldboyedu_com:
  ----------
  web-node1:
  10.0.0.7:8080
  web-node2:
  10.0.0.7:8080
  web-node3:
  10.0.0.7:8080
  web-node4:
  10.0.0.7:8080
  web-node5:
  10.0.0.7:8080
  web-node55:
  10.0.0.7:8080
  zabbix-agent:
  ----------
  Zabbix_Server:
  10.0.0.7
  此时在浏览器中查看已添加了N个节点
  老男孩网址:http://www.etiantian.org
  qq:406564728
  欢迎交流

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544246-1-1.html 上篇帖子: Saltstack配置管理-增加Zabbix 下篇帖子: saltstack 的web平台集群部署(3)---haproxy+keepalive+httpd 的部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表