±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜÁËsaltstack·þÎñÆ÷»ù´¡¼Ü¹¹¼¯Öл¯¹ÜÀíÆ½Ì¨£¬ÒÔ¼°saltstack×é¼þµÄÅäÖÃÓë»·¾³²¿Êð£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ51CTO£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
saltstack¼ò½é£º
SaltStackÊÇÒ»¸ö·þÎñÆ÷»ù´¡¼Ü¹¹¼¯Öл¯¹ÜÀíÆ½Ì¨£¬¾ß±¸ÅäÖùÜÀí¡¢Ô¶³ÌÖ´ÐС¢¼à¿ØµÈ¹¦ÄÜ£¬»ùÓÚPythonÓïÑÔʵÏÖ£¬½áºÏÇáÁ¿¼¶ÏûÏ¢¶ÓÁУ¨ZeroMQ£©ÓëPythonµÚÈý·½Ä£¿é£¨Pyzmq¡¢PyCrypto¡¢Pyjinjia2¡¢python-msgpackºÍPyYAMLµÈ£©¹¹½¨¡£
ͨ¹ý²¿ÊðSaltStack£¬ÎÒÃÇ¿ÉÒÔÔÚ³ÉǧÍǫ̀·þÎñÆ÷ÉÏ×öµ½ÅúÁ¿Ö´ÐÐÃüÁ¸ù¾Ý²»Í¬ÒµÎñ½øÐÐÅäÖü¯Öл¯¹ÜÀí¡¢·Ö·¢Îļþ¡¢²É¼¯·þÎñÆ÷Êý¾Ý¡¢²Ù×÷ϵͳ»ù´¡¼°Èí¼þ°ü¹ÜÀíµÈ£¬SaltStackÊÇÔËάÈËÔ±Ìá¸ß¹¤×÷ЧÂÊ¡¢¹æ·¶ÒµÎñÅäÖÃÓë²Ù×÷µÄÀûÆ÷¡£
saltstack×é¼þ£º
1¡¢Salt Master£ºÖÐÐĹÜÀíϵͳ¡£´ËϵͳÓÃÓÚ½«ÃüÁîºÍÅäÖ÷¢Ë͵½ÔÚÊܹÜϵͳÉÏÔËÐеÄSalt
minion¡£

2¡¢Salt Minions£º±»¹ÜÀíµÄϵͳ¡£ ¸ÃϵͳÔËÐÐSalt
minion£¬Ëü´ÓSalt master½ÓÊÕÃüÁîºÍÅäÖá£

3¡¢Execution Modules£º´ÓÃüÁîÐÐÕë¶ÔÒ»¸ö»ò¶à¸öÊܹÜϵͳִÐÐÁÙʱÃüÁî¡£ ¶ÔÒÔϹÜÀí³¡¾°ÓаïÖú£º
¡ñ ʵʱ¼à¿Ø£¬×´Ì¬ºÍÅ̵ã
¡ñ Ò»´ÎÐÔÃüÁîºÍ½Å±¾
¡ñ ²¿Êð¹Ø¼ü¸üÐÂ

4¡¢Formulas (States)£ºÒ»ÖÖϵͳÅäÖõÄÉùÃ÷ÐÔ»òÃüÁîʽ±íʾ¡£

5¡¢Grains£ºÏµÍ³±äÁ¿¡£ GrainsÊÇÓйصײãÊܹÜϵͳµÄ¾²Ì¬ÐÅÏ¢£¬°üÀ¨²Ù×÷ϵͳ£¬ÄÚ´æºÍÐí¶àÆäËûϵͳÊôÐÔ¡£
Äú»¹¿ÉÒÔΪÈκÎϵͳ¶¨Òå×Ô¶¨Òågrains¡£

6¡¢Pillar£ºÓû§¶¨ÒåµÄ±äÁ¿¡£ ÕâЩ°²È«±äÁ¿±»¶¨Òå²¢´æ´¢ÔÚSalt MasterÖУ¬È»ºóʹÓÃÄ¿±ê¡°·ÖÅ䡱¸øÒ»¸ö»ò¶à¸öminions¡£
pillaÊý¾Ý´æ´¢ÖîÈç¶Ë¿Ú£¬Îļþ·¾¶¡¢ÅäÖòÎÊýºÍÃÜÂëÖ®ÀàµÄÖµ¡£

7¡¢Top File£º½«formulasºÍpillaÊý¾ÝÓëSalt minionsÆ¥Åä¡£

8¡¢Runners£ºÔÚSalt masterÉÏÖ´ÐеÄÄ£¿é£¬ÓÃÓÚÖ´ÐÐÖ§³ÖÈÎÎñ¡£ Salt runners±¨¸æ×÷ҵ״̬¡¢Á¬½Ó״̬¡¢´ÓÍⲿAPI¶ÁÈ¡Êý¾Ý£¬²éѯÁ¬½ÓµÄSalt
minionsµÈ¡£ÀýÈ磬OrchestrateÔËÐÐÆ÷е÷¿ç¶à¸öϵͳµÄÅäÖò¿Êð¡£

9¡¢Returners£º½«Salt minions·µ»ØµÄÊý¾Ý·¢Ë͵½ÁíÒ»¸öϵͳ£¬ÀýÈçÊý¾Ý¿â¡£ Salt
Returners¿ÉÒÔÔÚSalt minion»òSalt masterÉÏÔËÐС£

