Sparrowform это инструмент для предоставления экземпляров Terraform, работая Sparrowdo Сценарии. Вы загружаете инфраструктуру с помощью сценария Terraform, а затем позволяете Sparrowdo регулировать экземпляры, выполняя задачи конфигурации против. Вот простой план, как это сделать:
Скажите, у нас есть экземпляры Tree AWS EC2 с соответствующими именами ресурсов Terraform — пример1
, Пример 2
и Пример 3
. Мы создаем экземпляры с помощью связанного сценария Terraform Bootstrap.tf
:
$ nano bootstrap.tf $ terraform apply
Теперь, когда мы получаем три экземпляра EC2, мы хотим применить некоторую желаемую конфигурацию ко всем им, давайте создадим три сценария Sparrowdo, по одному на каждый экземпляр для описания желаемой конфигурации. Мы должны назвать сценарии файлы как $ terraform-resource-type. $ resource-name.sparrowfile
Анкет
Для простоты все, что мы хотим, — это установить Nginx Server на каждом экземпляре EC2, сценарий был бы тривиальным:
$ nano aws_instance.example1.sparrowfile #!perl6 package-install "nginx"; service-enable "nginx"; service-start "nginx"; $ nano aws_instance.example1.sparrowfile # so on, for other two instances
Теперь, как мы готовы с нашими сценариями Sparrowdo, давайте запустим их в наши свежевыпасовые экземпляры. Добавляем --ssh_private_key
, --SSH_USER
Параметры для Sparrowform Launcherer Так что Sparrowdo знает, как подключиться к экземплярам SSH:
$ sparrowform --bootstrap --ssh_private_key=~/.ssh/aws.pub --ssh_user=ec2-user
Посмотрите на Sparrowform знать больше. Последний изящный пример, чтобы сделать вас оживленным:
# We can avoid creating Sparrowdo scenarios, using Sparrowdo modules as # This one liner. # Let's install Nginx server on all instances: $ zef install Sparrowdo::Nginx $ sparrowform --ssh_private_key=~/.ssh/aws.pub --ssh_user=ec2-user --module_run=Nginx
Оригинал: «https://dev.to/melezhik/sparrowform—sparrowdo-provision-for-terraform-backed-instances-3kkp»