Ansible自动化运维 学习笔记
这里写目录标题
Ansible简介
Inventory 要被管理主机的清单
CMDB储存收集到的信息
Ansible安装与配置
. CentOS6.x或者CentOS7.x安装前,需先安装epel扩展源如下
yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install ansible -y
安装成功
配置
写入你需要操作的主机ip和登录用户名密码
增加权限
fork 执行任务的并发数
sudo_user(become最新名字) 用户权限
remote_port 操作主机的默认端口
host_key_checking 连接操作是否检查指纹
Inventory主机清单
切换到马哥教育去 上面一个真不咋样
简介
默认配置
常用配置
# absibed使用和模块深入解析
在被管理的主机中新建文件
创建一个新文件
ansible系列命令之ansible-galaxy
#下载安装galaxy
ansible-galaxy install ajsalminen.hosts
#列出所有已安装的galaxy
ansible-galaxy list
ansible系列命令之ansible-pull
ansible系列命令之ansible-palybook
编写一个 yaml文件
上面的有点问题
正式学习之前先学习一下其他命令
加密playbook文件
现在开始正式学习playbook
playbook 核心元素
中文文档
www.ansible.com.cn
例子
-C检查一下 模拟跑一下 类似k8s的 --dry-run
软链接和硬链接
nsible-palybook 高级
一个标签可可应绑定多个任务
脚本内直接定义变量
在/etc/ansible/hosts中定义变量
公共组变量
通过setup 查看一些系统自带的变量
可以写一个专门存放变量的yaml文件
通过ansible template(模板)管理nginx
nginx默认通过cpu个数生成线程数 每个主机环境不同 软件的配置信息也不同
新建一个模板文件夹 将nginx的配置文件复制进来
service写错了 是state=start
因为我的被操作主机CPU是1核 只有一个worker节点
修改配置 通过cpu变量修改
修改配置信息的port
when实例
迭代实例
多条件迭代
定义一个变量文件
也可以用这种方式
进阶方式
for +if
role
建立一个role的文件夹
官方推荐路径 /etc/ansible/
用role 实现下面需求
roles文件夹新建nginx文件夹
文件夹中新建task目录和yaml文件
user.yaml
yum.yaml
start.yaml
restart.yaml
修改模板
编写templ.yaml
文件都出来了 但是顺序很混乱
编写 main.ymal 定义顺序
调用roles的文件需要和roles同目录
当前有两个角色
将两个角色部署到一台主机上
执行即可
跨角色调用
现在nginx想调用httpd的服务
给角色加标签
给角色加条件
来一个大综合实例
这里Hadler应该是 main.yml