ansible中role角色的应用

news/2024/12/29 5:56:47/

在这里插入图片描述
[root@foundation50 .ansible]# vim ansible.cfg 在这里插入图片描述
[root@foundation50 .ansible]# mkdir /root/.ansible/roles 建立指定的目录
[root@foundation50 .ansible]# ansible-galaxy list 列出roles
[root@foundation50 .ansible]# cd /root/.ansible/roles/ 进入roles目录
[root@foundation50 roles]# ansible-galaxy init apache

在这里插入图片描述
[root@foundation50 apache]# cd vars/ 进入变量目录
[root@foundation50 vars]# vim main.yml 编辑文件在这里插入图片描述

[root@foundation50 apache]# vim tasks/  进入tasks目录
[root@foundation50 tasks]# vim main.yml  编辑文件 ,不需要缩进1 ---2 # tasks file for apache3 - name: install apache4   dnf:5    name: httpd6    state: latest7 - name: config apache   都顶格写8   lineinfile:                                                               9     path: /etc/httpd/conf/httpd.conf10     regexp: "^Listen"11     line: "listen{{PORT}}"12   notify: restart apache13   changed_when: true14 15 - name: start apache  定格16   service:17     name: httpd18     state: started19     enabled: yes                                                          [root@foundation50 apache]# cd handlers/   进入触发器目录
[root@foundation50 handlers]# vim main.yml  编辑文件         
---
# handlers file for apache
- name: restart apacheservice:name: httpdstate: restarted[root@foundation50 ~]# cd .ansible/  
[root@foundation50 .ansible]# vim roles.yml   
---
- name: test roleshosts: westosroles: - apache    如果有多个角色,依次在后面加
[root@foundation50 .ansible]# ansible-playbook  roles.yml  运行角色的作用:把playbook片段全部拆开,放到该方的位置,不会因为playbook过长而导致缩进出现问题 ,不需要缩进全是定格

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@foundation50 .ansible]# ansible-galaxy collection install nginxinc.nginx_core  下载
[root@foundation50 .ansible]# cd collections/  
[root@foundation50 collections]# ls
ansible_collections
[root@foundation50 collections]# cd ansible_collections/
[root@foundation50 ansible_collections]# ls
nginxinc
[root@foundation50 ansible_collections]# cd nginxinc/
[root@foundation50 nginxinc]# ls
nginx_core
[root@foundation50 nginxinc]# cd nginx_core/
[root@foundation50 nginx_core]# ls
CHANGELOG.md        docs        MANIFEST.json  plugins
CODE_OF_CONDUCT.md  FILES.json  meta           README.md
CONTRIBUTING.md     LICENSE     playbooks      roles
[root@foundation50 nginx_core]# cd roles/
[root@foundation50 roles]# ls
nginx  nginx_app_protect  nginx_config    nginx所有资源
[root@foundation50 roles]# cp -r * /root/.ansible/roles   将nginx资源复制到 /root/.ansible/roles 指定的角色目录里面
[root@foundation50 roles]# ls /root/.ansible/roles
apache  nginx  nginx_app_protect  nginx_config
[root@foundation50 roles]# ansible-galaxy list  列出角色
# /root/.ansible/roles
- apache, (unknown version)      nginx角色已经存在了
- nginx, (unknown version)
- nginx_app_protect, (unknown version)
- nginx_config, (unknown version)
# /usr/share/ansible/roles
# /etc/ansible/roles

安装自己的包

