聊一聊Ansible自动化运维架构

网站建设4年前发布
36 0 0

20230305211630366c7b94046cfce1ad9467ce421caebd8b1bdf543,​​想了解更多关于开源的内容,请访问:​​,​​51CTO 开源基础软件社区​​,​​https://ost.51cto.com​​,ansible是一个自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。,Ansible 工具由供应服务器应用程序 Cobbler 的作者 Michael DeHaan 开发,他是 Fedora 统一网络控制器(Func)远程管理框架的共同作者。,红帽于 2015 年 10 月收购了 Ansible。,Ansible 是 Red Hat 旗下的 Fedora Linux 发行版的一部分,也可以通过 Extra Linux for Enterprise Linux(EPEL)以及其他操作系统用于 Red Hat Enterprise Linux,CentOS,Scientific Linux 和 Oracle Linux。,20230305211633b48835329850a1ef635229f8b8665913af2c5f514,2023030521154068273804042494cd8179466f3bfc616a58ccad226,2023030521154222788ea841a93b24671543f81652a9fa057e41114,20230305211544b4b592691371c91ea6576814403e83d935e1dd824,20230305211546d2ab93357cec05345c6337bed3574199a8ffe2966,20230305211547456fac901583833155a194246246a11bc60d99232,20230305211634d4664af26d66fec425022271e388aaf4cb8ca1954,2023030521154999ba94250f317416176606852a917b48bc25f8837,(1)发送密钥需要passwd和yes。,服务端:,20230305211635852539d4212d7a5de2a395ce2c07d141265b80544,客户端:,20230305211552c4f26ac07290f04fb240479ca14fdac5b37e58614,复制密钥到其他机器:,202303052115527261a6980b2f4ad63a1809f1107d76a2236622800,复制密钥时忽略passwd和yes(一键复制)。,20230305211553376e6bf3129502773f3742464ccd2d3941592c192,里面就是主机的localhost或者ip:,在ansible外面直接执行模块。,注:,Ansible的返回结果非常友好,一般会用三种颜色来表示执行结果:红色,绿色和橘黄色。,①其中红色表示执行过程中有异常。,②橘黄色表示命令执行后目标有状态变化。,③绿色表示执行成功且没存对目标机器做修改。,参数的含义:,ansible-doc用来查询ansible模块文档的说明(帮助文档),类似于man命令。,20230305211555113faaf88dd4af386177771e123d0266b79905601,(1)列出支持的模块。,20230305211556c287241304a937f9fb376793fdcfa4cbbc259d807,20230305211636e5af67b101975e55d831810daa096b63baa0c4989,20230305211558a933bf456d6f6092b3b3885097e1bef51454e6715,202303052115584758bf4407c98c3b4d2982f8198c04ddbb100f347,Ansible-playbook是日常应用中使用频率最高的命令,类似于Linux系统中的sh或source命令,用来执行系列任务,其工作机制是,通过读取编写好的 playbook文件实现集中处理任务,ansible-playbook命令后跟yml或者yaml格式的playbook文件,playbook文件存放了要执行的任务代码。,检查语法是否错误。,ansible-console是 ansible为用户提供的一款交互式工具,类似于 Windows中的cmd以及Linux中的shell,用户可以在 ansible-console虚拟出来的终端上做像shell一样使用ansible内置的各种命令,这为习惯于使用 shell交互方式的用户提供了良好的体验,在终端输入ansible-console命令后显示如下。,20230305220239776188953b4164502e933023ba77064700d219200,所有的操作类似于shell,而且支持Tab键补全,按快捷键Ctrl+D或Ctrl+C即可退出当前虚拟终端。,ansible-galaxy指令用于方便的从https://galaxy.ansible.com/站点下载第三方扩展模块。,创建rolrs目录架构:,ansible-vault主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。主要对于playbooks里比如涉及到配置passwd或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个passwd串类的文件,编辑的时候需要输入事先设定的passwd才能打开。这种playbook文件在执行时,需要加上 --ask-vault-pass参数,同样需要输入passwd后才能正常执行。,该指令使用需要谈到ansible的另一种模式---pull 模式,这和我们平常经常用的push模式刚好相反,其适用于以下场景:你有数量巨大的机器需要配置,即使使用非常高的线程还是要花费很多时间;你要在一个没有网络连接的机器上运行Anisble,比如在启动之后安装。,输出facts变量的内容:,创建加密变量文件:,查看加密变量文件:,编辑加密变量文件:,可以使文件加密:,解密变量文件:,更改加密文件的passwd:,执行加密变量文件:,​​想了解更多关于开源的内容,请访问:​​,​​51CTO 开源基础软件社区​​,​​https://ost.51cto.com​​。

© 版权声明

相关文章