SaltSack入门(一)安装及简单使用

简介:

为什么要用自动化配置管理工具?

  由于企业不断发展,传统运维已经跟不上步伐,现在都在招运维开发工程师,薪资也高不少,像我们这传统的运维显然遇到了瓶颈,薪资也是提不上去,所以要面临转型。

  时不我待,转起大脑,向DevOPS迈进,首先熟练使用一个自动化配置管理工具,凭自己的了解,这样的工具有PuppetSaltstackAnsibleFabric等,种类这么多,该学习哪个呢?于是在网上找一些招聘信息,寻找企业用的最多的一个工具,经了解,Puppet用的是最多的,可是学习成本相对较高,而且基于Ruby语言开发,比较陌生;SaltStack企业用的也不少,功能也强大,是Python开发的,还好自身也有一定的Python语言基础,学习起来相对好些。其他的用的比较少,就先不考虑了。开始行动吧!

SaltSack是什么

  Python语言开发,因此安装配置很简单,具有很强的可扩展性;SaltPuppet类似,分为管理端(master)和被管理端(minion),他们之间通过高性能的ZaroMQ通讯,能够管理上万台服务器。

SaltSack为我们做些什么?

系统软件安装和初始化、配置文件管理、定期执行任务、批量部署应用、远程执行命令等等,足够系统自动化运维了吧!

开始安装部署,尝试使用下,我这里使用的是Ubuntu系统,安装方式与RedHat系统不同,但操作命令都是一样的。

CentOS6安装方式:

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum update

# yum install salt-master

# yum install salt-minion

1、安装管理端(Salt-master

1
2
3
4
5
6
# sudo apt-get install python-software-properties
# sudo apt-get install software-properties-common
# echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list    #添加salt网络源
# wget -q -O-"http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6"| sudo apt-key add -    #添加秘钥
# sudo apt-get update
# apt-get install salt-master

2、安装被管理端(Salt-minion                  

1
2
3
4
5
6
# sudo apt-get install python-software-properties
# sudo apt-get install software-properties-common
# echo debhttp://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudotee /etc/apt/sources.list.d/saltstack.list
# wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6"| sudo apt-key add –
# sudo apt-get update
# apt-get install salt-minion

3、配置被管理端(管理端不用配置)

1
2
3
4
# vi /etc/salt/minion
master:192.168.1.10    #指定master地址
id :host1                    #唯一标识ID,用于在master显示
# /etc/init.d/salt-minion restart      #重启minion生效

 #管理端重启:/etc/init.d/salt-master restart

 minion重启后,minion会尝试去master进行认证,minion第一次启动会在/etc/salt/pki/minion目录下生成minion.pem(私钥)和minion.pub(公钥),然后将minion.pub发给mastermaster通过salt-key -A命令接收公钥,并保存在/etc/salt/pki/master/minions目录

4、添加minionmaster认证(以下基本都在master操作了)

#先在master查看所有认证主机

1
2
3
4
5
# salt-key -L
Accepted Keys:
host1                  #此时颜色是红色的,说明通信没问题
Unaccepted Keys:
Rejected Keys:

#这时我们接收所有的认证请求

1
2
3
4
5
6
# salt-key –A
# salt-key -L
Accepted Keys:
host1                  #此时颜色变绿,认证成功
Unaccepted Keys:
Rejected Keys:

5、测试是否运行正常

#执行一个内置test.ping命令,以下说明正常

#命令格式: 命令 对象 执行模块 参数

# salt '*' test.ping

host1:

True

#也可以运行Bash命令

# salt '*' cmd.run 'df -h'


目录
相关文章
|
Ubuntu Linux RDMA
beegfs客户端编译以支持RDMA
beegfs客户端有些时候需要针对ofed版本进行单独的编译
666 0
|
安全 数据库
Elasticsearch未授权访问漏洞
  Elasticsearch服务普遍存在一个未授权访问的问题,攻击者通常可以请求一个开放9200或9300的服务器进行恶意攻击。 0x00 Elasticsearch 安装 前提,保证安装了JDK 1.
13770 1
基于宜搭的“设备报修”实践案例
设备报修是各企业、学校、医院等单位必不可少的应用场景,包括设备管理、用户报修、报修单管理、派单管理、维修管理等。那么,如何利用宜搭+钉钉实现高效的设备报修管理呢?
基于宜搭的“设备报修”实践案例
|
Android开发
一文分析 Only fullscreen opaque activities can request orientation 报错原因及解决方案
今天在三星S8上遇见一个奇葩问题`Only fullscreen opaque activities can request orientation`,探究一下Android源码,出现这个错误的原因,以及解决方案。
799 0
一文分析 Only fullscreen opaque activities can request orientation 报错原因及解决方案
|
7月前
|
网络协议 算法 安全
Go语言的网络编程与TCP_UDP
Go语言由Google开发,旨在简单、高效和可扩展。本文深入探讨Go语言的网络编程,涵盖TCP/UDP的基本概念、核心算法(如滑动窗口、流量控制等)、最佳实践及应用场景。通过代码示例展示了TCP和UDP的实现,并讨论了其在HTTP、DNS等协议中的应用。最后,总结了Go语言网络编程的未来发展趋势与挑战,推荐了相关工具和资源。
157 5
|
10月前
|
传感器 物联网 数据安全/隐私保护
低功耗蓝牙和 Wi-Fi 相比有什么优缺点
低功耗蓝牙(BLE)与Wi-Fi相比,功耗更低、成本更少,适用于短距离、小数据量传输,如智能手环等;但传输速度和距离不如Wi-Fi,适合对实时性和带宽要求不高的场景。
|
11月前
|
网络协议 Ubuntu Linux
gpg从公钥服务器接收失败(gpg: keyserver receive failed: Server indicated a failure)
通过上述步骤,大多数情况下应该能够解决GPG从公钥服务器接收失败的问题。如果问题依旧存在,可能需要进一步调查与公钥服务器相关的更深层次的技术问题,或者考虑在相关社区论坛寻求帮助。
2356 1
|
存储 网络协议 算法
|
11月前
|
机器学习/深度学习 人工智能 算法
机器学习【教育领域及其平台搭建】
机器学习【教育领域及其平台搭建】
252 6
|
12月前
|
机器学习/深度学习 数据可视化 UED
黑匣子被打开了!能玩的Transformer可视化解释工具,本地运行GPT-2、还可实时推理
【9月更文挑战第4天】Transformer Explainer是一款基于网页的交互式可视化工具,专为帮助用户理解复杂的Transformer模型而设计。通过多层次抽象、实时推理及互动实验,以及无需安装即可使用的便捷性,此工具选取GPT-2作为教学模型,降低了学习门槛并提升了教育普及度。用户可以通过输入自定义文本观察预测过程,深入了解内部组件的工作原理。此外,它还减少了认知负荷,增强了互动学习体验。未来,该工具将在复杂性管理和性能优化方面继续改进,并通过用户研究进一步提升功能和可用性。[论文地址:https://arxiv.org/pdf/2408.04619]
411 1