Saltstack_使用指南01_部署

1. 主机规划


服务器名称


操作系统版本


内网IP


外网IP(模拟)


Hostname


部署模块


salt100


CentOS7.5


172.16.1.100


10.0.0.100


salt100


salt-master、salt-minion


salt01


CentOS7.5


172.16.1.11


10.0.0.11


salt01


salt-minion


salt02


CentOS7.5


172.16.1.12


10.0.0.12


salt02


salt-minion


salt03


CentOS7.5


172.16.1.13


10.0.0.13


salt03


salt-minion

Saltstack文档

1 https://docs.saltstack.com/en/latest/contents.html    

1.1. 机器hosts文件修改

salt100、salt01、salt02、salt03的hosts文件都追加如下信息。

这样主机名相互之间可以解析。

 1 [root@salt100 ~]# cat /etc/hosts
 2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 4
 5 172.16.1.11    salt01
 6 172.16.1.12    salt02
 7 172.16.1.13    salt03
 8 172.16.1.14    salt04
 9 172.16.1.15    salt05
10 172.16.1.100   salt100

2. 添加用户账号

说明:

1、  运维人员使用的登录账号;

2、  所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;

3、  该用户也可用于后期salt-ssh使用,因为几乎所有的生产环境都是禁止root远程登录的(因此进行了 sudo 提权)。

1 # 使用一个专门的用户,避免直接使用root用户
2 # 添加用户、指定家目录并指定用户密码
3 useradd -u 1050 -d /app yun && echo ‘123456‘ | /usr/bin/passwd --stdin yun
4 # sudo提权
5 echo "yun  ALL=(ALL)       NOPASSWD: ALL" >>  /etc/sudoers
6 # 让其它普通用户可以进入该目录查看信息
7 chmod 755 /app/

运维三板斧

监控

执行

配置管理

Saltstack四种运行方式

Local

Minion/Master    C/S

Syndic  代理方式

Salt SSH

3. SaltStack部署

3.1. 镜像源安装

官方镜像源查询

1 https://repo.saltstack.com/

安装镜像源

在salt100、salt01、salt02、salt03机器上执行

1 yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm

3.2. saltstack安装

根据规划在salt100安装salt的master和minion,在其他机器安装salt的minion。

在salt100上操作

yum install -y salt-master salt-minion  

在salt01、salt02、salt03上操作

yum install -y salt-minion  

版本查看

1 [root@salt100 ~]# salt --version   # master版本查看
2 salt 2018.3.3 (Oxygen)
3 [root@salt100 ~]# salt-minion --version   # minion版本查看
4 salt-minion 2018.3.3 (Oxygen)

4. 服务端启动

在salt100上执行,无需任务配置修改

1 [root@salt100 ~]# systemctl start salt-master.service 

5. 客户端启动

在salt100、salt01、salt02、salt03上操作

5.1. 修改minion配置文件

配置修改原因:

1、  minion端指向的master是哪个

2、  minion端的ID是什么

 1 [root@salt100 salt]# pwd
 2 /etc/salt
 3 [root@salt100 salt]# vim minion
 4 ………………
 5 # 可以是IP或者hostname
 6 # 如果是hostname那么必须能够解析【最佳实践配置为 主机名】
 7 master: salt100
 8 ………………
 9 # Explicitly declare the id for this minion to use, if left commented the id
10 # will be the hostname as returned by the python call: socket.getfqdn()
11 # Since salt uses detached ids it is possible to run multiple minions on the
12 # same machine but with different ids, this can be useful for salt compute
13 # clusters.
14 # 如果id不配置,那么默认为hostname
15 # 如果下次要更改该配置,那么要把 /etc/salt/minion_id 也给删除掉,并重启客户端【会生成一个新的minion_id】
16 #id:
17 ………………

5.2. 启动minion服务

1 [root@salt100 ~]# systemctl start salt-minion.service 

6. 加入开机自启动

master开机自启动

systemctl enable salt-master.service

minion开机自启动

1 systemctl enable salt-minion.service

7. master接受minion

7.1. master和minion启动后生成的pki信息

salt100上的信息

 1 [root@salt100 salt]# pwd
 2 /etc/salt
 3 [root@salt100 salt]# ll
 4 total 128
 5 -rw-r----- 1 root root  2926 Oct  8 23:56 cloud
 6 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.conf.d
 7 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.deploy.d
 8 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.maps.d
 9 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.profiles.d
