Ansible组件-ansible ad-hoc命令
1、包管理。
1> 为所有被管理机器设置zabbix yum源码,其中baseurl='https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/'
2> 为所有被管理机器安装nginx。
2、服务管理。
为所有被管理机器启动nginx并设置开机自启动。
3、用户管理。
1> 为所有被管理机器添加用户组openlab,要求为系统组。
2> 为所有被管理机器添加用户bob,要求为系统用户,附加组为openlab。
3> 为所有被管理机器bob用户生成**对。
4、文件管理。
1> 为所有被管理机器创建/data目录。
2> 为所有被管理机器/data下创建权限为777的aaa.txt文件。
3> 为所有被管理机器aaa.txt 文件创建软链接文件,软链接名为 aaa_link.txt。
4> 将Ansible管理主机的/etc/hosts文件拷贝至被管理机器/opt目录。
5> 将Ansible管理主机上的nginx包解压至被管理机器/opt目录。
6> 配置所有被管理机器SELinux为 permissive。
7> 将http://nginx.org/download/nginx-1.17.8.tar.gz下载到所有被管理机器/opt目录。
8> 将Ansible管理主机/data目录推送到目标主机的/opt目录下,使用此模块需要先安装rsync服务,并删除不存在的文件,使两边的内容一样。
5、系统管理模块。
1> 每天8点钟进行nginx的/usr/share/nginx/html备份。
2> 删除以上计划任务。
7、防火墙管理。
[[email protected] ansible]# ansible all -m service -a 'name=firewalld state=started enabled=true'
先开启防火墙
1> 配置允许https服务并立即生效。
2> 配置允许tcp 80端口并立即生效。
3> 配置富规则:允许本网段用户访问web应用。
8、系统信息模块。
查看目标主机的一些信息。
ansible all -m setup列出全部信息
ansible_hostname:仅显示主机名
其他常用信息列出如下:
ansible_all_ipv4_addresses:仅显示ipv4的信息。
ansible_devices:仅显示磁盘设备信息。
ansible_distribution:显示是什么系统,例:centos,suse等。
ansible_distribution_major_version:显示是系统主版本。
ansible_distribution_version:仅显示系统版本。
ansible_machine:显示系统类型,例:32位,还是64位。
ansible_eth0:仅显示eth0的信息。
ansible_hostname:仅显示主机名。
ansible_kernel:仅显示内核版本。
ansible_lvm:显示lvm相关信息。
ansible_memtotal_mb:显示系统总内存。
ansible_memfree_mb:显示可用系统内存。
ansible_memory_mb:详细显示内存情况。
ansible_swaptotal_mb:显示总的swap内存。
ansible_swapfree_mb:显示swap内存的可用内存。
ansible_mounts:显示系统磁盘挂载情况。
ansible_processor:显示cpu个数(具体显示每个cpu的型号)。
ansible_processor_vcpus:显示cpu个数(只显示总的个数)。
9、磁盘管理。
前提:事先为被管理机器添加一块5G硬盘。
1> 使用parted模块创建一个500M主分区。
2> 使用parted模块创建一个类型为lvm的1G分区。
m
3> 使用lvg模块利用上面的lvm类型分区创建一个名为myvg的卷组。
4> 使用lvol模块在myvg卷组上创建一个名为mylv的逻辑卷,大小为500M。
5> 使用filesystem模块为mylv逻辑卷创建xfs文件系统。
6> 为被管理机器创建挂载点/tools。
7> 挂载mylv到/tools,并设置开机自动挂载。