【问题标题】:Ansible provisioning without internet access无需 Internet 访问的 Ansible 配置
【发布时间】:2019-06-08 14:23:02
【问题描述】:

我知道您可以在 Ansible 中设置代理以在公司网络后面进行配置: https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html

像这样:

environment:
    http_proxy: http://proxy.example.com:8080

不幸的是,在我的情况下,服务器根本无法访问互联网。在本地下载角色并将它们放在 /roles 文件夹下似乎可以解决角色问题,但是角色在使用时仍然从互联网下载包:

package:
   name: package-name
   state: present

我想没有办法让 Ansible 下载所有包,然后将其推送到 repo 并使用本地下载的包运行 Ansible 配置?

【问题讨论】:

    标签: ansible rhel ansible-role


    【解决方案1】:

    这并不是关于 Ansible 的真正问题,因为 Ansible 所做的只是在目标主机上运行相关的包管理系统(即 yum、dnf 或 apt 或其他)。因此,对于这种情况,具体的包管理工具提供什么解决方案是一个问题。

    有多种解决方案,例如在 Centos/RHEL 世界中,您可以:

    还有另一类工具,通常称为人工制品存储库。它们最初是作为存储由代码构建的二进制文件的工具,但添加了许多功能来充当代理和缓存来自各种来源(OS 包、PIP、NodeJS、Docker 等)的包。免费提供有限的两个示例:

    当然,他们仍然需要从某个来源收集这些包,因此在某些时候必须下载这些包以放置在这些系统中。

    【讨论】:

    • 感谢clockworknet,你是​​对的,它可能与包管理工具更相关
    【解决方案2】:

    就像clockworknet 指出的那样,这与RHEL 包处理更相关。在封闭网络内的某处设置本地镜像可以在这种情况下提供解决方案。有关“如何在不使用 Satellite 服务器的情况下为 Red Hat Enterprise Linux 5、6、7 创建最新更新的本地镜像?”的更多信息:https://access.redhat.com/solutions/23016

    【讨论】:

      【解决方案3】:

      我的解决方案:

      注意:对 APT 这样做并且工作正常,预计 yum 也是如此

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-31
        • 2019-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-30
        • 1970-01-01
        相关资源
        最近更新 更多