一、另类的更改自动化apache
cd /srv/salt/apache
编写一个文件
vim lib.sls
(% set http_port = 80 %)
然后更改配置文件,在顶层写
vim httpd.conf
{% from 'apache/lib.sls' import port %}
salt server2 state.sls apache
salt server2 pillar.items
二、自动化keepalived
cd ..
mkdir keepalived
cd keepalived/
vim init.sls
kp-install:
pkg.installed:
- name: keepalived
file.managed:
- name: /etc/keepalived/keepalived.conf
- source: salt://keepalived/keepalived.conf
- template: jinja
- context:
STATE: {{ pillar['state'] }}
VRID: {{ pillar['vrid'] }}
PRI: {{ pillar['pri'] }}
service.running:
- name: keepalived
- reload: true
- watch:
- file: kp-install
然后在通过
vim keepalived.conf(从2里面来的)
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
#vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state {{ STATE }}
interface eth0
virtual_router_id {{ VRID }}
priority {{ PRI }}
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
172.25.32.100
}
}
salt server2 state.sls keepalived
cd …
cd pillar/
cp pkgs.sls kp.sls
vim kp.sls
{% if grains['fqdn'] == 'server2' %}
state: MASTER
vrid: 32
pri: 100
{% elif grains['fqdn'] == 'server3' %}
state: BACKUP
vrid: 32
pri: 50
{% endif %}
vim top.sls
base:
'*':
- pkgs
- kp
然后更改
cd apache/
vim init.sls
http_port: {{ pillar['port'] }}
http_host: 172.25.32.100
cd ..
vim top.sls
base:
'roles:apache':
- match: grain
- apache
- keepalived
'roles:nginx':
- match: grain
- nginx.service
- keepalived
salt '*' state.sls keepalived
salt '*' state.highstate
就能直接使用keepalived了
可以在真机里面
curl 172.25.32.100
如果能通就算完成
三、job缓存
1、从2中return到1
在2中修改
cd /etc/salt
vim minio
return: mysql
mysql.host: '172.25.32.1'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306
然后在1中下载数据库
yum install -y mariadb-server
systemctl start mariadb.service
mysql_secure_installation #安全数据库
然后建立数据库
test.sql从老师电脑里面拿
mysql -pwestos < test.sql
grant all on salt.* to salt@’%’ identified by ‘salt’;
给权限
然后再回2中
systemctl restart salt-minion
yum install -y MySQL-python
然后回到1中
salt server2 test.ping --return mysaql
salt server2 my_disk.df --return mysql
然后在进入
salt的数据库
select * from salt——returns;
就算完成
2、从2中return的1中传输到3
第二种传输给3
在1中
cd /etc/salt
vim master
master_job_cache: mysql
mysql.host: 'localhost'
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306
然后在把2中的注销掉
然后在数据库给权限
grant all on salt.* to salt@localhost identified by ‘salt’;
yum install -y MySQL-python
然后重启master
就可以了
salt ‘*’ test.ping
然后可以在数据库里面查看
四、salt-syndic
yum install -y salt-syndic
cd /etc/salt/
vim master
syndic_master: 172.25.32.4
把4设置为1的syndic_master
然后在4里面
设置
cd /etc/salt/
vim master
order_masters: True
systemctl start salt-master.service
salt-key -L
salt-key -A
salt '*' state.sls keepalived