[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:
此處沒有擷取到:
檢視日志:
[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
backend_www_oldboyedu_com:
web-node1:
10.0.0.7:8080
此處擷取到值了:
backend_www_oldboyedu_com:
[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
兩個節點都擷取到了key value:
例子:
[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
"createdIndex": 16,
"key": "/salt/haproxy/backend_www_oldboyedu_com/web-node2",
"modifiedIndex": 16,
[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
"createdIndex": 17,
"key": "/salt/haproxy/backend_www_oldboyedu_com/web-node3",
"modifiedIndex": 17,
[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
"createdIndex": 18,
"key": "/salt/haproxy/backend_www_oldboyedu_com/web-node4",
"modifiedIndex": 18,
[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
"createdIndex": 19,
"key": "/salt/haproxy/backend_www_oldboyedu_com/web-node5",
"modifiedIndex": 19,
[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
"createdIndex": 34,
"key": "/salt/haproxy/backend_www_oldboyedu_com/web-node55",
"modifiedIndex": 34,
[root@linux-node1 ~]# salt '*' state.highstate =================>執行進階狀态
再次檢視擷取的數值:
web-node2:
web-node3:
web-node4:
web-node5:
web-node55:
此時在浏覽器中檢視已添加了N個節點
qq:406564728
歡迎交流
本文轉自陳繼松 51CTO部落格,原文連結:http://blog.51cto.com/chenjisong/1714340,如需轉載請自行聯系原作者