SaltStack之配置管理

1. YAML语言

YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。

YAML语言的格式如下:

house:
  family:
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345

YAML的基本规则:

  • 使用缩进来表示层级关系,每层2个空格,禁止使用TAB键
  • 当冒号不是处于最后时,冒号后面必须有一个空格
  • 用 - 表示列表,- 的后面必须有一个空格
  • 用 # 表示注释

YAML配置文件要放到SaltStack让我们放的位置,可以在SaltStack的 Master 配置文件中查找file_roots即可看到。

[root@master ~]# vim /etc/salt/master
...此处省略N行
file_roots:
  base:
    - /srv/salt/
  dev:
    - /srv/salt/dev
  prod:
    - /srv/salt/prod
...此处省略N行

[root@master ~]# mkdir -p /srv/salt/{base,test,dev,prod}
[root@master ~]# tree /srv/
/srv/
└── salt
    ├── dev
    └── prod

4 directories, 0 files
[root@master ~]# systemctl restart salt-master

2. 用SaltStack配置一个apache实例

2.1 在Master上部署sls配置文件并执行

[root@master ~]# cd /srv/salt
[root@master salt]# ls
[root@master salt]# mkdir -p web/apache
[root@master salt]# tree web
web
└── apache

1 directory, 0 files

[root@master salt]# cd web/apache/
[root@master apache]# touch apache.sls      //生成一个状态描述文件
[root@master apache]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月  19 19:25 apache.sls

vim apache.sls
apache-install:
  pkg.installed:
    - name: httpd

apache-service:
  service.running:
    - name: httpd
    - enable: True

// YAML 配置文件中顶格写的被称作ID,必须全局唯一,不能重复
// SaltStack 读 YAML 配置文件时是从上往下读,所以要把先执行的写在前面\

[root@master ~]# ls /srv/salt/base/web/apache/
apache.sls
//执行状态描述文件
[root@master ~]# salt '4.xx.xx.155' state.sls web.apache.apache saltenv=base
4.xx.xx.155:
----------
          ID: apache-install
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: The following packages were installed/updated: httpd
     Started: 20:01:54.224738
    Duration: 46294.423 ms
     Changes:
              ----------
              apr:
                  ----------
                  new:
                      1.4.8-3.el7_4.1
                  old:
              apr-util:
                  ----------
                  new:
                      1.5.2-6.el7
                  old:
              httpd:
                  ----------
                  new:
                      2.4.6-88.el7.centos
                  old:
              httpd-tools:
                  ----------
                  new:
                      2.4.6-88.el7.centos
                  old:
              mailcap:
                  ----------
                  new:
                      2.1.41-2.el7
                  old:
----------
          ID: apache-service
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service httpd has been enabled, and is running
     Started: 20:02:42.295530
    Duration: 6926.009 ms
     Changes:
              ----------
              httpd:
                  True

Summary for 192.168.69.202
------------
Succeeded: 2 (changed=2)
Failed:    0
------------
Total states run:     2
Total run time:  53.220 s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值