Bas*_*igt 6 amazon-web-services ansible ansible-playbook
我们正在使用Ansible在我们所有运行有状态服务(例如数据库、搜索引擎等)的 EC2 实例上推出安全更新。这很好用。
我想知道在 ECS 实例(在 Docker 容器中运行无状态 Web 应用程序)上进行安全更新的最佳方法是什么。由于自动扩展,实例数量及其 IP 地址有很多动态变化。Ansible使用硬编码的 IP 地址列表(hosts 文件),因此它似乎并不真正符合目的。
更新这些实例是否是一个好主意,还是我们应该将它们拆除并每隔一段时间产生新的实例?
有来自 DevOps 人员的最佳实践吗?
更新:
我发现 Ansible 支持动态库存。有一个脚本可以从 AWS 获取有关主机的信息并为 Ansible 生成动态清单,这很好用。
然而,仍然存在一个问题。每当有我以前未连接过的新主机时,都会显示以下消息,必须手动确认。
The authenticity of host '10.0.1.247 (10.0.1.247)' can't be established.
ECDSA key fingerprint is SHA256:GSogs6P6CzbOzLm9ByWsXkfz7/2A4qwj4PDvczApS/I.
Are you sure you want to continue connecting (yes/no)? yes
Run Code Online (Sandbox Code Playgroud)
这很烦人,因为我想实现一个完全自动化的更新机制。这个问题有解决方案吗?
每当有一个我以前没有连接过的新主机时,就会显示以下消息,必须手动确认。[ ] 这个问题有解决办法吗?
修改 的ssh_connection
,ansible.cfg
使其包含-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
参数。
例如:
[ssh_connection]
ssh_args = -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
878 次 |
最近记录: |