Ansible中的r10k相当于什么?

傀儡堡木偶模块可以使用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色逻辑。