SaltStack入门篇(一)之SaltStack部署
一、SaltStack概述
Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.
多种配置管理工具对比:
Puppet(rubby开发,现在很少使用)
ansible(python开发,轻量级,没有agent,大规模环境下使用ssh会很慢,串行传输)
Saltstack(python开发,远程执行、配置管理、事件驱动基础设施、使用saltcloud可以管理私有云和公有云)
官方文档:https://docs.saltstack.com/en/getstarted/;
官方提供官方yum源:repo.slatstack.com–>可以使用cobbler自定义yum仓库进行同步
官方安装源:http://repo.saltstack.com/2016.11.html#rhel;
Saltstack组件:
SaltMaster
SaltMinion
Execution Modules
环境说明:
主机名 IP地址 说明 系统
linux-node1.example.com 192.168.56.11 模式:master Centos 7.4 x86_64
linux-node2.example.com 192.168.56.12 模式:minion Centos 7.4 x86_64
二、SaltStack安装
1.安装指定的yum源
[root@linux-node1 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-2016.11-2.el7.noarch.rpm
[root@linux-node2 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-2016.11-2.el7.noarch.rpm
2.安装salt-master和salt-minion
[root@linux-node1 ~]# yum install -y salt-master
[root@linux-node1 ~]# yum install -y salt-minion
[root@linux-node2 ~]# yum install -y salt-minion
3.修改minion配置并启动
[root@linux-node1 ~]# systemctl start salt-master #启动salt-master
[root@linux-node1 ~]# vim /etc/salt/minion #配置salt-minion
master: 192.168.56.11 #可以是主机名需要解析(指定服务端的IP地址),冒号有空格
id: 唯一标识符,可以不配,不配默认就是主机名
[root@linux-node1 ~]# systemctl start salt-minion #启动salt-minion
[root@linux-node2 salt]# vim minion
master: 192.168.56.11 #可以是主机名需要解析(指定服务端的IP地址),冒号有空格
id: 唯一标识符,可以不配,不配默认就是主机名
[root@linux-node2 salt]# systemctl start salt-minion minion配置中有一个id配置,默认是hostname,如果id配置和hostname不一致会导致无法进行通信,那么当hostname做了修改,或者错误的时候该怎么配置呢?
①关闭salt-minion
②salt-key -d id 在master上删除minion的id
③minion上删除pki目录
④minion上删除minion_id文件
⑤修改完成,启动minion
#此处必须先停掉minion修改,并删除相应的文件,否则会默认地去查找原先的配置,已踩坑 #以下是刚装完查看minion_id变成了www.test123.com。进行修改成linux-node2.example.com
[root@linux-node2 salt]# cat minion_id
www.test123.com
[root@linux-node2 salt]# systemctl stop salt-minion
[root@linux-node2 salt]# rm -rf pki
[root@linux-node2 salt]# rm -rf minion_id
[root@linux-node2 salt]# systemctl start salt-minion
[root@linux-node2 salt]# cat minion_id
linux-node2.example.com
4.配置说明
[root@linux-node2 salt]# ll
总用量
-rw-r----- root root 9月 : cloud
drwxr-xr-x root root 9月 : cloud.conf.d
drwxr-xr-x root root 9月 : cloud.deploy.d
drwxr-xr-x root root 9月 : cloud.maps.d
drwxr-xr-x root root 9月 : cloud.profiles.d
drwxr-xr-x root root 9月 : cloud.providers.d
-rw-r----- root root 9月 : master
drwxr-xr-x root root 9月 : master.d
-rw-r----- root root 1月 : minion
drwxr-xr-x root root 1月 : minion.d
-rw-r--r-- root root 1月 : minion_id
drwxr-xr-x root root 1月 : pki
-rw-r----- root root 9月 : proxy
drwxr-xr-x root root 9月 : proxy.d
-rw-r----- root root 9月 : roster 说明:
()salt-minion首次启动会在/etc/salt/pki/minion目录下生成公钥和秘钥
[root@linux-node2 salt]# ll /etc/salt/pki/minion/
总用量
-rw-r--r-- root root 1月 : minion_master.pub
-r-------- root root 1月 : minion.pem
-rw-r--r-- root root 1月 : minion.pub ()并且在salt-master的/etc/salt/pki/master/minion_pre中存放了salt-minion的公钥。
[root@linux-node1 ~]# ll /etc/salt/pki/master/minions_pre/
linux-node1.example.com
linux-node2.example.com
5.配置salt-master和slat-minion通信
[root@linux-node1 salt]# salt-key
Accepted Keys: 同意的
Denied Keys: 拒绝的
Unaccepted Keys: 等待同意的
linux-node1.example.com
linux-node2.example.com
Rejected Keys: 同意认证的方法:
分为三种: [root@linux-node1 salt]# salt-key -A
[root@linux-node1 salt]# salt-key -a 指定id
[root@linux-node1 salt]# salt-key -a 支持通配符
[root@linux-node1 master]# salt-key -a linux*
The following keys are going to be accepted:
Unaccepted Keys:
linux-node1.example.com
linux-node2.example.com
Proceed? [n/Y] Y
Key for minion linux-node1.example.com accepted.
Key for minion linux-node2.example.com accepted. salt-key 命令参数介绍
-L 列出所有
-d 删除指定的支持通配符
-D 删除所有
-A 添加所有
-a 指定添加 同意之后生成的文件
pki/
├── master
│ ├── master.pem
│ ├── master.pub
│ ├── minions
│ │ ├── linux-node1.example.com
│ │ └── linux-node2.example.com
│ ├── minions_autosign
│ ├── minions_denied
│ ├── minions_pre
│ └── minions_rejected
└── minion
├── minion_master.pub 同意之后master发送公钥
├── minion.pem
└── minion.pub
SaltStack入门篇(一)之SaltStack部署的更多相关文章
- SaltStack入门篇(七)之架构部署实战
模块:https://docs.saltstack.com/en/2016.11/ref/states/all/index.html 实战架构图: 实验环境设置: 主机名 IP地址 角色 linux- ...
- SaltStack入门篇(六)之部署Redis主从实现和Job管理
一.部署Redis主从 需求: 192.168.56.11是主,192.168.56.12是从 redis监听自己的ip地址,而不是0.0.0.0 分析: linux-node1 安装 配置 启动 l ...
- SaltStack入门篇(五)之salt-ssh的使用以及LAMP状态设计部署
1.salt-ssh的使用 官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html ()安装salt-ssh [root@li ...
- SaltStack入门篇(四)之深入理解SaltStack远程执行
1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...
- SaltStack入门篇(三)之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
- SaltStack入门篇(二)之远程执行和配置管理
1.远程执行 第一条命令: [root@linux-node1 master]# salt '*' test.ping linux-node2.example.com: True linux-node ...
- SaltStack 入门到精通第三篇:Salt-Minion配置文件详解
SaltStack 入门到精通第三篇:Salt-Minion配置文件详解 作者:ArlenJ 发布日期:2014-06-09 17:52:16 ##### 主要配置设置 ##### 配置 默认值 ...
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- SaltStack入门到精通第一篇:安装SaltStack
SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙 发布日期:2014-06-09 17:50:36 实际环境的设定: 系统环境: centos6 或centos5 实验机 ...
随机推荐
- Unable to perform unmarshalling at line number 16 and column 63 in RESOURCE hibernate.cfg.xml. Message: cvc-elt.1: 找不到元素 'hibernate-configuration' 的声明。
七月 02, 2017 4:32:37 下午 org.hibernate.Version logVersionINFO: HHH000412: Hibernate Core {5.2.10.Final ...
- python中的装饰函数
在面向对象(OOP)的设计模式中,decorator被称为装饰模式.OOP的装饰模式需要通过继承和组合来实现,而Python除了能支持OOP的decorator外,直接从语法层次支持decorator ...
- D、CSL 的字符串 【栈+贪心】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)
题目传送门:https://ac.nowcoder.com/acm/contest/551#question 题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. ...
- 【JavaScript】particle
这是js实现的粒子动画,有两种模式,分别是zoom和line,它们对应的效果不同,但是原理都相同,具体分析如下: 部分程序如下: var p = this; p.originParams = orig ...
- Kali-linux破解LM Hashes密码
LM(LAN Manager)Hash是Windows操作系统最早使用的密码哈希算法之一.在Windows 2000.XP.Vista和Windows 7中使用了更先进的NTLMv2之前,这是唯一可用 ...
- Java中的类与对象
一.类与对象的概念 1.类:类是一组相同属性.方法的对象的集合:对象是类的具体化. 2.对象具有类所有的特征,类拥有的,对象就拥有. 3.类与对象他们的关系是相对的. 类有什么特点 1) 类是对象的类 ...
- oracle安装程序异常终止解决办法
安装Oracle时总是会报程序异常终止,摸不着头脑,作为初学者一下就乱了分寸 工具/原料 Oracle软件包 win764位 方法/步骤 右击Oracle安装图标setup.exe,选 ...
- [iOS]CIDetector之CIDetectorTypeFace人脸识别
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...
- iOS 利用KeyChain+ IDFV + BundleID 来作为UUID,保证传给服务端的UUID唯一
查了相关资料,发现只有KeyChain + IDFV可以保证UUID唯一,参考以下代码 , UICKeyChainStore + (NSString*)identifierForVender{ UIC ...
- ios软键盘将页面抵到上面后,关闭软键盘页面不回弹
这个问题有时候会导致弹出框确定按钮失效等一系列问题, 解决办法:失去焦点时将页面滚动到底层,或者最顶部,个人看实际情况滚动到适合位置 $('input,textarea').on('blur', fu ...