傀儡堡木偶模块可以使用r10k来部署。
题
Ansible中这个工具的等价物是什么?
试图回答这个问题
这个Google问答被发现并没有回答这个问题
基于与@ceejayoz的讨论,得出的结论是Ansible相当于Puppet的R10K是ansible ansible-galaxy install -r requirements.yml 。
R10K
在R10K中使用Puppetfile。 Puppetfile是需要在特定环境中组装的模块(例如来自Puppetforge )的定义,例如开发环境的Puppetfile可能如下所示:
mod 'garethr/docker', '5.3.0' mod 'unibet/vagrant', '0.2.1' mod 'jenkins', :git => 'https://github.com/jenkinsci/puppet-jenkins', :ref => 'master' mod 'jdk_oracle', :git => 'https://github.com/schrepfler/puppet-jdk_oracle.git', :ref => 'master'
生产Puppetfile包含稳定版本:
mod 'garethr/docker', '5.2.0' mod 'unibet/vagrant', '0.2.0' mod 'schrepfler/puppet-jdk_oracle', '0.2.0' mod 'rtyler/jenkins', '1.6.1'
相当于r10k在ansible
为了在Ansible- Ansible Galaxy或自定义资源中从Puppet的Puppetforge等价物中组装angular色(相当于Puppet的模块),可以在yml文件(基于@ceejayoz提供的链接和此链接 )中定义angular色或源。 开发环境可能如下所示:
development.yml
- src: geerlingguy.composer version: 1.3.0 - src: geerlingguy.java version: 1.2.1 - src: bennojoy.mysql - src: https://github.com/ANXS/postgresql.git version: master
它可以通过发行sudo ansible-galaxy install -r development.yml来运行。 虽然生产可能看起来像:
production.yml
- src: geerlingguy.composer version: 1.2.0 - src: geerlingguy.java version: 1.1.1
并通过执行sudo ansible-galaxy install -r production.yml来运行。 结果可能如下:
user@host ~ $ sudo ansible-galaxy install -r development.yml - geerlingguy.composer is already installed, skipping. - downloading role 'java', owned by geerlingguy - downloading role from https://github.com/geerlingguy/ansible-role-java/archive/1.2.1.tar.gz - extracting geerlingguy.java to /etc/ansible/roles/geerlingguy.java - geerlingguy.java was installed successfully - bennojoy.mysql is already installed, skipping.
认为“可靠的星系”只是答案的一半,因为它没有涉及与木偶angular色模块同义的Ansible剧本。 r10k的好处之一是你可以分别pipe理每个环境的各个方面。
你可能会考虑在每个环境中分离出不同的分支,所有的Ansibleangular色都是通过星系来拉动的。 这样可以让您在每个环境中分离剧本,库存和angular色更改,而不会无意间让它们进入生产,而不是每个分支重复angular色逻辑。