10 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.providers.d
11 -rw-r----- 1 root root 51532 Oct  8 23:56 master
12 drwxr-xr-x 2 root root     6 Oct  9 00:42 master.d
13 -rw-r----- 1 root root 36072 Nov 25 23:01 minion
14 drwxr-xr-x 2 root root     6 Oct  9 00:42 minion.d
15 -rw-r--r-- 1 root root     7 Nov 25 23:05 minion_id
16 drwxr-xr-x 4 root root    34 Nov 25 22:41 pki
17 -rw-r----- 1 root root 28162 Oct  8 23:56 proxy
18 drwxr-xr-x 2 root root     6 Oct  9 00:42 proxy.d
19 -rw-r----- 1 root root   344 Oct  8 23:56 roster
20 [root@salt100 salt]# tree pki/
21 pki/
22 ├── master
23 │   ├── master.pem
24 │   ├── master.pub
25 │   ├── minions
26 │   ├── minions_autosign
27 │   ├── minions_denied
28 │   ├── minions_pre   # master还未进一步认证【接受或拒绝】,minion的公钥都先放在这里
29 │   │   ├── salt01
30 │   │   ├── salt02
31 │   │   ├── salt03
32 │   │   └── salt100
33 │   └── minions_rejected
34 └── minion
35     ├── minion.pem
36     └── minion.pub
37
38 7 directories, 8 files

salt03上的信息

 1 [root@salt03 salt]# pwd
 2 /etc/salt
 3 [root@salt03 salt]# ll
 4 total 128
 5 -rw-r----- 1 root root  2926 Oct  8 23:56 cloud
 6 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.conf.d
 7 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.deploy.d
 8 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.maps.d
 9 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.profiles.d
10 drwxr-xr-x 2 root root     6 Oct  9 00:42 cloud.providers.d
11 -rw-r----- 1 root root 51532 Oct  8 23:56 master
12 drwxr-xr-x 2 root root     6 Oct  9 00:42 master.d
13 -rw-r----- 1 root root 36000 Nov 25 23:12 minion
14 drwxr-xr-x 2 root root     6 Oct  9 00:42 minion.d
15 -rw-r--r-- 1 root root     6 Nov 25 23:12 minion_id
16 drwxr-xr-x 4 root root    34 Nov 25 22:41 pki
17 -rw-r----- 1 root root 28162 Oct  8 23:56 proxy
18 drwxr-xr-x 2 root root     6 Oct  9 00:42 proxy.d
19 -rw-r----- 1 root root   344 Oct  8 23:56 roster
20 [root@salt03 salt]# tree pki/
21 pki/
22 ├── master
23 └── minion
24     ├── minion.pem
25     └── minion.pub
26
27 2 directories, 2 files

salt100上的salt-key信息

1 [root@salt100 salt]# salt-key
2 Accepted Keys:
3 Denied Keys:
4 Unaccepted Keys:
5 salt01
6 salt02
7 salt03
8 salt100
9 Rejected Keys:

7.2. master接受minion

7.2.1. 单个接受

 1 [root@salt100 salt]# salt-key -a salt01  # 单个接受
 2 The following keys are going to be accepted:
 3 Unaccepted Keys:
 4 salt01
 5 Proceed? [n/Y] y
 6 Key for minion salt01 accepted.
 7 [root@salt100 salt]# salt-key
 8 Accepted Keys:
 9 salt01
10 Denied Keys:
11 Unaccepted Keys:
12 salt02
13 salt03
14 salt100
15 Rejected Keys:

7.2.2. 通配符接受

 1 [root@salt100 salt]# salt-key -a salt0*
 2 The following keys are going to be accepted:
 3 Unaccepted Keys:
 4 salt02
 5 salt03
 6 Proceed? [n/Y] y
 7 Key for minion salt02 accepted.
 8 Key for minion salt03 accepted.
 9 [root@salt100 salt]# salt-key
10 Accepted Keys:
11 salt01
12 salt02
13 salt03
14 Denied Keys:
15 Unaccepted Keys:
16 salt100
17 Rejected Keys:

7.2.3. 接受所有minion

 1 [root@salt100 salt]# salt-key -A
 2 The following keys are going to be accepted:
 3 Unaccepted Keys:
 4 salt100
 5 Proceed? [n/Y] y
 6 Key for minion salt100 accepted.
 7 [root@salt100 salt]# salt-key
 8 Accepted Keys:
 9 salt01
10 salt02
11 salt03
12 salt100
13 Denied Keys:
14 Unaccepted Keys:
15 Rejected Keys:

7.3. master接受minion之后的pki信息

salt100上的信息

 1 [root@salt100 salt]# pwd
 2 /etc/salt
 3 [root@salt100 salt]# tree pki/
 4 pki/
 5 ├── master
 6 │   ├── master.pem
 7 │   ├── master.pub
 8 │   ├── minions   # minion的公钥从minions_pre 移到了此目录
 9 │   │   ├── salt01
10 │   │   ├── salt02
11 │   │   ├── salt03
12 │   │   └── salt100
13 │   ├── minions_autosign
14 │   ├── minions_denied
15 │   ├── minions_pre
16 │   └── minions_rejected
17 └── minion
18     ├── minion_master.pub  # 接受了来自master的公钥
19     ├── minion.pem
20     └── minion.pub
21
22 7 directories, 9 files

salt03上的信息

1 [root@salt03 salt]# tree pki/
2 pki/
3 ├── master
4 └── minion
5     ├── minion_master.pub  # 接受了来自master的公钥
6     ├── minion.pem
7     └── minion.pub
8
9 2 directories, 3 files

