当前位置: 首页 > 编程笔记 >

ansible 如何正确配置Ansible连接到Amazon Web Services

孔正文
2023-03-14
本文向大家介绍ansible 如何正确配置Ansible连接到Amazon Web Services,包括了ansible 如何正确配置Ansible连接到Amazon Web Services的使用技巧和注意事项,需要的朋友参考一下

示例

管理按比例缩放的AWS资源会遇到静态清单主机文件的限制,这就是为什么我们需要动态的东西。这就是动态库存的用途。开始吧:

将这些文件ec2.ini和ec2.py文件下载到您的项目文件夹中:

cd my_ansible_project 
wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.py    
wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.ini

完成后,使ec2.py文件可执行:

chmod +x ec2.py

现在,将您的AWS Secret and Access密钥导出为环境变量:

export AWS_ACCESS_KEY_ID='ABCDEFGHIJKLM'
export AWS_SECRET_ACCESS_KEY='NOPQRSTUVWXYZ'

要使用ec2.py脚本,我们需要Python AWS SDK,boto因此您需要安装它:

sudo pip install boto

要测试一切是否良好,请尝试ec2.py通过列出您的资源来执行:

./ec2.py --list

您应该看到类似以下内容:

{
  "_meta": {
    "hostvars": {}
  }
}

现在,我们要使用动态清单以及静态主机文件。首先,创建一个文件夹叫inventory,加ec2.py,ec2.ini和我们的hosts文件,它然后告诉Ansible使用该文件夹作为一个清单文件:

mkdir inventory 
mvec2.pyinventory/ec2.py
mvec2.iniinventory/ec2.ini
mv hosts inventory/hosts

接下来,我们应该在项目文件夹中创建一个名为Ansible的配置文件,ansible.cfg并添加以下内容,从而为Ansible定义项目级别的配置:

[defaults]
hostfile = inventory
[ssh_connection]
pipelining = False
ssh_args = -o ControlMaster=auto -o ControlPersist=30m -o StrictHostKeyChecking=no

接下来,我们需要配置Ansible使用SSH密钥来验证对我们的EC2实例的访问。使用SSH代理是通过资源进行身份验证的最佳方法,因为这样可以更轻松地管理密钥:

ssh-agent bash 
ssh-add ~/.ssh/keypair.pem

而已!如果遵循此步骤,则可以使用该ping模块对其进行测试,然后,您将看到已配置为使用键响应pong的正在运行的实例:

ansible -m ping all
11.22.33.44 | success >> {
    "changed": false, 
    "ping": "pong"
}
           

 类似资料:
  • 可以配置什麼? 从基本的,主机目录文件”inventory”,extra module放置路径”library” ,远程主机的临时文件位置” remote_tmp” ,管理节点上临时文件的位置”local_tmp” inventory = /etc/ansible/hosts library = /usr/share/my_modules/ remote_tmp =

  • 我试图在多台服务器上运行ansible角色,但出现错误: 致命:[192.168.0.10]:无法到达= 我的/etc/ansible/hosts文件如下所示: 我不知道发生了什么-一切看起来都很好-我可以通过SSH登录,但ansible ping返回相同的错误。 详细执行的日志: 你能帮我个忙吗?如果我必须在本地模式(-c local)下使用ansible,那么它是无用的。 我试图删除ansib

  • Ansible的一些的设置可以通过配置文件完成.在大多数场景下默认的配置就能满足大多数用户的需求,在一些特殊场景下,用户还是需要自行修改这些配置文件 用户可以修改一下配置文件来修改设置,他们的被读取的顺序如下: * ANSIBLE_CONFIG (一个环境变量) * ansible.cfg (位于当前目录中) * .ansible.cfg (位于家目录中) * /etc/ansible/an

  • 问题内容: 我正在使用Ansible来配置服务器,我安装了Jenkins 2.0,但是当我打开Web UI时,它具有启动配置。我该如何使用Ansible或shell或jenkins-cli。CentOS 7,Ansible 2.0.1.0。所以, 从http://pkg.jenkins-ci.org/redhat-rc/jenkins-2.0-1.1.noarch.rpm rpm 安装Jenkin

  • 本文向大家介绍如何在CentOS 7上安装和配置Ansible,包括了如何在CentOS 7上安装和配置Ansible的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将学习如何在CentOS 7(一个自动化配置管理系统)上配置Ansible。该系统可以通过易于管理的方式控制大量客户端计算机,可以从中央位置自动进行管理。 Ansible通过SSH隧道进行通信,不需要在客户端计算机上安装任何软

  • 问题内容: 我不时看到有关连接数据库的问题。 大多数答案不是我做的方式,否则我可能只是无法正确获得答案。无论如何; 我从未考虑过,因为我的工作方式对我有效。 但是这里有个疯狂的想法;也许我做错了所有,如果是这样的话;我真的很想知道如何使用PHP和PDO正确连接到MySQL数据库并使其易于访问。 这是我的做法: 首先,这是我的文件结构 (向下精简) : index.php 在最顶部,我有。 load