10¡¢Reactor£ºÔÚSaltStack»·¾³Öз¢ÉúÌØ¶¨Ê¼þʱ´¥·¢ÏàÓ¦µÄÏìÓ¦¡£

11¡¢Salt SSH£ºÔÚûÓÐSalt minionµÄϵͳÉÏͨ¹ýSSHÔËÐÐSaltÃüÁî¡£

saltstack²¿Êð£º
»·¾³ÈçÏ£º

Ò»¡¢¹ÜÀí¶ËÅäÖÃ
1¡¢Ð޸ķþÎñÆ÷Ö÷»úÃû
master¹ÜÀí¶Ë£º
[root@bogon ~]# hostnamectl set-hostname master.saltstack.com
minion±»¹ÜÀí¶Ë1£º
[root@bogon ~]# hostnamectl set-hostname web01.saltstack.com
minion±»¹ÜÀí¶Ë2£º
[root@bogon ~]# hostnamectl set-hostname web02.saltstack.com
ÖØÆô·þÎñÆ÷ÉúЧÖ÷»úÃû»òʹÓÃbashÃüÁî |
ÖØÆô·þÎñÆ÷ÉúЧÖ÷»úÃû»òʹÓÃbashÃüÁî
2¡¢ÐÞ¸ÄhostsÎļþ½âÎö
vim /etc/hosts
#ÿÌì¶¼ÐèÒªÌí¼Óhosts½âÎöÎļþ
192.168.71.129 master.saltstack.com
192.168.71.130 web01.saltstack.com
192.168.71.131 web02.saltstack.com |
3¡¢¹ÜÀí¶Ë°²×°salt-master
yum install epel-release
-y #ÒªÏȰ²×°epelÔ´
yum install salt-master -y |
4¡¢ÐÞ¸Äsalt-masterÅäÖÃÎļþ
[root@master
~]# vim /etc/salt/master #ÅäÖÃÎļþλÖÃ
15ÐÐ interface: 192.168.71.129 #¼àÌýµØÖ·¸Ä³ÉÖ÷»úIP
215ÐÐ auto_accept: True #Ö¤ÊéÈÏÖ¤
416ÐÐ file_roots: #¿ªÆôÕ¾µãĿ¼
417ÐÐ base:
418ÐÐ - /srv/salt
552ÐÐ pillar_opts: True #¿ªÆôpillar¹¦ÄÜ£¬Í¬²½Îļþ¹¦ÄÜ
529ÐÐ pillar_roots: #¿ªÆôpillarÕ¾µã
530ÐÐ base:
531ÐÐ - /srv/pillar
710ÐÐ nodegroups:
711ÐÐ group1: 'web01.saltstack.com' #±»¹ÜÀí¶ËÖ÷»úÃû
712ÐÐ group2: 'web02.saltstack.com' |
5¡¢¼ì²éÐ޸ĵÄÅäÖÃÎļþÕýÈ·ÐÔ

6¡¢´´½¨ÅäÖÃÎļþÖжÔÓ¦µÄĿ¼
[root@master
~]# mkdir /srv/salt
[root@master ~]# mkdir /srv/pillar |
7¡¢¿ªÆô·þÎñ
[root@master
~]# systemctl start salt-master.service #¿ªÆô·þÎñ
[root@master ~]# netstat -ntap | egrep '4505|4506'
#¼ì²é¶Ë¿Ú£¬egrepÆ¥ÅäÕýÔò±í´ïʽ
tcp 0 0 0.0.0.0:4505 0.0.0.0: LISTEN 36663/python
tcp 0 0 0.0.0.0:4506 0.0.0.0: LISTEN 36676/python |
¶þ¡¢±»¹ÜÀí¶ËÅäÖÃ
1¡¢°²×°salt-minion
[root@web01 ~]#
yum install epel-release -y #°²×°epelÔ´
[root@web01 ~]# yum install salt-minion -y #°²×°salt-minion |
2¡¢ÐÞ¸ÄÅäÖÃÎļþ
[root@web01 ~]#
vim /etc/salt/minion
16ÐÐ master: 192.168.175.129 #Ö¸Ïò¹ÜÀí¶ËµØÖ·
78ÐÐ id: web01.saltstack.com #×ÔÉíÖ÷»úÃû |
3¡¢¿ªÆô·þÎñ
[root@web01 ~]#
systemctl start salt-minion.service |
Èý¡¢Èº¼¯²¿Êð³õÌåÑé
1¡¢ÔÚ¹ÜÀí¶Ë¼ì²â±»¹ÜÀíÖ÷»ú״̬

2¡¢±àд°²×°apacheÈÎÎñÎļþ
[root@master ~]# vim /srv/salt/top.sls
#ÎļþÒÔsls½áβ

[root@master ~]# vim /srv/salt/apache.sls

4¡¢¹ÜÀí¶ËÖØÆô·þÎñ
[root@master
salt]# systemctl restart salt-master.service |
5¡¢Ö´Ðв¿ÊðµÄÈÎÎñ
[root@master
salt]# salt '*' state.highstate #Õë¶ÔËùÓÐÖ÷»úÖ´ÐÐ |
6¡¢Ö´Ðнá¹û

7¡¢±»¹ÜÀí¶Ë¼ì²é²¿ÊðÇé¿ö

|