【Ansible角色编写】 📅 发布时间:2026/8/20 11:42:40 👁 浏览次数: 示例编写[devopsserver1 ansible]$ pwd/home/devops/ansible[devopsserver1 ansible]$ mkdir roles[devopsserver1 ansible]$ vim ansible.cfg[devopsserver1 ansible]$ ansible-galaxy role init apache[devopsserver1 ansible]$ cd roles[devopsserver1 roles]$ ansible-galaxy role init apache[devopsserver1 roles]$ cd apache/[devopsserver1 apache]$ rm -fr tests/[devopsserver1 apache]$ cd tasks/[devopsserver1 tasks]$ vim main.yml[devopsserver1 tasks]$ cd ../handlers/[devopsserver1 handlers]$ vim main.yml[devopsserver1 handlers]$ cd ../templates/[devopsserver1 templates]$ cp ../../../httpd.conf.j2[devopsserver1 templates]$ vim ../vars/main.ymlhttp_port: 80[devopsserver1 ansible]$ vim apache_role.yml---- hosts: webserversroles:- role: apache[devopsserver1 ansible]$ mv host_vars/ group_vars/ /tmp/[devopsserver1 ansible]$ ansible-playbook apache_role.yml控制执行顺序[devopsserver1 ansible]$ vim apache_role.yml[devopsserver1 ansible]$ ansible-galaxy collection install ansible.posix[devopsserver1 ansible]$ ansible-playbook apache_role.yml[devopsserver1 ansible]$ sudo yum install -y rhel-system-roles.noarch[devopsserver1 ansible]$ vim ansible.cfg利用系统角色重用内容[devopsserver1 timesync]$ cd /usr/share/doc/rhel-system-roles/timesync[devopsserver1 timesync]$ cp example-single-pool-playbook.yml ~/ansible/[devopsserver1 ansible]$ mv example-single-pool-playbook.yml timesync.yml[devopsserver1 ansible]$ vim timesync.yml[devopsserver1 ansible]$ ansible-playbook timesync.yml[devopsserver1 ansible]$ vim apache_role.yml[devopsserver1 ansible]$ ansible-playbook apache_role.ymlSELinux[devopsserver1 selinux]$ cd /usr/share/doc/rhel-system-roles/selinux[devopsserver1 selinux]$ cp example-selinux-playbook.yml ~/ansible/[devopsserver1 ansible]$ mv example-selinux-playbook.yml selinux.yml[devopsserver1 ansible]$ vim apache_role.yml[devopsserver1 ansible]$ vim selinux.yml[devopsserver1 ansible]$ ansible-playbook apache_role.yml部署Apache自定义82端口[devopsserver1 ansible]$ vim apache_role.yml[devopsserver1 ansible]$ vim roles/apache/vars/main.yml[devopsserver1 ansible]$ vim test_uri.yml[devopsserver1 ansible]$ ansible-playbook apache_role.yml[rootnode1 ~]# firewall-cmd --list-allansible-galaxy命令工具安装nginx[devopsserver1 ansible]$ ansible-galaxy role install nginxinc.nginx[devopsserver1 ansible]$ ansible-galaxy role install geerlingguy.nginx[devopsserver1 ansible]$ vim ansible.cfg[devopsserver1 ansible]$ vim nginx.yml[devopsserver1 ansible]$ ansible-playbook nginx.yml安装redis[devopsserver1 ansible]$ ansible-galaxy role install geerlingguy.redis[devopsserver1 ansible]$ vim nginx.yml[devopsserver1 ansible]$ ansible-playbook nginx.yml