ansible palybook
Ansible
# ansible 简介
Ansible是一种常用的自动运维化工具,基于python开发,分布式,无需客户端,轻量级,配置语言采用YAML
# Ansible 特点1.模块化:调用特定的模块,完成特殊的任务2.Paramiko(python对ssh的实现),PyYaml,jinja2(模块语言)三个关键模块3.支持自定义模块,可使用任何编程语言写模块4.基于python语言实现5.部署简单,基于python和SSH(默认已安装),agentless,无需代理不依赖KPI(无需SSL)6.安全,基于OpenSSH7.幂等性:一个任务执行一次和执行n遍效果一样,不因重复执行带来意外情况8.支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构9.较强大的多层解决方案role
# Ansible 作用目标1.自动化部署APP2.自动化管理配置项3.自动化的持续交付4.自动化的云服务管理
# Ansible命令执行来源1> USER,普通用户,即SYSTEM ADMINISTRATOR2> CMDB(配置管理数据库) API 调用3> PUBLIC/PRIVATE CLOUD API调用 (公有私有云的API接口调用)4> USER-> Ansible Playbook -> Ansibile
# Ansible实现管理的方式1> Ad-Hoc 即ansible单条命令,主要用于临时命令使用场景2> Ansible-playbook 主要用于长期规划好的,大型项目的场景,需要有前期的规划过程
# Ansible-playbook(剧本)执行过程将已有编排好的任务集写入Ansible-Playbook通过ansible-playbook命令分拆任务集至逐条ansible命令,按预定规则逐条执行
# Ansible主要操作对象HOSTS主机NETWORKING网络设备
# Ansible注意事项执行ansible的主机一般称为主控端,中控,master或堡垒机主控端Python版本需要2.6或以上被控端Python版本小于2.4需要安装python-simplejson被控端如开启SELinux需要安装libselinux-pythonwindows不能做为主控端 ansible不是服务,不会一直启动,只是需要的时候启动
# Ansible 安装yum -y install epel-releasednf -y install epel-release
Ansible playbook
# playbook 简介playbook是ansible用于配置,部署,和管理被节点的剧本通过playbook的详细描述,执行其中的一些列tasks,可以让远端的主机达到预期的状态
# playbook 使用场景执行简单任务使用ad-hoc命令,执行大量的操作的时候使用playbook使用playbook可以方便的重复使用这些代码,可以把常见的应用都编写playbook,之后管理服务器会变得很简单
# playbook 格式playbook由YAML语言编写YAML的格式如下:1.文件的第一行应该以“---”(三个连字符)开始,表明YAML文件的开始2.在同一行中,"#号"之后的内容表示注释,类似于shell,python和ruby3.YAML中的列表元素以“-”开头并且跟着一个空格。后面为元素内容4.同一个列表之中的元素应该保持相同的缩进,否则会被当做错误处理5.play中hosts、variables、roles、tasks等对象的表示方法都是以键值中间以“:”分隔表示,并且“:”之后要加一个空格
# playbook 核心元素hosts:主机组tasks:任务列表variables:变量,设置方式有四种templates:包含了模块语法的文本文件handlers:由特定条件触发的任务 可以通过“notify”通知相应的handlerstags: 标签 指定某条任务执行
# palybook 常用目录结构hosts # 主机组 里面可定义IP=hostname和变量 如 harbor_registry=44.157.149.30deplyment # 分离部署目录install_ntp_svc.yaml # 安装 ntp 服务install_docker_svc.yaml # 安装 docker 服务rolesntpfiles部署所需要的固定的文件 如:deb包tasksmain.yamltemplates 部署所需要的带变量的文件 如: daemon.json里指定仓库ip { "insecure-registries": ["{{harbor_registry}}"] }dockerfilestasksmain.yamltemplates
# palybook角色子目录 常用前3个tasks: 角色任务files: 角色引用的静态文件templates:角色任务引用的Jinja2模板handlers: 处理程序定义defaults: 角色变量默认值meta: 作者 许可证 平台tests: 测试角色vars: 变量# Ansible palybook 实例
# 1 hosts 解析
####################################################################################
# 定义主机组和少量变量
[redis]
44.157.149.39 hostname=redis host_ip=44.157.149.39
[mysql]
44.157.149.40 hostname=mysql host_ip=44.157.149.40# 先定义主机 再定义其主机变量
[redis]
44.157.149.39
[redis:vars]
hostname=redis
host_ip=44.157.149.39# 定义一个组织 里面包括其他主机组 如 定义ntp组 应为redis和mysql都需要同步时间所以放到ntp组织下
[ntp:children]
redis
mysql# 定义所有组的变量 也叫全局变量 常用的 root密码 ssh用户 密码 hosts python dns等
[all:vars]
ansible_sudo_pass=kc@123456
ansible_ssh_pass=kc@123456
ansible_ssh_user=kcadmin
all_hosts="44.157.149.39 redis \n44.157.149.40 mysql"
ansible_python_interpreter=/usr/bin/python3
dns_1=44.157.149.31
dns_2=44.157.149.32
############################################################################
# 2 Ansible palybook 关闭验证keyecho "[defaults]" >>/etc/ansible/ansible.cfgecho "host_key_checking = false" >>/etc/ansible/ansible.cfg
# 3 Ansible palybook deplyment 分离部署目录install_ntp_svc.yaml # 安装 ntp 服务
#####################################
---
- hosts: ntpsudo: yesroles: - ../roles/ntp
#####################################
# 4 Ansible palybook roles 角色
#####################################
rolesntpfiles部署所需要的固定的文件 如:deb包tasksmain.yamltemplates部署所需要的带变量的文件 如: daemon.json里指定仓库ip { "insecure-registries": ["{{harbor_registry}}"] }
#####################################
# 5 vim roles/ntp/main.yaml
#####################################
---
# 设置主机名 并调用 hostname 变量
- name: set hostnameshell: hostnamectl set-hostname {{hostname}}
# 设置主机 hosts
- name: set hostsshell: echo "{{all_hosts}}" >/etc/hosts
# 设置本地时间
- name: set localtimeshell: ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 设置时区
- name: set timezoneshell: echo "Asia/Shanghai" >/etc/timezone
# 复制files里的文件到 /tmp/目录
- name: copy ntp pkgcopy: src={{item}} dest=/tmp/with_items:- libopts25_1.3a5.18.7-3_amd64.deb- ntp_1.3a4.2.8p4+dfsg-3ubuntu5.9_amd64.deb- ntpdate_1.3a4.2.8p4+dfsg-3ubuntu5.9_amd64.deb
# 安装 libopts
- name: install libopts shell: dpkg -i /tmp/libopts25_1.3a5.18.7-3_amd64.deb
# 安装 ntpdate
- name: install ntpdate toolsshell: dpkg -i /tmp/ntpdate_1.3a4.2.8p4+dfsg-3ubuntu5.9_amd64.deb
# 安装 ntpd 服务
- name: install ntpd servershell: dpkg -i /tmp/ntp_1.3a4.2.8p4+dfsg-3ubuntu5.9_amd64.deb when: ansible_hostname == "m1"
# 从 template 目录里拷贝ntp配置文件到etc下
- name: config ntp server template: src=ntp.conf dest=/etc/ntp.confwhen: ansible_hostname == "m1"
# 重启 ntp 服务
- name: restart ntp serverservice: name=ntp state=restartedwhen: ansible_hostname == "m1"- name: update timeshell: ntpdate -u m1 - name: set crontab ntpdatecron: name=dateupdate minute=* hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate -u {{ntpd_server}}" state=present
#####################################
本文来自博客园,站在巨人的肩膀上,坚持开源精神,遵循开源协议:Apache Licene 2.0协议。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/948532.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
2025信创浪潮下,ITSM 平台选型指南:国产方案如何选对 “运维服务引擎”
2025年信创关键期,国产ITSM从合规适配升级为价值赋能。文章对比主流ITSM产品的核心定位、能力及适用场景,从企业规模、核心需求、长期成本给出选型建议,助力企业选适配的ITSM平台。01. 国产化 ITSM 进入 “价值竞争…
MonoDevelop 的续集dotdevelop
https://www.cnblogs.com/shanyou/p/18415351DotDevelop 是一个跨平台的 .NET 集成开发环境(IDE),它原本是 MonoDevelop 的分支项目,这个项目更侧重于 Linux 支持和 GTK3 升级,github:https://github.com/dotdev…
time-ode项目结构
在Java中,ResponseEntity<PageInfo> 这样的命名和类型组合是一个典型的、遵循良好实践的Web API返回类型,常见于使用Spring框架(如Spring Boot)开发的后端服务中。下面我们来逐层解析其含义和命名的用意:Re…
Lombok 常用注解
分类
注解
作用
常用参数/示例核心类注解
@Getter/@Setter
自动生成字段的 getter/setter 方法
@Setter(AccessLevel.PROTECTED) 指定访问权限@ToString
生成 toString()
@ToString(exclude = "id")…
2025 年长沙美食餐厅最新推荐榜,食材溯源与管理创新双维度下的品质品牌解析
引言
长沙餐饮市场年均新增商户超 1.2 万家,但食品安全抽检不合格率仍达 3.1%,同质化与管理缺失成为行业痛点。为筛选品质标杆,湖南省餐饮行业协会联合黑珍珠评审委员会开展专项测评,覆盖 326 家候选餐厅,采用 “…
2025年新疆电线电缆厂家综合实力TOP3排行榜:耐火电缆/矿用电缆/高温电缆源头厂家精选。
在"一带一路"倡议深入推进与新能源产业快速发展的背景下,新疆电线电缆市场需求呈现多元化、高性能化趋势,品质可靠的本地厂家成为采购首选。
本文将根据技术实力、生产能力、产品质量及市场服务等多维度数…
2025年PPH管材厂家权威推荐榜单:抗冲击性管材/低导热性管材/环保性管材源头厂家精选
在工业流体输送、环保水处理及化工防腐等领域,PPH(均聚聚丙烯)管材凭借其卓越的耐腐蚀性、抗冲击性能及环保特性,已成为不可或缺的关键材料。随着市场需求持续增长,2024年PPH管材全球消费量预计将达到数百万吨级别…
利用STM32驱动nanoPAN5375测距模块进行距离测量
利用STM32驱动nanoPAN5375测距模块进行距离测量,并返回精确的距离信息
了解一下nanoPAN5375模块:
nanoPAN5375模块特性特性
描述工作频段
2.4 GHz ISM 免授权频段调制技术
线性调频扩频 (CSS)可编程输出功率
-18 dBm…
2025年高速离心喷雾干燥机厂家权威推荐榜单:离心喷雾干燥机/压力喷雾干燥机/闭路喷雾干燥机源头厂家精选
高速离心喷雾干燥机蒸发能力可达2000kg/h,物料停留时间仅10-30秒,这三家企业以创新技术引领干燥行业革新。
高速离心喷雾干燥技术作为现代粉体处理的核心工艺,以其高效干燥、粒度均匀和热敏性物料适应性强的特点,成…
完整教程:macOS/Linux ClaudeCode 安装指南及 Claude Sonnet 4.5 介绍
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
MATLAB的无线传感器网络(WSN)算法仿真
一、仿真系统架构设计
1. 网络模型参数
% 基础参数设置(参考)
xm = 100; ym = 100; % 区域尺寸(m)
n = 100; % 节点数量
p = 0.1; % 簇头比例
Eo = 0.5; % 初始能量(J)…
SQLServer 数字+Null结果会变为 Null,使用ISNULL(Null, 0)函数保底
SQLServer 数字+Null结果会变为 Null,使用ISNULL(Null, 0)函数保底
ISNULL(field_name, 0)
当field_name为Null时,自动保底为0 输出
大会回顾:不止于 “智能”!详解Data+AI 如何赋能企业决策与效率升级
2025年10月21日,袋鼠云成功举办了以“数据筑基、智能跃迁“为主题的秋季发布会,详细介绍了多模态数据中台、空间智能引擎等一系列战略级产品与行业解决方案,全面展示了袋鼠云在技术融合、品牌升级与战略定位上的全新…
2025 年北京湖南菜餐厅最新推荐榜,食材溯源与烹饪实力及市场口碑深度解析
引言
2025 年餐饮市场竞争白热化,据烹饪协会湘菜专业委员会年度测评数据显示,北京湘菜餐厅数量较上年增长 12%,但食材达标率仅 68%,烹饪工艺标准化不足 40%,食客对 “地道风味 + 品质保障” 的需求愈发迫切。为破…
2025年度钢结构加工厂综合实力TOP3排行榜:H型钢/彩钢压型板/钢结构厂房源头厂家精选。
在工业建筑与基础设施建设持续发展的推动下,钢结构市场预计将保持稳定增长,高性能、绿色化已成为行业核心竞争要素。
本文将根据企业的产能规模、技术实力、项目经验及市场反馈等多维度数据,为您推荐三家在钢结构加…
layui动态模板详解
动态模板layuiAdmin 的视图是一个“动静结合”的载体,除了常规的静态模板,你当然还可以在视图中存放动态模板,因此它可谓是焦点中的焦点定义模板在视图文件中,通过下述规则定义模板:<script type="text/h…
2025 年铝塑膜源头厂家最新推荐榜,技术实力与市场口碑深度解析,覆盖多场景包装需求真空包装 / 出口海运 / 导轨包装 / 电气包装 / 镀铝编织铝塑膜公司推荐
引言
为精准筛选出 2025 年铝塑膜领域综合实力突出的源头厂家,本次榜单评选联合包装联合会、塑料加工工业协会共同开展,参考两大协会 2024-2025 年度《工业包装材料质量测评报告》核心数据,采用 “三维九项” 测评方…
docker中mysql异常关闭
docker中安装了mysql,过了两天自动关闭了,最后检查发现是被黑客攻击了。提醒大家用云服务器安装组件不要用默认密码。
解决方案:重置镜像,重新安装,修改默认密码。安全组允许访问的ip不要全部开,需要哪个放开哪个…
2025 年北京湘菜餐厅最新推荐榜,食材品质与服务体验及市场口碑深度解析
引言
据烹饪协会 2024 年数据显示,湘菜门店占全国正餐总门店数的 18.5%,跃居地方菜系首位,但市场中 38% 的品牌存在食材溯源缺失、45% 缺乏标准化服务流程。为破解食客 “寻味难” 痛点,本次推荐榜联合红餐产业研究…
2025年11大项目管理工具project:信创适配下的5大操作困境!
本文将介绍以下11款项目管理工具:禅道、Jira、Trello、Asana、Microsoft Project、Basecamp、飞书项目、钉钉项目、腾讯TAPD、华为云DevCloud、阿里云效。在信创(信息技术应用创新)背景下,国产化适配成为企业数字化…