收藏 分销(赏)

ansible学习基础手册专业资料.doc

上传人:精**** 文档编号:2424547 上传时间:2024-05-30 格式:DOC 页数:113 大小:337.04KB 下载积分:20 金币
下载 相关 举报
ansible学习基础手册专业资料.doc_第1页
第1页 / 共113页
ansible学习基础手册专业资料.doc_第2页
第2页 / 共113页


点击查看更多>>
资源描述
从Github获取Ansible 如果你有一种github账户,可以跟进Ansible在Github项目: Github project 咱们在这里保持对bugs和feature ideas跟踪. 需要安装些什么 Ansible默认通过 SSH 合同管理机器. 安装Ansible之后,不需要启动或运营一种后台进程,或是添加一种数据库.只要在一台电脑(可以是一台笔记本)上安装好,就可以通过这台电脑管理一组远程机器.在远程被管理机器上,不需要安装运营任何软件,因而升级Ansible版本不会有太多问题. 选取哪一种版本? 由于Ansible可以很简朴从源码运营,且不必在远程被管理机器上安装任何软件,诸多Ansible顾客会跟进使用开发版本. Ansible普通每两个月出一种发行版本.小bugs普通在下一种发行版本中修复,并在稳定分支中做backports.大bugs会在必要时出一种维护版本,虽然这不是很频繁. 若你但愿使用Ansible最新版本,并且你使用操作系统是 Red Hat Enterprise Linux (TM),CentOS,Fedora,Debian,Ubuntu,咱们建议使用系统软件包管理器. 另有一种选取是通过”pip”工具安装,”pip”是一种安装和管理Python包工具. 若你但愿跟进开发版本,想使用和测试最新功能特性,咱们会分享如何从源码运营Ansible办法.从源码运营程序不需要进行软件安装. 对管理主机规定 当前,只要机器上安装了 Python 2.6 (windows系统不可以做控制主机),都可以运营Ansible. 主机系统可以是 Red Hat,Debian,CentOS,OS X,BSD各种版本,等等. 对托管节点规定 On the managed nodes,you only need Python 2.4 or later,but if you are running less than Python 2.5 on the remotes,you will also need: 托管节点上需要安装 Python 2.4 及以上版本.但如果版本低于 Python 2.5 ,则需要额外安装一种模块: · python-simplejson Note 没安装python-simplejson,也可以使用Ansible”raw”模块和script模块,因而从技术上讲,你可以通过Ansible”raw”模块安装python-simplejson,之后就可以使用Ansible所有功能了. Note 如果托管节点上启动了SElinux,你需要安装libselinux-python,这样才可使用Ansible中与copy/file/template有关函数.你可以通过Ansibleyum模块在需要托管节点上安装libselinux-python. Note Python 3 与 Python 2 是稍有不同语言,而大多数Python程序还不能在 Python 3 中对的运营.而某些Linux发行版(Gentoo,Arch)没有默认安装 Python 2.X 解释器.在这些系统上,你需要安装一种 Python 2.X 解释器,并在 inventory (详见 Inventory文献) 中设立 ‘ansible_python_interpreter’ 变量指向你 2.X Python.你可以使用 ‘raw’ 模块在托管节点上远程安装Python 2.X. Red Hat Enterprise Linux,CentOS,Fedora,and Ubuntu 等发行版都默认安装了 2.X 解释器,涉及几乎所有Unix系统也是如此. 安装管理主机 从源码运营 从项目checkout中可以很容易运营Ansible,Ansible运营不规定root权限,也不依赖于其她软件,不规定运营后台进程,也不需要设立数据库.因而咱们社区许多顾客始终使用Ansible开发版本,这样可以运用最新功能特性,也以便对项目做贡献.由于不需要安装任何东西,跟进Ansible开发版相对于其她开源项目要容易诸多. 从源码安装环节 $ git clone git:// --recursive $ cd ./ansible $ source ./hacking/env-setup 如果没有安装pip,请先安装相应于你Python版本pip: $ sudo easy_install pip 如下Python模块也需要安装: $ sudo pip install paramiko PyYAML Jinja2 httplib2 注意,当更新ansible版本时,不只要更新git源码树,也要更新git中指向Ansible自身模块 “submodules” (不是同一种模块) $ git pull --rebase $ git submodule update --init --recursive 一旦运营env-setup脚本,就意味着Ansible从源码中运营起来了.默认inventory文献是 /etc/ansible/hosts.inventory文献也可以另行指定 (详见 Inventory文献) .. code-block::bash $ echo “127.0.0.1” > ~/ansible_hosts $ export ANSIBLE_HOSTS=~/ansible_hosts 你可以在手册后续章节阅读更多关于 inventory 文献使用,当前让咱们测试一条ping命令: $ ansible all -m ping --ask-pass 你也可以使用命令 “sudo make install” 通过Yum安装最新发布版本 通过Yum安装RPMs合用于 EPEL 6,7,以及仍在支持中Fedora发行版. 托管节点操作系统版本可以是更早版本(如 EL5),但必要安装 Python 2.4 或更高版本Python. Fedora 顾客可直接安装Ansible,但RHEL或CentOS顾客,需要 配备 EPEL # install the epel-release RPM if needed on CentOS,RHEL,or Scientific Linux $ sudo yum install ansible 你也可以自己创立RPM软件包.在Ansible项目checkout根目录下,或是在一种tarball中,使用make rpm 命令创立RPM软件包. 然后可分发这个软件包或是使用它来安装Ansible.在创立之前,先拟定你已安装了 rpm-build, make,and python2-devel . $ git clone git:// $ cd ./ansible $ make rpm $ sudo rpm -Uvh ~/rpmbuild/ansible-*.noarch.rpm 通过Apt (Ubuntu)安装最新发布版本 Ubuntu 编译版可在PPA中获得:` <~ansible/+archive/ansible>`_. 配备PPA及安装ansible,执行如下命令: $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:ansible/ansible $ sudo apt-get update $ sudo apt-get install ansible Note 在初期Ubuntu发行版中,“software-properties-common” 名为 “python-software-properties”. 也可从源码checkout中创立 Debian/Ubuntu 软件包,执行: $ make deb 你或许也想从源码中运营最新发行版本,可看前面阐明. 通过 Portage (Gentoo)安装最新发布版本 $ emerge -av app-admin/ansible 要安装最新版本,你或许需要... $ echo 'app-admin/ansible' >> /etc/portage/package.accept_keywords Note 若在Gentoo托管节点中,Python 3 默认作为 Python slot(这也是默认设立),则你必要在你 group 或 inventory 变量中设立 ansible_python_interpreter = /usr/bin/python2 通过 pkg (FreeBSD)安装最新发布版本 $ sudo pkg install ansible 你或许想从ports中安装: $ sudo make -C /usr/ports/sysutils/ansible install 通过 Homebrew (Mac OSX)安装最新发布版本 在Mac中安装,拟定你已安装 Homebrew: $ brew update $ brew install ansible 通过 Pip 安装最新发布版本 Ansible可通过 “pip” 安装(安装和管理Python包工具),若你还没有安装 pip,可执行如下命令安装: $ sudo easy_install pip 然后安装Ansible: $ sudo pip install ansible 如果你是在 OS X Mavericks 上安装,编译器也许或告警或报错,可通过如下设立避免这种状况: $ sudo CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install ansible 使用 virtualenv 读者可通过 virtualenv 安装 Ansible,然而咱们建议不用这样做,直接在全局安装 Ansible.不要使用 easy_install 直接安装 ansible. 发行版Tarball 不想通过git checkout 创立Ansible软件包?在这里可获取Tarball Ansible downloads 各种版本Ansible在这里做了版本标注 git repository 前言 当前你已经阅读了 Installation 安装指南并安装了Ansible.是时候通过某些命令开始进一步理解Ansible了. 咱们最先展示并非那强大集配备,布置,自动化于一身playbook. Playbooks 有关内容将在另一章节中讲述. 本章节讲述如何进行初始化.一旦你有了这些概念,请去阅读 Introduction To Ad-Hoc Commands 以获取更多细节,然后你就能去进一步playbook并摸索它最有趣某些. 远程连接概述 在咱们开始前要先理解Ansible是如何通过SSH与远程服务器连接是很重要. Ansible 1.3及之后版本默认会在本地 OpenSSH可用时会尝试用其进行远程通讯.这会启用ControlPersist(一种性能特性),Kerberos,和在~/.ssh/config中配备选项如 Jump Host setup.然而,当你使用Linux公司版6作为主控机(红帽公司版及其衍生版如CentOS),其OpenSSH版本也许过于老旧无法支持ControlPersist. 在这些操作系统中,Ansible将会退回并采用 paramiko (由Python实现高质量OpenSSH库). 如果你但愿可以使用像是Kerberized SSH之类特性,烦请考虑使用Fedora,OS X,或 Ubuntu 作为你主控机直到有关平台上有更新版本OpenSSH可供使用,或者启用Ansible“accelerated mode”.参见 Accelerated Mode. 在Ansible 1.2 及之前版本,默认将会使用 paramiko. 本地OpenSSH必要通过-c ssh 或者 在配备文献中设定. 你偶尔会遇到不支持SFTP设备.虽然这很少见,但你会有概率中奖.你可以通过在配备文献(Ansible配备文献)中切换至 SCP模式来与之链接. 说起远程设备,Ansible会默认假定你使用 SSH Key(咱们推荐这种)但是密码也同样可以.通过在需要地方添加 –ask-pass选项 来启用密码验证.如果使用了sudo 特性,当sudo需要密码时,也同样恰当提供了–ask-sudo-pass选项. 也许这是常识,但也值得分享:任何管理系统受益于被管理机器在主控机附近运营.如果在云中运营,可以考虑在使用云中一台机器来运营Ansible. 作为一种进阶话题,Ansible不止支持SSH来远程连接.连接方式是插件化并且尚有许多本地化管理选项诸如管理 chroot,lxc,和 jail containers.一种叫做‘ansible-pull’模式可以反转主控关系并使远程系统通过定期从中央git目录检出 并 拉取 配备指令来实现背景连接通信. 你第一条命令 当前你已经安装了Ansible,是时候从某些基本知识开始了. 编辑(或创立)/etc/ansible/hosts 并在其中加入一种或各种远程系统.你public SSH key必要在这些系统``authorized_keys``中: 192.168.1.50 aserver.example.org bserver.example.org 这里有个节点设立文献(inventory file)将会在 Inventory文献 中得到进一步阐明. 咱们假定你使用SSH Key来授权.为了避免在建立SSH连接时,重复输入密码你可以这样 做: $ ssh-agent bash $ ssh-add ~/.ssh/id_rsa (依照你建立方式,你也许但愿使用Ansible --private-key 选项,通过指定pem文献来代替SSH Key来授权) 当前ping 你所有节点: $ ansible all -m ping Ansible会像SSH那样试图用你当前顾客名来连接你远程机器.要覆写远程顾客名,只需使用’-u’参数. 如果你想访问 sudo模式,这里也有标记(flags)来实现: # as bruce $ ansible all -m ping -u bruce # as bruce,sudoing to root $ ansible all -m ping -u bruce --sudo # as bruce,sudoing to batman $ ansible all -m ping -u bruce --sudo --sudo-user batman (如果你碰巧想要使用其她sudo实现方式,你可以通过修改Ansible配备文献来实现.也可以通过传递标记给sudo(如-H)来设立.) 当前对你所有节点运营一种命令: $ ansible all -a "/bin/echo hello" 恭喜你!你刚刚通过Ansible连接了你所有节点.不久你就会阅读更多关于现实案例 Introduction To Ad-Hoc Commands 并摸索可以通过不同模块做什么以及研究Ansibleplaybook语言 Playbooks .Ansible不只是能运营命令,它同样也拥有强大配备管理和布置特性.虽然尚有更多内容等待你摸索,但你基本设施已经能完全工作了! 公钥认证 Ansible1.2.1及其之后版本都会默认启用公钥认证. 如果有个主机重新安装并在“known_hosts”中有了不同key,这会提示一种错误信息直到被纠正为止.在使用Ansible时,你也许不想遇到这样状况:如果有个主机没有在“known_hosts”中被初始化将会导致在交互使用Ansible或定期执行Ansible时对key信息确认提示. 如果你想禁用此项行为并明白其含义,你可以通过编辑 /etc/ansible/ansible.cfg or ~/.ansible.cfg来实现: [defaults] host_key_checking = False 或者你也可以通过设立环境变量来实现: $ export ANSIBLE_HOST_KEY_CHECKING=False 同样注旨在paramiko 模式中 公钥认证 相称慢.因而,当使用这项特性时,切换至’SSH’是推荐做法. Ansible将会对远程系统模块参数记录在远程syslog中,除非一种任务或者play被标记了“no_log:True”属性,稍后解释. 在主控机上启用基本日记功能参见 Ansible配备文献 文档 并 在配备文献中设立’log_path’.公司顾客也许也对 Ansible Tower 感兴趣. Inventory文献 Topics · Inventory文献 o 主机与组 o 主机变量 o 组变量 o 把一种组作为另一种组子成员 o 分文献定义 Host 和 Group 变量 o Inventory 参数阐明 Ansible 可同步操作属于一种组多台主机,组和主机之间关系通过 inventory 文献配备. 默认文献途径为 /etc/ansible/hosts 除默认文献外,你还可以同步使用各种 inventory 文献(背面会讲到),也可以从动态源,或云上拉取 inventory 配备信息.详见 动态 Inventory. 主机与组 /etc/ansible/hosts 文献格式与windowsini配备文献类似: [webservers] [dbservers] 方括号[]中是组名,用于对系统进行分类,便于对不同系统进行个别管理. 一种系统可以属于不同组,例如一台服务器可以同步属于 webserver组 和 dbserver组.这时属于两个组变量都可觉得这台主机所用,至于变量优先级关系将于后来章节中讨论. 如果有主机SSH端口不是原则22端口,可在主机名之后加上端标语,用冒号分隔.SSH 配备文献中列出端标语不会在 paramiko 连接中使用,会在 openssh 连接中使用. 端标语不是默认设立时,可明确表达为: :5309 假设你有某些静态IP地址,但愿设立某些别名,但不是在系统 host 文献中设立,又或者你是通过隧道在连接,那么可以设立如下: jumper ansible_ssh_port=5555 ansible_ssh_host=192.168.1.50 在这个例子中,通过 “jumper” 别名,会连接 192.168.1.50:5555.记住,这是通过 inventory 文献特性功能设立变量. 普通而言,这不是设立变量(描述你系统方略变量)最佳方式.背面会说到这个问题. 一组相似 hostname ,可简写如下: [webservers] www[01:50] 数字简写模式中,01:50 也可写为 1:50,意义相似.你还可以定义字母范畴简写模式: [databases] db-[a:f] 对于每一种 host,你还可以选取连接类型和连接顾客名: [targets] localhost ansible_connection=local ansible_connection=ssh ansible_ssh_user=mpdehaan ansible_connection=ssh ansible_ssh_user=mdehaan 所有以上讨论对于 inventory 文献设立是一种速记法,背面咱们会讨论如何将这些设立保存为 ‘host_vars’ 目录中独立文献. 主机变量 前面已经提到过,分派变量给主机很容易做到,这些变量定义后可在 playbooks 中使用: [atlanta] host1 http_port=80 maxRequestsPerChild=808 host2 http_port=303 maxRequestsPerChild=909 组变量 也可以定义属于整个组变量: [atlanta] host1 host2 [atlanta:vars] ntp_server= proxy= 把一种组作为另一种组子成员 可以把一种组作为另一种组子成员,以及分派变量给整个组使用. 这些变量可以给 /usr/bin/ansible-playbook 使用,但不能给 /usr/bin/ansible 使用: [atlanta] host1 host2 [raleigh] host2 host3 [southeast:children] atlanta raleigh [southeast:vars] some_server= halon_system_timeout=30 self_destruct_countdown=60 escape_pods=2 [usa:children] southeast northeast southwest northwest 如果你需要存储一种列表或hash值,或者更喜欢把 host 和 group 变量分开配备,请看下一节阐明. 分文献定义 Host 和 Group 变量 在 inventory 主文献中保存所有变量并不是最佳方式.还可以保存在独立文献中,这些独立文献与 inventory 文献保持关联. 不同于 inventory 文献(INI 格式),这些独立文献格式为 YAML.详见YAML 语法 . 假设 inventory 文献途径为: /etc/ansible/hosts 假设有一种主机名为 ‘foosball’,主机同步属于两个组,一种是 ‘raleigh’,另一种是 ‘webservers’. 那么如下配备文献(YAML 格式)中变量可觉得 ‘foosball’ 主机所用.依次为 ‘raleigh’ 组变量,’webservers’ 组变量,’foosball’ 主机变量: /etc/ansible/group_vars/raleigh /etc/ansible/group_vars/webservers /etc/ansible/host_vars/foosball 举例来说,假设你有某些主机,属于不同数据中心,并依次进行划分.每一种数据中心使用某些不同服务器.例如 ntp 服务器,database 服务器等等. 那么 ‘raleigh’ 这个组组变量定义在文献 ‘/etc/ansible/group_vars/raleigh’ 之中,也许类似这样: --- ntp_server:acme.example.org database_server:storage.example.org 这些定义变量文献不是一定要存在,由于这是可选特性. 尚有更进一步运用,你可觉得一种主机,或一种组,创立一种目录,目录名就是主机名或组名.目录中可以创立各种文献,文献中变量都会被读取为主机或组变量.如下 ‘raleigh’ 组相应于 /etc/ansible/group_vars/raleigh/ 目录,其下有两个文献 db_settings 和 cluster_settings,其中分别设立不同变量: /etc/ansible/group_vars/raleigh/db_settings /etc/ansible/group_vars/raleigh/cluster_settings ‘raleigh’ 组下所有主机,都可以使用 ‘raleigh’ 组变量.当变量变得太多时,分文献定义变量更以便咱们进行管理和组织. 尚有一种方式也可参照,详见 Ansible Vault 关于组变量某些. 注意,分文献定义变量方式只合用于 Ansible 1.4 及以上版本. Tip:Ansible 1.2 及以上版本中,group_vars/ 和 host_vars/ 目录可放在 inventory 目录下,或是 playbook 目录下. 如果两个目录下都存在,那么 playbook 目录下配备会覆盖 inventory 目录配备. Tip:把你 inventory 文献 和 变量 放入 git repo 中,以便跟踪她们更新,这是一种非常推荐方式. Inventory 参数阐明 犹如前面提到,通过设立下面参数,可以控制 ansible 与远程主机交互方式,其中某些咱们已经讲到过: ansible_ssh_host 将要连接远程主机名.与你想要设定主机别名不同话,可通过此变量设立. ansible_ssh_port ssh端标语.如果不是默认端标语,通过此变量设立. ansible_ssh_user 默认 ssh 顾客名 ansible_ssh_pass ssh 密码(这种方式并不安全,咱们强烈建议使用 --ask-pass 或 SSH 密钥) ansible_sudo_pass sudo 密码(这种方式并不安全,咱们强烈建议使用 --ask-sudo-pass) ansible_sudo_exe (new in version 1.8) sudo 命令途径(合用于1.8及以上版本) ansible_connection 与主机连接类型.例如:local,ssh 或者 paramiko. Ansible 1.2 此前默认使用 paramiko.1.2 后来默认使用 'smart','smart' 方式会依照与否支持 ControlPersist,来判断'ssh' 方式与否可行. ansible_ssh_private_key_file ssh 使用私钥文献.合用于有各种密钥,而你不想使用 SSH 代理状况. ansible_shell_type 目的系统shell类型.默认状况下,命令执行使用 'sh' 语法,可设立为 'csh' 或 'fish'. ansible_python_interpreter 目的主机 python 途径.合用于状况:系统中有各种 Python,或者命令途径不是"/usr/bin/python",例如 \*BSD,或者 /usr/bin/python 不是 2.X 版本 Python.咱们不使用 "/usr/bin/env" 机制,由于这规定远程顾客途径设立对的,且规定 "python" 可执行程序名不可为 python以外名字(实际有也许名为python26). 与 ansible_python_interpreter 工作方式相似,可设定如 ruby 或 perl 途径.... 一种主机文献例子: some_host ansible_ssh_port=2222 ansible_ssh_user=manager aws_host ansible_ssh_private_key_file=/home/example/.ssh/aws.pem freebsd_host ansible_python_interpreter=/usr/local/bin/python ruby_module_host ansible_ruby_interpreter=/usr/bin/ruby.1.9.3 动态 Inventory Topics · 动态 Inventory o Cobbler 外部 Inventory 脚本 o AWS EC2 外部 inventory 脚本 o 其他 inventory 脚本 o 使用各种 inventory 源 o 动态组作为静态组子组 使用配备管理系统经常有一种需求,也许要在其她软件系统中保存自己 inventory 配备信息. Ansible 自身通过基于文本方式来记录 inventory 配备信息,这在前面已简介过(详见 Inventory文献 ). 除此之外,Ansible 也支持用其她方式保存配备信息. 在其她软件系统保存配备信息例子有: 1,从云端拉取 inventory 2,LDAP(Lightweight Directory Access Protocol,轻量级目录访问合同) 3,`Cobbler <>`_ 4,或者是一份昂贵公司版 CMDB(配备管理数据库) 软件. 对于这些需求,Ansible 可通过一种外部 inventory 系统来支持.在 ansible “/plugins” 插件目录下已经具有某些选项 – 涉及 EC2/Eucalyptus,Rackspace Cloud,and OpenStack,咱们稍后会详细简介它们. Ansible Ansible Tower 提供了一种数据库来存储 inventory 配备信息,这个数据库可以通过 web 访问,或通过 REST 访问. Tower 与所有你使用 Ansible 动态 inventory 源保持同步,并提供了一种图形化 inventory 编辑器. 有了这个数据库,便可以很容易关联过去事件历史,可以看到在上一次 playbook 运营时,哪里浮现了运营失败状况. 关于如何编写你自己动态 inventory 源,请参见 开发动态Inventory数据源. Cobbler 外部 Inventory 脚本 当管理物理机器到达了一定数量时,诸多使用 Ansible 顾客也许同步也会使用到 Cobbler . (注:Cobbler 最初由 Michael DeHaan 编写,当前项目主导人是 James Cammarata,她当前在 Ansible 公司工作). Cobbler 重要用于操作系统 kickoff 安装,以及管理 DHCP 和 DNS,除此之外,它有一种通用层,可为各种配备管理系统(甚至是同步)提供数据. 因此 Cobbler 也被某些管理员称为是轻量级 CMDB. 如何将 Ansible inventory 与 Cobbler 联系起来呢?办法是:将脚本 script 拷贝到 /etc/ansible,通过chmod +x 赋予可执行权限. 在使用 Ansible 之前,先启动 cobblerd 进程. 当前使用 Ansible 要加上 -i 选项 ( 例如:-i /etc/ansible/cobbler.py).cobbler.py这个脚本使用 Cobbler XMLRPC API 与 Cobbler 通信. 执行脚本 /etc/ansible/cobbler.py ,应当能看到某些 JSON 格式数据输出(也许还没有详细内容). 在 cobbler 中,假设有一种如下场景: cobbler profile add --name=webserver --distro=CentOS6-x86_64 cobbler profile edit --name=webserver --mgmt-classes="webserver" --ksmeta="a=2 b=3" cobbler system edit --name=foo --dns-name="" --mgmt-classes="atlanta" --ksmeta="c=4" cobbler system edit --name=bar --dns-name="" --mgmt-classes="atlanta" --ksmeta="c=5" ‘’ 是一种域名,Ansible 可以通过这个域名寻址找到相应主机foo,对其进行操作.也可以通过组名 ‘webserver’ 或者 ‘atlanta’ 寻址找到这个主机,只要这个主机是属于这两个组.直接使用 foo 是不行.例如执行命令 “ansible foo” ,无法找到该主机,但使用 “ansible ‘foo*’” 却可以,由于域名 ‘’ 以foo开头. 这个脚本不但提供主机和组信息.如果运营了 ‘setup’ 模块(只要使用 playbooks,’setup’ 模块会自动运营),变量 a,b,c 可按照如下模板自动填充: # file:/srv/motd.j2 Welcome,I am templated with a value of a={{ a }},b={{ b }},and c={{ c }} 模板使用如下: ansible webserver -m setup ansible webserver -m template -a "src=/tmp/motd.j2 dest=/etc/motd" Note 组名 ‘webserver’ 是 cobbler 中定义.你依然可以在 Ansible 配备文献中定义变量. 但要注意,变量名相似时,外部 inventory 脚本中定义变量会覆盖 Ansible 中变量. 执行上面命令后,主机 foo /etc/motd文献被写入如下内容: Welcome,I am templated with a value of a=2,b=3,and c=4 主机 ‘bar’ () /etc/motd 中写入如下内容: Welcome,I am templated with a value of a=2,b=3,and c=5 你也可以通过下面这个命令测试变量替代: ansible webserver -m shell -a "echo {{ a }}" 也就是说,你可以在参数或命令操作中使用变量替代. AWS EC2 外部 inventory 脚本 使用 AWC EC2时,维护一份 inventory 文献有时不是最佳办法.由于主机数量有也许发生变动,或者主机是由外部应用管理,或者使用了 AWS autoscaling.这时,使用 EC2 external inventory 脚本是更好选取. 脚本使用方式有两种,最简朴是直接使用 Ansible 命令行选项 -i ,指定脚本途径(脚本要有可执行权限): ansible -i ec2.py -u ubuntu us-east-1d -m ping 第二种方式,把脚本拷贝为 /etc/ansible/hosts ,并赋予可执行权限.还需把 ec2.ini 文献拷贝到/etc/ansible/ec2.ini,然后运营 ansible. 要成功调用 API 访问 AWS,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服