我有一个Terraform+Ansible组合,它设置一个OVH云实例,然后使用provisioners在其上运行一个Ansible剧本。当我在本地运行时,我可以通过命令行直接提供公钥和私钥(不使用文件路径),terraform apply运行得很好。
在Terraform上,我将键作为变量创建。当我运行Terraform计划时,remote-exec提供程序工作,并按其应有的方式连接到实例。但是,local-exec对Permission denied (publickey)失败。我遗漏了什么?
我的供给者街区:
# Dummy resource to hold the provisione
我正在创建一个Ansible Playbook,我已经创建了一个新的AWS EC2实例。我现在想要将SSH放到这个实例中,并在该实例的shell中运行一些命令。我该怎么做呢?是否有一种通过ansible生成键盘的方法,还是最好使用现有的键盘?
我在网上查看了Ansible ec2的在线资源--在ec2 ()中创建、终止、启动或停止一个实例,以及在线博客。虽然,我还没有弄清楚如何在实例中使用SSH,也没有在网上看到一个示例。
使用:
- name: Wait for SSH to come up
wait_for:
host: "{{ item.publi
我正在为我的项目设置Ansible dynamic inventory配置。当AWS自动缩放事件发生时,会向Jenkins发出请求(Jenkins通过Ansible管理构建过程),以触发新添加的服务器上的构建。
当动态库存使用基于标签的方法时,自动缩放事件会添加新服务器并触发构建。但是,当旧的和新添加的服务器中都存在相同的标记时,所有服务器上都会触发新的构建。
我正在采取的解决方法是在参数化的构建过程中将公共ip参数传递给Jenkins。然后,可以使用此公有IP来决定两个Ansible命令中的任何一个:
if ["x$public_ip" == "x"] the
我有kolla-ansible openstack ussuri集群。它曾经运行得很好。意外情况下,实例无法访问元数据服务。openstack中的密钥对未导入到实例中。我检查了实例日志。我发现了这个警告:
[WARNING]: No active metadata service found
我检查了neutron_metadata_agent是否在运行。我在运行这个问题之前创建的实例时尝试了curl http://169.254.169.254/openstack
ubuntu@test-vm:~$ curl http://169.254.169.254/openstack
curl: (7
是否有可能/有效地以下列形式为流浪的无意义供给者运行多本剧本:
config.vm.define "repo", primary: true do |d|
d.vm.hostname = "some.hostname"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
d.vm.network :private_network, ip: "10.10.2.90"
d
我正在创建一个叫做Ansible playbook的Vagrantfile文件。它运行得很好。
我的问题是,当我在vagrant上使用"each“循环进行部署时,Ansible剧本在每次创建机器时都会运行。预期的行为是Ansible提供程序仅在所有VM启动后运行。
我的Vagrantfile编码如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Define Vagrant API version, the virtualization provider and the location of the param file and it
我是Ansible的新手,我写了一本Ansible的剧本,它将启动EC2实例。我想要保存创建的实例的公网IP或DNS名称,以便我可以对其进行其他操作。
tasks:
- name: Create a security group
local_action:
module: ec2_group
name: "{{ security_group }}"
description: Security Group for webserver Servers
region: "{{ region }}"
是否可以将IP地址作为参数“Source_IP”传递给“ansible剧本”并将其用作主机?
下面是我的剧本ipinhost.yml:
---
- name: Play 2- Configure Source nodes
hosts: "{{ Source_IP }}"
serial: 1
tasks:
- name: Copying from "{{ inventory_hostname }}" to this ansible server.
debug:
msg: "MY IP IS: {{ Source_
我有下面的游戏手册。
---
- name: Ansible playbook to create a new aws dev instance
hosts: localhost
roles:
- aws
- name: Set up the dev server
hosts:
roles:
- services
在aws角色中,我创建一个ec2实例并将其注册为ec2_instance。如何在第二次播放的主机中使用新创建的实例的公共IP。
我应该用像hosts: ec2_instance.public_ip这样的东西吗?