nginx的role理解 ansible开发运维 不错文档
1.整体文件框架
2.调用主机和目标任务
[root@ks-allinone myansible_roles]# cat elasticsearch_service.yml --- - hosts: huidu roles: - role: elasticsearch
3.es配置
[root@ks-allinone elasticsearch]# cat files/elasticsearch.yml cluster.name: do1 node.name: node-1 path.data: /wxqyh/component/elasticsearch-6.2.2/data path.logs: /wxqyh/component/elasticsearch-6.2.2/logs network.host: 0.0.0.0 http.port: 9200
4.安装es步骤
[root@ks-allinone elasticsearch]# cat tasks/main.yml - include_tasks: install.yml - include_tasks: config.yml - include_tasks: start.yml
[root@ks-allinone elasticsearch]# cat tasks/install.yml - name: useradd esuser shell: useradd esuser - name: unpackage software shell: tar -zxf /wxqyh/soft/elasticsearch-6.2.2.tar.gz -C /wxqyh/component/ - name: mkdir -p data shell: mkdir -p /wxqyh/component/elasticsearch-6.2.2/data - name: mkdir -p logs shell: mkdir -p /wxqyh/component/elasticsearch-6.2.2/logs - name: change permission shell: chown -R esuser.esuser /wxqyh/component/elasticsearch-6.2.2/ - name: max map count shell: grep "vm.max_map_count" /etc/sysctl.conf || echo "vm.max_map_count = 655360" >> /etc/sysctl.conf - name: soft nofile shell: grep 'esuser soft nofile 65535' /etc/security/limits.conf || sed -i '$i esuser soft nofile 65536' /etc/security/limits.conf - name: hard nofile shell: grep 'esuser hard nofile 65535' /etc/security/limits.conf || sed -i '$i esuser hard nofile 65536' /etc/security/limits.conf - name: sysctl -p shell: sysctl -p - name: plugin install shell: /wxqyh/component/elasticsearch-6.2.2/bin/elasticsearch-plugin install file:////wxqyh/soft/elasticsearch-analysis-ik-6.2.2.zip
[root@ks-allinone elasticsearch]# cat tasks/start.yml - name: start es service shell: su esuser -c "/wxqyh/component/elasticsearch-6.2.2/bin/elasticsearch -d &" [root@ks-allinone elasticsearch]#
参考: http://www.zhangblog.com/2020/01/09/ansible-12/
------------------------------------------------------------------------------------------
1.role的目录结构
[root@frontend-1 my_test_role]# tree . |-- gccrole | `-- tasks | `-- main.yaml |-- nginxrole | `-- tasks | `-- main.yml `-- test.yml 4 directories, 3 files
2.task的内容
[root@frontend-1 my_test_role]# cat nginxrole/tasks/main.yml - debug: msg: "{{ nginx_var }}" - name: yum install nginx yum: name: nginx state: present
3.主执行文件
[root@frontend-1 my_test_role]# cat test.yml --- - hosts: frame vars: - nginx_var: "good_problem" - gcc_var: "gcc_problem" roles: - nginxrole - gccrole
4.role的标准规范
1.在编写处理nginx的playbook时,会创建一个名叫nginxrole的文件夹 2.nginx的目录中创建一些子目录,比如,task目录、temp目录、default目录 3.将一些安装配置的任务剧本放在task目录中 4.会用到的模板文件放到temp目录中 5.把nginx的相关配置过程抽象成一个nginx角色,以便下次需要进行同样的配置时,调用这个角色
用一个例子来演示会更加清晰
分类:
ansible-自动化运维
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-05-26 多线程简单案例 - join( ) -lock()