1. 程式人生 > >利用Saltstack的States初始化系統

利用Saltstack的States初始化系統

saltstack



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

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

states sls使用YAML語法


查看所有states列表
[[email protected] pillar]# salt ‘onde1‘ sys.list_state_modules (node1是被管理節點的ID)


查看states模塊功能
[[email protected] 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服務器

[[email protected] 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、配置歷史命令顯示時間:
[[email protected] init]# vim history.sls
profile_file:
file.append:
- name: /etc/profile
- text:
- export HISTTIMEFORMAT="%F %T:"

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

4、配置系統創建用戶bob,初始密碼為123456,同時要求用戶初次登陸必須修改密碼
[[email protected] 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、修改入口文件:
[[email protected] base]# vim top.sls
base:
[email protected][12]‘:
- init.dns
- init.history
- init.sysctl
- init.add_usr

[[email protected] base]# salt -E ‘node[12]‘ state.highstate env=base test (測試是否能執行成功。)

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

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

本文出自 “11063277” 博客,請務必保留此出處http://11073277.blog.51cto.com/11063277/1955231

利用Saltstack的States初始化系統