[root@foundation50 roles]# ls
apache  nginx  nginx_app_protect  nginx_config  
[root@foundation50 roles]# tar zcf apache.tar.gz apache   打包apache
[root@foundation50 roles]# rm -fr apache
[root@foundation50 roles]# ls
apache.tar.gz  nginx  nginx_app_protect  nginx_config 
[root@foundation50 ~]# cd .ansible/
[root@foundation50 .ansible]# ansible-galaxy list  没有apache角色
# /root/.ansible/roles
- nginx, (unknown version)
- nginx_app_protect, (unknown version)
- nginx_config, (unknown version)
[root@foundation50 .ansible]# mv apache.yml /mnt/   移动到/mnt里
[root@foundation50 .ansible]# vim install_role.yml  
---
- src: file:///mnt/apache.tar.gz    压缩包的位置  ,此处源也可以是互联网地址name: westos   安装解压后的名字
[root@foundation50 .ansible]# ansible-galaxy install -r install_role.yml   安装
- downloading role from file:///mnt/apache.tar.gz
- extracting westos to /root/.ansible/roles/westos
- westos was installed successfully
[root@foundation50 roles]# ls
nginx  nginx_app_protect  nginx_config  westos  角色westos已经下载成功
[root@foundation50 roles]# 

http://www.ppmy.cn/news/402169.html

相关文章

hualinxu ext zbx 1.2:centos8搭建zabbix5.0(手把手 带注解)

目录 一、实验环境 1.1 环境说明 1.2 准备工作(所有) 1.3 所涉及的软件及版本 1.3.1 zabbix体系结构 1.3.2 安装zabbix所需的软件 二、zabbix服务端安装lnmp(dnf) 2.1 安装nignx(dnf) 2.1.1 安装nginx(dnf) 2.1.2 安装指定版本nginx&#xff…

Linux yum/dnf工具

yum/dnf工具 1、yum/dnf工具简介 yum工具(yellowdog update manager)基于RPM进行开发。最大的优势就是能够解决rpm包的依赖问题;yum能够自动解决软件安装时的依赖关系。有优势就有劣势;yum工具也有缺点,如果在未完成…

Linux基础学习(十三)之软件管理

软件管理 1、Linux中软件包的类型2、安装包的名称含义3、管理软件包命令rpm4、本地软件仓库的搭建5、软件管理命令dnf6、网络软件仓库的搭建6、epel源7、第三方软件仓库的搭建方法 1、Linux中软件包的类型 一般软件包的类型有三种: 1、DEB格式,支持优班…

第十二章:磁盘管理

管理交换分区 命令、功能 mkswap 分区设备名 将指定的分区格式化为swap交换文件系统 swapon 交换分区设备名 | -a 启用(或激活)指定的交换分区或所有交换分区 swapoff 交换分区设备名 | -a 禁用指定的交换分区或所有交换分区 swapon -s 查看交换分区的使用情况 fr…

27 日志服务管理

文章目录 27 日志服务管理本章内容日志介绍日志管理日志管理工具journalctl基于MYSQL的日志loganalyzer展示日志:php程序logrotate日志存储 1 系统日志管理1.1 系统日志介绍将系统和应用发生的事件记录至日志中,以助于排错和分析使用:日志记录…

Linux联网,自用

我怀疑是DHCP的问题,我的连接方式不是static,是DHCP 的方式,我主机的dhcp一直是开着的,我怀疑是虚机的dhcp没有打开导致的, 也有可以是主机dhcp需要重新启动,但是这种概率不大,我下周试试 能连…

Linux系统下,修改用户名、主机名、配置静态IP地址

1.修改用户名:将CentOS7系统中的“ third ”用户修改为“ csdn ”用户 1.1 进入root 用户下 ,修改 /etc/passwd 用户信息文件,将third 替换成 csdn vim /etc/passwd 1.2 修改 /etc/group 组信息文件,将third 替换成 csdn vim /e…

记录:CentOS安装配置MySQL8

目录 1、安装 MySQL81.1、安装 mysql 和 mysql-devel1.2、安装 mysql-server1.3、安装完成查看已安装的包1.4、重启mysql服务1.5 、查看初始化的密码1.6、登录MYSQL 2、安装完成后的配置2.1、修改密码2.2、修改密码规则2.3、开启用户远程访问2.4、Navicat测试连接 3、忘记密码怎…