机器人 救救瓜
Toggle navigation
Home
SCM-tool
Linux
Jenkins
SVN
other
About Me
Archives
Tags
环境的配置管理 chef 、 saltstack 、 docker
2020-06-10 10:57:10
790
0
0
gua_l
平时的配置管理概念默认是指都是指源代码的版本管理,这一章整理一些系统环境的配置管理 整理中。。。。。 # saltstack https://docs.saltstack.com/en/latest/ SaltStack是一种革命性的基础设施管理方法,它以速度取代了复杂性。SaltStack非常简单,可以在几分钟内运行,可扩展程度足以管理数万台服务器,速度足以在几秒钟内与每个系统通信。 ## Salt components : 官方文档 https://docs.saltstack.com/en/getstarted/overview.html ### Salt Master : Salt Master 上安装了中心管理系统,配置和指令是由master 发往minions 的 ### Salt minion : Salt minion 被管理系统上安装着Salt minion ,由Salt minion 接收来自master 的指令 ### Execution Modules 执行模块 : 从命令行对一个或多个受管理系统执行的临时命令。适用于: 1. 实时监控、状态和库存 2. 一次性命令和脚本 3. 部署关键更新 ### Formulas (States) : 系统配置的声明式或命令式表示。 ### Grains(系统变量) : (系统变量)。粒度是关于底层托管系统的静态信息,包括操作系统、内存和许多其他系统属性。还可以为任何系统定义自定义粒度。 ### Pillar (用户定义的变量) : 用户定义的变量。这些安全变量被定义并存储在Salt主服务器上,然后使用目标将其“分配”给一个或多个“仆从”。Salt pillar数据存储端口、文件路径、配置参数和密码等值。 ### Top File : 将Formulas和Pillar数据与minion进行匹配 ### Runner : 在Salt Master上执行支持任务的模块。Salt runner报告作业状态、连接状态、从外部api读取数据、查询连接的Salt minions等等。 例如,Orchestrate runner协调跨许多系统的配置部署 ### Returnner : Salt minions返回的数据发送到另一个系统,比如数据库。salt returnner 可以在salt minions 从salt Master上运行。 ![title](https://leanote.com/api/file/getImage?fileId=5f168dddab644149e600071e) ### Reactor : 当事件在您的saltstack环境中发生时触发反应。 ### Salt Cloud / Salt Virt : 在云提供商/管理程序上提供系统,并立即对其进行管理。 ### Salt ssh : 在没Salt minions 上通过SSH运行盐命令 ### 安装 软件源配置 及master 安装 ``` https://repo.saltstack.com/index.html#ubuntu Run the following command to import the SaltStack repository key: wget -O - https://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add - Save the following file to /etc/apt/sources.list.d/saltstack.list: deb http://repo.saltstack.com/py3/ubuntu/20.04/amd64/latest focal main Run sudo apt-get update Install the salt-minion, salt-master, or other Salt components: sudo apt-get install salt-master sudo apt-get install salt-minion sudo apt-get install salt-ssh sudo apt-get install salt-syndic sudo apt-get install salt-cloud sudo apt-get install salt-api (Upgrade only) Restart all upgraded services, for example: sudo systemctl restart salt-minion ``` ### 配置 #### master:/etc/salt/master ``` root@vm1:/# cat /etc/salt/master | grep -v ^$ | grep -v ^# interface: 172.0.11.153 #master IP auto_accept: True file_roots: base: - /srv/salt pillar_roots: base: - /srv/pillar pillar_opts: True nodegroups: group1: 'vm2' #minion hostname group2: 'vm3' #minion hostname ``` ``` systemctl restart salt-master.service ``` #### minion:/etc/salt/minion ``` root@vm2:~# cat /etc/salt/minion | grep -v ^$ | grep -v ^# master: vm1 id: vm2 root@vm3:~# cat /etc/salt/minion | grep -v ^$ | grep -v ^# master: vm1 id: vm3 ``` ``` systemctl restart salt-minion.service ``` ### 验证连通 master:vm1 ``` salt "*" test.ping ``` ![title](https://leanote.com/api/file/getImage?fileId=5f16b75eab644149e600095c) ### debug 如果没有连通,可用status 查看 服务的log ``` systemctl status salt-master.service systemctl status salt-minion.service ``` ### Execution command ![title](https://leanote.com/api/file/getImage?fileId=5f16b8a9ab64414bdc000a0d) ``` salt '*' cmd.run 'ls -l /etc' salt 'vm2' cmd.run 'ls -l /etc' ``` 命令形式确定哪些系统应用该命令。 : 默认情况下使用主机名通配符,但是还有许多其他选择和筛选方法,我们将在后面介绍。现在,只要知道*针对所有被管理的系统就足够了。 command (module.function): : cmd.run这就是利用Salt的真正力量的方法。命令由模块和函数组成,而Salt附带内置模块,用于安装软件、复制文件、检查服务和您希望自动化的大多数其他任务。 参数:'ls -l /etc' ,提供调用的函数所需的任何额外数据。例如,pkg.install函数喜欢知道您想要安装哪些包。你用一个参数告诉它。 常用命令: ``` salt '*' disk.usage salt '*' pkg.install cowsay salt '*' network.interfaces # 查看命令的文档 salt '*' sys.doc pkg.install ``` ---------- # chef ---------- # ansibe http://www.ansible.com.cn/docs/intro_installation.html https://docs.ansible.com/ ---------- #
Pre:
Go 笔记
Next:
Accurev Workspace 设置文件排除/只包含指定文件
0
likes
790
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.