利用Saltstack的States初始化系統



今天和大家介紹一下如何運用State初始化系統吧

  States是satlstack中的配置語言
  安裝軟件包、管理配置文件都需要編寫一些states sls文件

  states sls使用YAML語法


  查看所有states列表
[root@vh01    pillar]#    salt 'onde1' sys.list_state_modules    (node1是被管理節點的ID)


  查看states模塊功能
[root@vh01    pillar]#    salt 'node1' sys.list_state_func=ons    file    


下面給大傢俱體實例操作一下吧

1.  配置minion的dns服務器地址爲192.168.4.100
2.  配置歷史命令顯示時間和用戶
3.  配置系統能夠實現ip轉發
4.  配置系統創建用戶bob,初始密碼爲123456,同時要求用戶初次登陸必須修改密碼

系統初始化概述
  服務器上架並安裝好操作系統後,都會有一些基礎的配置操作
  建議將所有服務器都會涉及的基礎配置或者軟件部署都歸類放在base環境下
  可以在base環境下創建一個init目錄,將系統初始化配置的sls文件均放到init目錄下,稱其爲“初始化模塊”


實施步驟:

修改master上的/etc/salt/master配置文件:

 593 # Example:
 594 file_roots:
 595   base:
 596     - /srv/salt/base


1、配置DNS
  強烈建議在內網建立自己的內網DNS服務器

[root@sa01 init]# vim dns.sls
resolv_file:
  file.managed:
    - name: /etc/resolv.conf
    - source: salt://init/files/resolv.conf
    - user: root
    - group: root
    - mode: 644


resolv.conf文件路徑是/srv/salt/base/resolv.conf



2、配置歷史命令顯示時間:
[root@sa01 init]# vim history.sls
profile_file:
  file.append:
    - name: /etc/profile
    - text:
      - export HISTTIMEFORMAT="%F %T:"

3、配置系統能夠實現ip轉發(路由轉發):
[root@sa01 init]# cat sysctl.sls
net.ipv4.ip_forward:
  sysctl.present:
    - value: 1

4、配置系統創建用戶bob,初始密碼爲123456,同時要求用戶初次登陸必須修改密碼
[root@sa01 init]# vim add_usr.sls
useradd bob:
  cmd.run:
    - unless: id bob
echo 123456 | passwd --stdin bob:
  cmd.run:
    - onlyif: id bob
chage -d0 bob:
  cmd.run:
    - onlyif: id bob

5、修改入口文件:
[root@sa01 base]# vim top.sls
base:
  'E@node[12]':
    - init.dns
    - init.history
    - init.sysctl
    - init.add_usr

[root@sa01 base]# salt -E 'node[12]' state.highstate env=base test  (測試是否能執行成功。)

[root@sa01 base]# salt -E 'node[12]' state.highstate env=base (執行修改,saltenv=base指環境是base,不是dev)

6、驗證:ssh到節點上去,驗證以下就行了,或者使用salt的命令去查看,此處省略!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章