淄博网站建设排行榜,下载建网站,安龙网站建设,网站icp备案怎么做一、Ansible目录结构介绍 1.通过rpm -ql ansible获取ansible所有文件存放的目录 有配置文件目录 /etc/ansible/ 执行文件目录 /usr/bin/ 其中 /etc/ansible/ 该文件目录的主要功能是 inventory主机信息配置#xff0c;ansible工具功能配置。 ansible自身的配置文件…一、Ansible目录结构介绍 1.通过rpm -ql ansible获取ansible所有文件存放的目录 有配置文件目录 /etc/ansible/ 执行文件目录 /usr/bin/ 其中 /etc/ansible/ 该文件目录的主要功能是 inventory主机信息配置ansible工具功能配置。 ansible自身的配置文件是ansible.cfg,其中所有的配置内容均可以在命令行通过参数的形式传递或定义在playbooks中。
二、Ansible命令用法详解 1.Ansible命令行执行的方式有Ad-Hoc临时命令执行、Ansible-playbookAd-Hoc的集合两种方式web化执行方式有Tower(10台以内免费)。 2.Ansible默认使用公私钥认证。 ssh-keygen -N -b 4096 -t rsa -C testqq.com -f /root/.ssh/stanley.rsa 随机生成公私钥对 ssh-copy-id -i /root/.ssh/stanley.rsa rootlocalhost 为本机添加密钥认证 3.Ansible 的命令格式ansible host-pattern [options](可选项) 其中host-pattern 是Inventory中定义的主机或者主机组一般可以是iphostname等 例如ansible all -m ping -u test 表示以test用户的身份执行ping命令 ansible all -m ping -u test --sudo 表示以test的身份sudo到root身份执行ping存活检测 ansible all -m ping -u test -b 表示以test身份至root身份执行ping进行存活检测上面的同效果命令的操作在新版本中已经被-b所替换 三、Ansible命令使用场景介绍 1.ansible一般用在非固化或者临时一次性的操作的命令中非固化/临时一次性操作没有规律或者是临时要做的任务 例如ansible web1 -m ping 检查服务器web1的存活情况 2.ansible-galaxy 为github的pip功能 命令格式如下 3.ansible-pull(默认使用push模式) 适用的场景是数量巨大的机器需要配置在刚启动没有网络的主机上运行ansible 4.ansible-doc 模块名 用来查看文档的用法说明 5.ansible-playbook 通过读取预先编写的playbook文件实现批量管理是ansible的任务集 例如ansible-playbook playbook.yml 表示执行playbook.yml中所有的任务集合 6.ansible-vault 用于配置文件加密 例如ansible-vault encrypt a.yml 加密a.yml 7.ansible-console 用来虚拟一个终端 四、Ansible Inventory配置及详解 1.定义主机和组 [组名]支持将同一个主机归并到多个不同的组中且以行作为单位分割配置 2.定义主机变量 上述示例是修改web服务的端口为808 3.自定义组变量 4.其他inventory参数列表 五、Ad-Hoc命令集 1.使用场景 空闲时期关闭所有不必要的服务器并对其进行健康检测 临时更新Apache和Nginx的配置文件并将其分发到所有需要更新该配置的web服务器 需要使用Ansible-playbook的场景 对新的服务器进行安装完系统之后的一些列固化的初始工作 定期对生产环境发布更新程序代码 2.Ad-Hoc命令集用法介绍 例如ansible web --list 表示列出web组所有的主机列表 ansible 10.20.40.61 -B 5 -P 2 -T 2 -m command -a sleep 20 -u root 上述命令表示以root执行sleep 20设置最大连接超时时长为2且为后台运行的模式执行过程中每2秒输出依次进度如果5s还没有还未执行完就终止该任务。 为所有的服务器安装ntp服务并设置为开机启动 ansible apps -s -m yum -a namentp statepresent ansible apps -m service -a namentpd statestarted enabledyes 上述这两条命令分别表示给所有主机安装ntp服务然后启动ntp服务并设置为开机启动
六、Ad-Hoc组管理和特定主机变更 1.一般我们需要会将负责相同场景应用的主机划分为一个组便于统一管理这是就需要组管理并且可以对组中特定的主机进行变更。 2.组配置需要编辑/etc/ansible/hosts,下图是简化后的web服务架构 3.配置Proxy和web servers实践 ansible proxy -m yum -a namenginx statepresent 利用ansible安装nginx ansible app -m yum -a namenginx statepresent ansible app -m yum -a namephp statepresent 安装nginx和php …… 同上述命令安装 mysql-python python-setuptools依赖包 ansible app -m pip -a namedjango statepresent 安装Django 同上述安装nginx命令安装后端的数据库redis 以下命令为安装mariadb的命令 以上配置命令即可配置完所有主机的应用需求 4.Ad-Hoc特定主机变更 通过limit参数限定主机做变更 ansible app -m command -a service ntpd status --limit 192.168.37.158 上述命令的作用是在app组中查看192.168.37.158的状态 ansible 192.168.37.158:192.168.37.159 -m command -a service ntpd status 上述命令的作用是查看上述两个ip地址对应的主机的ntp服务的状态
七、Ad-Hoc用户与组管理 1.ansible系统用户模块 linux系统用户管理user windows系统用户管理win_user 2.与用户相关的应用场景 新增用户:增加test用户并为其创建家目录 ansibledb -m user -a nametest shell/bin/bash groupsadmins,testgroup appendyes home/home/test/ statepresent 修改用户属组 ansibledb -m user -a nametest groupstestgroup appendno 修该用户的属性 ansibledb -m user -a nametest expires19999999 删除用户 ansibledb -m user -a nametest stateabsent removeyes 变更用户密码 ansible -m user -a nametest shell/bin/bash passwordigrjiFDF update_passwordlovexiao password后面的密码是加密后的密文 八、应用层用户管理 1.新增mysql用户test ansible db -m mysql_user -a login_hostlocalhost login_passwordxiao login_userroot nametest passwordtestxiao privzabbix.*:ALL statepresent