SaltStack学习笔记一

SaltStack快速入门

SaltStack简介|YAML介绍|SaltStack安装

SaltStack简介

SaltStack学习笔记一

Salt是一个简单易用且功能强大的基础平台配置工具,能够大批量的维护预定义状态的远程节点,支持分布式远程命令执行和数据查询,可以支撑管理上万台规模服务器,数秒钟即可完成数据传递。 SaltStack基于Python语言开发,同时提供API接口方便二次开发和其它平台进行集成,官方提供基于python开发的web界面halite.

三大功能

  • 远程执行

  • 配置管理(状态查询)

  • 云管理

四种运行方式

  • Local

  • Master/Minion (C/S模式)

  • Syndic (类似于zabbix proxy)

  • Salt SSH

特点总结[点我!]

  • 简单易管理

  • 并行执行

  • 身份认证和通信加密

  • 提供python接口模块及API调用

  • 快速、灵活、易扩展、开放

SaltStack常用网址

快速入门参考

YAML介绍[维基百科]

YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递回缩写。在开发这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重新命名。 Salt定义的描述文件使用YAML格式,后缀名为.sls,YAML详细介绍请看维基百科。

  • YAML三板斧

 1.缩进:表示层级关系 (使用2个空格递增的方式表示层级关系,不能用TAB键)

 2.冒号:表示key: value (在saltstack中冒号如果不是表示路径的话后面要有个空格)

 3.短横线:表示列表 (短横线后有个空格)

数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:
house:
  family:  
    name: Doe
    parents:
      - John
      - Jane
    children:
      - Paul
      - Mark
      - Simone
  address:
    number: 34
    street: Main Street
    city: Nowheretown
    zipcode: 12345
注意:
字串不一定要用双引号标识;
在缩排中空白字符的数目并不是非常重要,只要相同阶层的元素左侧对齐就可以了(不过不能使用TAB字符);
允许在文件中加入选择性的空行,以增加可读性;
在一个档案中,可同时包含多个文件,并用“—”分隔;
选择性的符号“...”可以用来表示档案结尾(在利用串流的通讯中,这非常有用,可以在不关闭串流的情况下,发送结束讯号)。

SaltStack安装

1.环境准备

  • 查看系统版本内核及IP

[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 
[root@linux-node1 ~]# uname -r
3.10.0-327.18.2.el7.x86_64
[root@linux-node1 ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $3}'
192.168.56.11
[root@linux-node1 ~]# hostname	
linux-node1.example.com

#node2主机名为linux-node2.example.com,IP为192.168.56.12,其余配置相同

2.SaltStack安装

  • yum源方式安装及基础配置

[root@linux-node1 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
[root@linux-node1 ~]# yum install salt-master salt-minion -y     #主机安装同时安装master和minion来测试,从机可以只安装salt-minion即可
配置目录:主配置文件/etc/salt/master、从配置文件/etc/salt/minion
节点2上安装并启动salt-minion,修改/etc/salt/minion配置文件中master的IP地址为master的IP:192.168.56.11,改完配置文件记得重启哦!
[root@linux-node2 ~]# vi /etc/salt/minion 
16 master: 192.168.56.11  #配置文件16行,保存退出,重启salt-minion服务
公钥、私钥存储目录为/etc/salt/pki/
密钥认证命令:salt-key -a/A
[root@linux-node1 ~]# salt-key -a linux-node2.example.com   #认证指定节点主机
[root@linux-node1 ~]# salt-key -A   #认证所有配置的minion节点主机
查看sa配置状态信息:salt-key -L(用salt-key -h命令查看命令详情)
[root@linux-node1 ~]# salt-key -L
Accepted Keys:
linux-node1.example.com
linux-node2.example.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:
  • 简单测试

[root@linux-node1 ~]# salt '*' test.ping  #使用test模块中的ping方法查看管理节点主机是否在线
linux-node2.example.com:
    True
linux-node1.example.com:
    True

[root@linux-node1 ~]# salt '*' cmd.run 'uptime'   #cmd模块可以执行所有的shell命令,想查啥状态就查啥
linux-node2.example.com:
     23:35:34 up 20 min,  1 user,  load average: 0.04, 0.03, 0.08
linux-node1.example.com:
     08:39:07 up 21 min,  1 user,  load average: 0.12, 0.13, 0.14
[root@linux-node1 ~]# salt '*' cmd.run 'df -h'
linux-node2.example.com:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   48G  4.6G   43G  10% /
    devtmpfs                 903M     0  903M   0% /dev
    tmpfs                    913M   12K  913M   1% /dev/shm
    tmpfs                    913M  8.6M  904M   1% /run
    tmpfs                    913M     0  913M   0% /sys/fs/cgroup
    /dev/sda1                497M  168M  329M  34% /boot
    tmpfs                    183M     0  183M   0% /run/user/0
linux-node1.example.com:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   48G  7.4G   41G  16% /
    devtmpfs                 903M     0  903M   0% /dev
    tmpfs                    913M   28K  913M   1% /dev/shm
    tmpfs                    913M  8.6M  904M   1% /run
    tmpfs                    913M     0  913M   0% /sys/fs/cgroup
    /dev/sda1                497M  168M  329M  34% /boot
    tmpfs                    183M     0  183M   0% /run/user/0

总结

  • SaltStack使用非常灵活,功能很强大,先入个门再深入学习吧!

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/558.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注