8. 测试结果

1 [root@salt100 salt]# salt ‘*‘ test.ping  # 看master可以控制哪些minion
2 salt02:
3     True
4 salt03:
5     True
6 salt01:
7     True
8 salt100:
9     True

完毕!

原文地址:https://www.cnblogs.com/zhanglianghhh/p/10597456.html

时间: 2024-08-05 12:15:02

Saltstack_使用指南01_部署的相关文章

Saltstack_实战指南01_系统规划

1. 实战项目GitHub地址 之前<Saltstack_使用指南>详细讲解了saltstack的使用.那么从这节开始实战讲解,当然不会再像之前那样详细说明了.只是讲一些系统规划之类的信息. 具体的项目代码请参见GitHub. 该项目已经放在了GitHub上,地址如下: https://github.com/zhanglianghhh/salt-example-lnmp 2. 主机规划 说明: 上述的salt03-web.salt04-web.salt05-web.salt150-master

Saltstack_使用指南17_salt-ssh

1. 主机规划 salt 版本 1 [[email protected] ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [[email protected] ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt ssh文档 https://docs.saltstack.com/en/latest/topics/ssh/index.html 2. salt-ssh实现步骤 2.1.

Saltstack_实战指南02_各主机Pillar信息指定

1. 实战项目GitHub地址 该项目已经放在了GitHub上,地址如下: https://github.com/zhanglianghhh/salt-example-lnmp 2. 主机规划 3. pillar的整体目录结构 1 [[email protected] pillar]# pwd 2 /srv/pillar 3 [[email protected]master pillar]# ll 4 total 4 5 drwxr-xr-x 2 root root 62 Mar 10 17:2

Kubernetes(k8s)生产级实践指南 从部署到核心应用

第1章 课程简介[学前须知]本章对这门课程进行说明,包括:课程整体设计思路.课程使用的技术介绍.课程的学习规划.高效学习的方式方法等. 第2章 kubernetes快速入门[k8s必知必会]本章中将从核心概念.架构设计.认证授权以及集群搭建方案对比几方面,带领大家快速掌握kubernetes的重要知识点,助力快速入门. 第3章 高可用集群搭建---kubeadm方式[集群落地方案1]本章中将讲解,如何使用kubeadm自动化的方式,搭建最新版本的kubernetes高可用集群.以三个master

Tungsten Fabric与K8s集成指南丨部署准备与初始状态

Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍K8s组件和Tungsten Fabric组件部署的准备工作,以及运行的初始状态.Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识.大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系. 说明:文中部分内容涉及到"Contrail",Tungsten Fabric原名为OpenContrail,

四 Lync Server 2013 部署指南-前端部署(1)

4.1.Lync先决条件安装 部署Lync Server 2013的前端服务器,我们需要在做前端服务器的机器上安装一些Lync必备的一些组件,具体如下: 1.安装.netframework 4.5 2.安装powershell 3.0 3.安装消息列队和桌面体验: 重启服务器以完成以上组件的安装,如下图: 4.再安装IIS的相关组件: 运行Windows Powershell,输入以下命令: Import-Module ServerManager 5.安装IIS相关组件: Add-Windows

四 Lync Server 2013 部署指南-前端部署(2)

4.3.Lync 2013部署 运行Lync2013安装程序,点击"安装或更新Lync Server 系统" 1.安装本地配置存储" 执行命令成功; 2.安装Lync Server组件; 下一步,执行安装直至完成,大概30分钟,如下图; 完成后,继续进行下一步操作. 3.请求.安装和分配证书,如下图: 请求证书; 下一步,选择立即发送: 下一步,选择证书颁发机构(CA): 下一步,本环境中没有替代凭据,直接下一步: 下一步,设置证书名称: 下一步,填写组织和地理信息,根据公司

五 Lync Server 2013 部署指南-边缘部署

前一章节已对前端服务器部署完成,内网已可以使用Lync,要能够通过外网使用Lync 2013,我们就需要部署边缘服务器,并将Lync发布到外网. 5.1.系统环境准备与先决条件安装 5.1.1  DNS准备 由于内外网域名不一致,需要在内部DNS服务器添加外部域名区域. 1.        打开DNS服务器,新建区域 选择[主要区域],如下图: 定义新区域的名称: 添加与Lync相关的A记录到新建区域xx.com,如下图: 2.        在xx.local区域添加边缘服务器内部网卡IP地址

Saltstack_使用指南04_数据系统-Grains

1. 主机规划 服务器名称 操作系统版本 内网IP 外网IP(模拟) Hostname 部署模块 salt100 CentOS7.5 172.16.1.100 10.0.0.100 salt100 salt-master.salt-minion salt01 CentOS7.5 172.16.1.11 10.0.0.11 salt01 salt-minion salt02 CentOS7.5 172.16.1.12 10.0.0.12 salt02 salt-minion salt03 Cent