Saltstack
Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。Salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等.
安装
环境:
server1:172.25.24.1
server2:172.25.24.2
物理机:172.25.24.250
server1
vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.24.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[saltstack]
name=saltstack
baseurl=http://172.25.24.250/saltstack/rhel6
gpgcheck=0
yum install -y salt-master
/etc/init.d/salt-master start
server2
vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.24.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[saltstack]
name=saltstack
baseurl=http://172.25.24.250/saltstack/rhel6
gpgcheck=0
yum install -y salt-minion
vim /etc/salt/minion
/etc/init.d/salt-minion start #启动minion
server1
salt-key -L
salt-key -A # 添加全部节点 -a指定添加节点
salt server2 test.ping #这里用的是python模块
salt server2 cmd.run hostname
Salt 自动安装httpd
yum install -y python-setproctitle.x86_64
vim /etc/salt/master
mkdir /srv/salt
/etc/init.d/salt-master restart #重启master
vim /srv/salt/apache/install.sls #sls文件有严格语法要求,书写时需注意,可参考官方文档:http://docs.saltstack.cn/topics/yaml/index.html
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
salt server2 state.sls apache.install
在server2查看
server1
mkdir /srv/salt/apache/files
vim /srv/salt/apache/install.sls
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
- php-mysql
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- mode: 644
- user: root
- group: root
service.running:
- name: httpd
- enable: True
- watch:
- file: apache-install
server2
scp /etc/httpd/conf/httpd.conf server1:/srv/salt/apache/files
server1
vim /srv/salt/apache/files/httpd.conf # 修改端口为8080
salt server2 state.sls apache.install
server2
netstat -antlp | grep httpd
Nginx源码编译并启动
cd /srv/salt
mkdir pkgs
mkdir nginx/files -p #需在/srv/salt/nginx/files/ 中放入nginx源码包,配置文件和启动脚本
vim pkgs/make.sls #为避免重复,可将依赖包的安装编写在一个文件中
make:
pkg.installed:
- pkgs:
- gcc
- pcre-devel