本文共 2169 字,大约阅读时间需要 7 分钟。
1)什么是Ansible?
Ansible是一款开源的配置管理和编配的实用程序,可以对远程主机与虚拟机进行自动化与标准化配置编配功能使Ansible能够协调多层级的应用的启动和关闭管理员可以创建play,执行一系列的任务,作用与play中指定的一台或一组主机包含多个play的文件成为playbookansible的架构是无代理的。当ansible执行时,将推送到远程主机上执行Modules是执行play中任务的程序。ansible附带了数百个核心模块ansible非常易用。在python基础上构建。ansible受到Vagrant和Jenkins等多种Devops工具的支持2)ansible的不足:ansible可以在安装中添加软件包,但无法执行系统的初始最小安装ansible可以纠正配置偏差,但不能对此进行监控ansible不能跟踪系统上的文件出现更改,建议通过版本控制软件或审计系统进行跟踪3)Ansible的概念与架构:ansible架构中有两种计算机类型:控制节点与受管主机ansible软件安装在控制节点上,所有组件也在控制节点上维护受管主机列在主机清单文本文件中,位于控制节点上,含有受管主机名称或域IP列表ansible使用SSH域受管主机进行通讯。playbook中运用的模块将复制到受管主机,然后使用playbook指定参数顺序执行用户可按需自定义模块,但ansible的核心模块能够执行大部分系统管理任务4)控制节点的角色与要求● 系统管理员 ● Ansible安装在控制节点,并进行维护 ● 支持python2.6以上 ● 对于红帽Linux需安装Ansible及其依赖包 ● Windows目前不支持控制节点4-1)受管主机角色与要求
● 受管主机是Ansible登录,安装模块并执行远程命令进行配置任务的系统 ● Ansible使用SSH与受管主机通信,因此必须有openssl和配置ssh允许 ● 建议python2.5以上版本 ● RHEL6、75)Ansible用例
● Ansible可以部署和远程操控远程主机的配置文件。这些文件为静态的,也可利用模板实时创建 ● Ansible也可以用作多节点的部署工具 ● playbook可以定义远程计算机上的安装和配置的应用。可以统一构建playbook,将他应用到多台计算机上 ● 按照Ansible的规则编配多节点应用 ● 运行临时(ad-hoc)命令,使Ansible在远程主机上执行6)CHOOSE~
1.which of the following programming languages is ansible built on?
python2.which of the following terms best describes ansible's architecture?Agentless3.what us the network protocol that ansible users, by default, to communicate with managed nodes?SSH4.which of the following files define the actions ansible performs on managed nodes?playbook5.what syntax is used to define ansible playbooks?YAML1234567891011126)Ansible部署● ansible可简化服务器上的软件配置 ● 当ansible访问受管主机,可以探查运行的RHEL版本 ● ansible playbook可用于同意构建开发、测试和生产服务器 ● kickstart可以准备好符合条件的裸机服务器,让ansible的接管并搭建7)ansible的配置方法
ansible用于完成服务器的调配。编写playbook8)Ansible连接插件
● 连接插件使得ansible能够与受管主机和云提供商通信 ● 对于新版本首选SSH ● 控制节点上的openssh支持ansible的连接方式 ● 最常见的做法就是通过SSH用户秘钥来获取主机管理权限 ● 另一种链接插件就是local,用于本地管理ansible,而不必实用ssh。在编写云服务API接口时,通常使用这一方式,ansible由本地cron调用也可使用 ● paramiko ansible链接用于RHEL6计算机。是一个基于python的openSSH,是较旧系统的解决方案。可降低ssh开销 ● winrm ansible链接Windows的主机为受管主机,linux上一般不用 ● ansible2引入了docker链接插件。docker主机可以充当ansible控制节点,其容器为受管主机,这种链接不需要SSH转载于:https://blog.51cto.com/14326438/2394208