`

Salt安装与基本操作

阅读更多

 

1 rpm centos中的安装包格式 ,相当于windows中的exe文件

2 yum是centos中方便的rpm仓库以及提供方便的安装方法,不但可以安装而且可以安装相应的依赖

3 /etc/yum.conf 是yum源的配置文件

4 /etc/yum.repo.d/xx.repo是yum源的仓库,安装文件的时候会根据配置下载安装包和相应的依赖包,然后安装

5 epel,安装后会产生yum源仓库的repo文件

6 yum源自行更换:下载repo文件,删除原来的repo文件 清理原来的缓存重新生成:1)yum clean all 2)yum makecache

 

安装:yum install 。。

升级所有软件包:yum update 

升级某个软件包:yum update tomcat

检查可更新的程序:yum check-update

显示已经安装:yum list installed

查找可以安装:yum list tomcat

卸载:yum remove tomcat

列出依赖:yum deplist tomcat

显示信息:yum info tomcat

 

 

 

 

查看是否安装:rpm -qa | grep subscription

删除:rpm -e file.rpm

安装:rpm -qa | grep salt-master

 

 

 

 

==========

salt的安装参考:https://my.oschina.net/u/3314358/blog/1839063

 

自定义service:/lib/systemd/system

 

一、启动与重启:

systemctl start salt-master 

systemctl start salt-minion

systemctl restart salt-minion

systemctl status salt-minion

 

二、目录:/etc/salt/

日志目录:/var/log/salt

 

三、重新认证:

1、清空minion_id:/etc/salt/minion_id

2.删除minion存放masterkey的文件pki文件夹下所以的东西 :rm -rf /etc/salt/pki/*

3.重启minion

4.在master端:删除pki文件之后,重启即可 rm -rf /etc/salt/pki/* & service salt-master restart

 

四、查看端口,看salt是否启动成功

netstat -antlp|grep 4506

五、master上查看连接到的minion: salt-key -L

 

六、常用命令

1)salt 该命令执行salt的执行模块,通常在master端运行,也是我们最常用到的命令

salt [options] '<target>' <function> [arguments]

如: salt '*' test.ping (校验master与minion的连接情况)

2)salt-run 该命令执行runner(salt带的或者自定义的,runner以后会讲),通常在master端执行,比如经常用到的manage

salt-run [options] [runner.func]

salt-run manage.status ##查看所有minion状态

salt-run manage.down ##查看所有没在线minion

salt-run manged.up  ##查看所有在线minion

3)salt-key 密钥管理,通常在master端执行 

salt-key [options]

salt-key -L##查看所有minion-key,安装完成的时候用这个命令确定master有几个minion连接成功

salt-key -a <key-name>##接受某个minion-key(如果没有master和minion自动秘钥认证,则需要调用这个手动认证)

salt-key -d <key-name>##删除某个minion-key

salt-key -A##接受所有的minion-key

salt-key -D##删除所有的minion-key

说明:-a :accept ,-A:accept-all,-d:delete,-D:delete-all

 

4)salt-call 该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job

salt-call [options] <function> [arguments]

salt-call test.ping ##自己执行test.ping命令

salt-call cmd.run 'ifconfig' ##自己执行cmd.run函数

 

5)salt-cp 分发文件到minion上,不支持目录分发,通常在master运行

salt-cp [options] '<target>' SOURCE DEST

salt-cp '*' testfile.html /tmp

salt-cp 'test*' index.html /tmp/a.html

 

6)salt-ssh 0.17.1版本加入的salt-ssh

7)salt-master master运行命令

salt-master [options]

salt-master ##前台运行master

salt-master -d##后台运行master

salt-master -l debug  ##前台debug输出

 

七、sls文件(个人理解:是yaml的模板文件,也可以使用jinja动态生成模板,然后通过yaml解析后生成一定的数据结构给salt使用)

1. sls文件本质上是python嵌套字典(键值对),由salt-master以广播的形式传递给salt-minion,通过sls文件告知使用哪个模块的哪个函数,参数有哪些,在salt-minion一侧进行函数调用

2. 冒号':' 用来分隔键和值, 冒号:与后面的单词如果在一行,一定要有一个空格, 一个单词后面是否有冒号:取决于这个单词是否是key, 后面是否有值或者是嵌套的内容

 短横杠 - 表示这项是个列表项, 短横杠与后面的单词有一个空格

 缩进: 本层与下一层要有缩进, 缩进不能用tab, 一般是两个空格. 相同一缩进表示相同的层级

 

 

八、Module 模块使用(模块之间调用:可以通过 __salt__['模块.函数']('函数参数'),调用其他的模块)

1)开启配置Module的目录:module_dirs : ['/srv/salt/_modules']

2)定义的目录中创建Module,python的文件

3)同步Module到minion上:salt '*' saltutil.sync_modules

4)执行Module:salt '*' zhou.zhou zyy参数

5)Module中使用全局字典,grains,pillar,salt

    grain = __grains__['chengge']

    # 通过salt默认的一个字典__grains__,你想去哪个grain的时候,使用 __grains__['Id']

    pillar = __pillar__['group']

    # pillar 和 grains 一个样,__pillar__['Id']

    result = __salt__['cmd.run'](args)

    # __salt__['模块.函数']('函数参数')

 

6)同步模块到minion的3中方式

salt '*' state.highstate

salt '*' saltutil.sync_all

salt '*' saltutil.sync_modules

 

 

 

九、Runner 模块使用(Runner直接在master上执行,不需要同步到minion上在执行)

1)开启配置文件,定义Runner的目录,runner_dirs: []

2)目录中创建python的runner文件

3) 执行Runner模块: salt-run lsdir.lsdir home

 

 

十、 Grins 模块(grains一些静态的客户端数据的定义)

作用:grains 主要负责采集客户端一些基本信息,可以客户端自定义然后汇报到master上,也可以服务器定义同步到客户端,然后在汇报上来

   可以在Module的模块中调用

1)打印所有的items: salt '*' grains.items

2)列出所有的items:salt '*' grains.ls

3) 查看单个的items:salt '*' grains.item shell

 

十一、Pillar模块,jinja2为python前端展示的模板引擎,逻辑判断的功能都是有的

1)pillar数据定义用sls文件,文件目录位置配置文件中:pillar_roots 

2)入口文件:top.sls,salt加载需要通过这个文件进行加载

3)定义完成数据文件需要同步到minion中:salt '*' saltutil.refresh_pillar,如果不生效可以重启master在次同步数据

4)查看所有的pillar数据:salt '*' pillar.data

5)查看某个pillar数据:salt '*' pillar.data minionname

6)其他python文件中使用:如:pillar['appname'] 

    state 和模板文件中引用,模板格式变量为 {{ pillar变量 }}如:{{ pillar['flow']['maxconn'] }} 

 

7)结合grains获取客户端的ip如: ip : {{ grains['ipv4'][0] }},放到sls文件中,可以获取客户端ip信息:salt \* pillar.data ip

 

十二、 cmd模块,在集群汇总统一执行shell命令:salt '*' cmd.run 'df -h'

十三、 ping模块,执行ping命令: salt '*' test.ping -t 5  

十四、cp模块,作用: cp 模块由 Salt 状态系统 salt-cp 使用,可用于分发 Salt 文件服务器提供的文件

十五、 cron模块,定时执行某个文件

salt '*' cron.raw_cron root     (查看定时任务)

salt '*' cron.set_job root '*' '*' '*' '*' 1 /export/scripts/rm_log.sh 

salt '*' cron.rm_job root /export/scripts/rm_log.sh   (写全没效果)

十六、dnsutil模块,实现被控制主机本地域名文件操作

1)添加 salt 'centos02' dnsutil.hosts_append /etc/hosts 127.0.0.1 www.test.com

2)删除 salt 'centos02' dnsutil.hosts_remove /etc/hosts www.test.com

3)api调用 client.cmd('*', 'dnsutil.hosts_append',['/etc/hosts','127.0.0.1','www.test.com'])

十七、file模块,实现被控主机常见文件操作

十八、network模块,返回被控主机的网络信息

salt '*' network.dig www.qq.com

salt '*' network.ping www.qq.com

salt '*' network.ip_addrs

 

十九、pkg模块,被控主机程序包管理,如yum、apt-get等

# 管理yum, apt-get等

salt '*' pkg.install php

salt '*' pkg.remove php

salt '*' pkg.upgrade    (升级所有的软件包)

二十、service模块

salt '*' service.enable nginx

salt '*' service.disable nginx

salt '*' service.restart nginx

 

 

 

 

 

salt-api安装使用

https://www.jianshu.com/p/fdfa8ee1840a

https://cizixs.com/2015/03/24/salt-api-usage

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Oracle SALT安装文档

    综上所述,Oracle Service Architecture Leveraging Tuxedo (SALT) 的安装与配置是一个较为复杂的过程,需要细致地按照官方指南进行操作。同时,在安装前后都需要做好充分的准备和规划,确保系统的稳定运行。

    salt文档(0.11)

    Salt与云服务紧密集成,如Amazon的EC2,通过Cloud-Init可以自动化地在新实例上安装和配置Salt,从而实现即刻可用的自动化环境。 #### 十、自动更新与冻结部署 Salt不仅关注于当前系统的自动化运维,也考虑到了未来...

    Salt-2016.11.1.pdf

    ### 盐(Salt)文档概览与关键技术知识点 #### 标题解读 - **"Salt-2016.11.1.pdf"**: 这个文档标题表明它是一份关于Salt软件版本2016.11.1的手册或指南。 #### 描述解析 - **"Salt-2016.11.1.pdf"**: 描述部分并未...

    Salt-手册

    这部分内容提供了一个详细的教程,引导用户逐步完成远程执行的基本操作。 **4.2 在 Salt Minion 上运行命令** 这里介绍了如何在 Salt Minion 上执行命令,包括简单的 shell 命令或复杂的脚本。 **4.3 编写执行...

    linux-saltssh批量装saltminion

    salt-ssh是Saltstack的另一种管理方式,无需安装minion端,可以运用Salt的一切功能,管理和使用方式和基本和Salt一样。但是执行效率会比有minion端慢很多,不适合大规模批量操作

    Salt官方文档

    这部分提供了针对不同操作系统平台(如 Linux 发行版、Windows 等)的具体安装指导。 - **Linux 发行版**:如 Ubuntu、CentOS、Red Hat 等,每个发行版可能有其特定的包管理器和安装方式。 - **Windows**:提供 ...

    Salt-2019.2.0.pdf

    根据给定的文件信息,以下是对标题“Salt-2019.2.0.pdf”以及...总之,Salt文档介绍了Salt的基本功能、配置、安装、维护以及架构等核心知识点,能够帮助运维工程师理解如何高效地使用这个强大的工具来管理基础设施。

    salt自动化

    ### Salt自动化知识点详解 ...通过掌握SaltStack的基本概念、安装流程以及常见使用场景,可以有效提高系统管理效率,减少人工干预带来的错误和成本。随着技术的不断发展和完善,SaltStack必将在更多领域发挥重要作用。

    salt官方文档(英文版)

    初学者可以从"Getting Started"开始,了解安装过程和基本概念。然后,可以深入到"States"和"Execution Modules"章节,学习如何编写州和执行命令。对于更复杂的用例,如云编排和自定义模块,"Cloud"和"Grains and ...

    salt 被控端,minion-install,shell脚本(centos,rehdat)

    7. **验证安装**:最后,脚本可能包括验证Minion是否能成功连接到Master的步骤,例如通过运行`salt-call --local grains.items`检查Minion的基本信息。 文件`soft`可能包含的是盐Stack的安装源代码或者额外的软件包...

    salteen一个轻量级JS库实现使用盐salt来加密和解密值

    - **盐生成(Salt Generation)**:为每一次加密操作生成唯一的盐值。 ### 3. 使用Salteen库 #### 3.1 安装 在项目中使用Salteen库,可以通过npm进行安装: ```bash npm install salteen ``` 或者直接在HTML文件...

    硕士:基于web的salt语音识别技术应用研究(终稿(完整版)资料.doc

    本研究主要完成了基于WEB具有语音识别功能并可以根据语音命令完成一定操作基本功能的语音应答平台系统的实现。系统采用了SALT技术,实现了语音识别功能,并可以根据语音命令完成一定操作。 四@Web的语音识别技术...

    硕士论文:基于WEB的SALT语音识别技术应用研究(终稿)-精品.doc

    在论文的研究中,主要完成了基于WEB具有语音识别功能并可以根据语音命令完成一定操作基本功能的语音应答平台系统的实现,需要将SALT技术应用于ASP.NET服务系统页面之中。具体工作包括:研究了经典的HMM算法及其他...

    salt-sccm:调用 System Center Configuration Manager 客户端操作的一些基本命令

    盐-sccm 调用 System Center Configuration Manager 客户端操作的一些基本命令。 将 sccm.py 放入 /srv/salt/_modules 并运行 saltutil.sync_module 或 saltutil.sync_all 将模块推送到客户端。 sccm.system_boot_...

    1.zip_Salt Pepper noise_pepper_椒盐_椒盐噪声 matlab_高斯噪声

    椒盐噪声(Salt & Pepper noise)和高斯噪声是两种常见的噪声类型,它们都会严重影响图像的质量和后续的分析处理。本压缩包文件“1.zip”包含了针对这两种噪声的处理方法,特别是通过MATLAB编程实现的解决方案。 ...

    saltstack安装包及依赖包

    盐栈(SaltStack)是一...同时,还需要了解盐栈的基本语法和命令,如使用`salt`命令来执行远程操作,`state.sls`来应用配置状态等。通过熟练掌握这些知识点,用户可以在CentOS 6.8环境下有效地使用盐栈进行自动化运维。

    nginx安装.doc

    ### Nginx 安装与配置详解 #### 一、Nginx简介 Nginx是一款高性能的HTTP和反向代理Web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx以其稳定性、丰富的功能集、简单的配置方式以及低资源消耗而闻名。 #### 二、...

Global site tag (gtag.js) - Google Analytics