8、salt生產常用,狀態文件include。修改minion的ID
如果一段配置文件會被多次使用,可以單獨定義出來,然后其他文件引用進來。例如我們之前的lamp.sls中,可以把開始的安裝單獨拿出來
cd /srv/salt/base/web
[root@master-1 web]# vim httpd.sls lamp-install: # 安裝 pkg.installed: - pkgs: - httpd - php - php-pdo - php-mysql
vim lamp.sls
include: - web.httpd #配置 apache-config: file.managed: # 文件管理 - name: /etc/httpd/conf/httpd.conf - source: salt://web/files/httpd.conf #這是個相對目錄,相當于base目錄下的web - user: root - group: root - mode: 644 - template: jinja # 將httpd.conf變成模板文件 - defaults: # 參數 PORT: 80 #定義的兩個變量 IPADDR: {{ grains['fqdn_ip4'][0] }} - require: #依賴某個狀態 - pkg: lamp-install apache-auth: pkg.installed: - name: httpd-tools - require_in: - cmd: apache-auth # 確保httpd-tools安裝 cmd.run: - name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin # 調用htpasswd命令生成用戶名密碼,用戶名和密碼都是admin,保存到認證文件/etc/httpd/conf/htpasswd_file - unless: test -f /etc/httpd/conf/htpasswd_file # 判斷命令返回值為真,那么cmd.run就不執行 apache-conf: file.recurse: - name: /etc/httpd/conf.d - source: salt://web/files/apache-conf.d php-config: file.managed: - name: /etc/php.ini - source: salt://web/files/php.ini - user: root - group: root - mode: 644 lamp-service: service.running: - name: httpd - enable: True - reload: True - watch: # 關注某個狀態,只要下邊的配置文件有變更,就重載服務 - file: apache-conf #監控的狀態模塊,后邊是狀態ID - file: apache-config
2、我們也可以把tomcat的安裝過程分開,將jdk安裝單獨定義
vim jdk.sls
jdk-install: file.managed: - name: /usr/local/src/jdk-8u181-linux-x64.tar.gz - source: salt://web/files/jdk-8u181-linux-x64.tar.gz cmd.run: - name: cd /usr/local/src && tar zxf jdk-8u181-linux-x64.tar.gz -C /usr/local/ - unless: test -f /usr/local/src/jdk-8u181-linux-x64.tar.gz && test -d /usr/local/jdk1.8.0_181 /etc/profile: file.append: - text: - "export JAVA_HOME=/usr/local/jdk1.8.0_181" - "export JRE_HOME=/usr/local/jdk1.8.0_181/jre" - "export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH"
vim tomcat.sls
include: - web.jdk tomcat-install: file.managed: - name: /usr/local/src/apache-tomcat-8.0.46.tar.gz - source: salt://web/files/apache-tomcat-8.0.46.tar.gz - user: root - group: root - mode: 755 cmd.run: - name: cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz -C /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat - unless: test -L /usr/local/tomcat && test -d /usr/local/apache-tomcat-8.0.46
測試一下
salt master-2 state.sls web.tomcat test=True
salt master-2 state.sls web.tomcat
#3、改minion的ID過程
- 停止minion
- salt-key -d minionid #master操作
以下minion操作
- rm -fr /etc/salt/minion_id
- rm -fr /etc/salt/pki
- 修改配置文件id:,或者用主機名作為id的,可以不改,把主機名改完即可,/etc/hostname,/etc/hosts兩個文件
- 啟動minion
- 重啟master,否則master也會有緩存
- salt-key -A 將minion重新加入

浙公網安備 33010602011771號