Ansible3.0

负载均衡
安装haproxy
在这里插入图片描述
编写playbook.yml
在这里插入图片描述

cd /etc/haproxy/
编写haproxy.cfg
添加监控及认证
在这里插入图片描述
其它
在这里插入图片描述
systemctl start haproxy
查看端口可以看到80端口
在这里插入图片描述
关闭火墙
此时在网页中访问172.25.254.1/status看到server2与server3的后台状况
在这里插入图片描述
当关闭server2的httpd时,server2的后台条会变红
在这里插入图片描述
使用curl 172.25.254.1命令也只能看到server3
在这里插入图片描述
当再次执行playbook.yml时,会再次看到后台条变绿,使用curl 172.25.254.1命令看到server2和server3
在这里插入图片描述

编写haproxy.yml
在这里插入图片描述
开启火墙
cp /etc/haproxy/haproxy.cfg .
执行ansible-playbook haproxy.yml
在这里插入图片描述
此时仍可以在网页中访问到172.25.254.1/status
在这里插入图片描述

魔术变量(通过其自动添加节点)

cp haproxy.cfg haproxy.cfg.j2
vim haproxy.cfg.j2
在这里插入图片描述
在playbook.yml的最后加上
在这里插入图片描述
执行ansible-playbook playbook.yml
在这里插入图片描述
此时在/etc/haproxy/haproxy.xfg中以及写好了
在这里插入图片描述
新创建一个虚拟机server4
建立用户devops并让其密码为westos
visudo
在server1中,将公钥发送给server4的devops用户
然后编写/mnt/ansible/hosts
在这里插入图片描述
vim haproxy.yml
在这里插入图片描述
注:restarted换成reloaded更好,损耗更小
然后执行 ansible-playbook playbook.yml
此时就可以得到server4的后台
在这里插入图片描述
cd /mnt/ansible
mkdir group_vars
cd group_vars
mkdir webserver
cd webserver
vim vars
在这里插入图片描述
vim playbook.yml
在这里插入图片描述
scp 172.25.254.2:/etc/httpd/conf/httpd.conf httpd.conf.j2
vim httpd.conf.j2
在这里插入图片描述
执行ansible-playbook playbook.yml
安装tree,执行tree . 可以看到/mnt/ansible的结构
在这里插入图片描述
mkdir host_vars/server2
touch host_vars/server2/vars
touch host_vars/server2/vault
vim host_vars/server2/vars
在这里插入图片描述
执行ansible-playbook playbook.yml
此时发现几个主机的端口号并没有变为80
vim playbook.yml
在这里插入图片描述
执行ansible-playbook playbook.yml
此时发现端口号变为80
playbook.yml的优先级最高

vim playbook.yml
在这里插入图片描述
vim host_vars/server2/vars
在这里插入图片描述
执行ansible-playbook playbook.yml
此时发现端口号变为8080

cd host_vars/
mv server2/ 172.25.254.2 ##将文件名与hosts中的内容对应
cd 172.25.254.2/
vim vault
passwd: westos
对文件进行加密
ansible-vault encrypt vault
此时查看vault文件时就不能看到内容
在这里插入图片描述
vim playbook.yml
在这里插入图片描述
执行ansible-playbook playbook.yml --ask-vault-pass
此时在server2中查看/etc/shadow就是加密的
在这里插入图片描述
vim host_vars/172.25.254.2/vars
在这里插入图片描述
vim playbook.yml在这里插入图片描述
此时执行ansible-playbook playbook.yml --ask-vault-pass就会跳过server2和server4
在这里插入图片描述
vim playbook.yml
在这里插入图片描述
vim group_vars/webserver/vars
vim host_vars/172.25.254.2/vars
在这里插入图片描述
执行ansible-playbook playbook.yml --ask-vault-pass
此时server2的端口为8080,server3和server4的端口号为80
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
主机变量高于组变量

自注册变量

vim haproxy.cfg.j2
在这里插入图片描述
vim playbook.yml
在这里插入图片描述
echo westos > web_pass
chmod 600 web_pass
ansible-playbook playbook.yml --vault-password-file web_pass
此时在/etc/haproxy/haproxy.cfg中就自动修改
在这里插入图片描述

block

vim playbook.yml 在这里插入图片描述
执行ansible-playbook playbook.yml --vault-password-file web_pass

vim block.yml
在这里插入图片描述
ansible-playbook block.yml
在这里插入图片描述
当block有错误时,直接输出rescue的内容

vim block.yml
在这里插入图片描述
ignore会忽略错误继续执行
在这里插入图片描述
vim block.yml
在这里插入图片描述
always当存在错误会执行
在这里插入图片描述
当忽略错误时也会执行
vim block.yml
在这里插入图片描述
在这里插入图片描述

自定义变量

vim test.yml
在这里插入图片描述
ansible-playbook test.yml

注册变量

vim test.yml
在这里插入图片描述
ansible-playbook test.yml

vim test.yml
在这里插入图片描述
ansible-playbook test.ymlh=后可以得到westos
在这里插入图片描述

角色

mkdir roles
vim ansible.cfg
在这里插入图片描述
ansible-galaxy list就可以列出
在这里插入图片描述
cd roles/
ansible-galaxy role init apache ##生成新的目录
在这里插入图片描述
cd /roles/apache
vim tasks/main.yml
在这里插入图片描述
vim handlers/main.yml
在这里插入图片描述
cp /mnt/ansible/httpd.conf.j2 templates/

vim playbook1.yml
在这里插入图片描述
ansible-playbook playbook1.yml
此时server2的端口号没变
vim roles/apache/vars/main.yml
在这里插入图片描述
此时server2的端口号变为80
说明main.yml的优先级最高

cd roles/
ansible-galaxy init haproxy
cd haproxy/
vim tasks/main.yml
在这里插入图片描述
vim handlers/main.yml在这里插入图片描述
cp /mnt/ansible/haproxy.cfg.j2 templates/
vim playbook1.yml
在这里插入图片描述
ansible-playbook playbook1.yml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值