我如何在 Puppet 中使用 yumrepo 添加 Docker 存储库?
How do i use yumrepo in Puppet to add the Docker repos?
根据 Docker 文档,yum 存储库列表是通过此命令添加的:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
我想让 Puppet 为我做这件事,所以我希望这会起作用:
yumrepo { "docker":
descr => 'docker',
baseurl => 'https://download.docker.com/linux/centos/docker-ce.repo',
enabled => 1
}
但是,这行不通。
不幸的是,yum-config-manager 中使用的 URL 包含完整的 name/baseurl/enabled/gpgcheck/gpgkey 条目列表,而 yumrepo 只需要其中一个条目。那么,有没有办法用一个 yumrepo 命令或其他命令在 docker URL 中添加整个条目列表?
Docker指令中的URL是要安装在系统上的.repo文件。 此类文件的内容 是 Yumrepo
资源的属性描述的内容。应用 Yumrepo
资源涉及管理存储库描述文件的内容,而不是从其他地方获取外部文件,无论是通过 yum-config-manager
还是其他方式。
您有很多选择,但以下是一些更有可能的选择:
从docker.com获取指定文件,将其存储在模块的files
目录中,并通过File
资源在目标节点上安装和管理它。
在一些也有 Puppet 的节点上安装 repo 文件,并使用 puppet resource
命令获取由此产生的 Yumrepo 资源的 Puppet DSL 表示。把这些放到master上合适class.
或者您可以在 docker-ce.repo
中达到峰值并编写正确的 yumrepo 配置:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
进入:
yumrepo { 'docker-ce-stable':
name => 'Docker CE Stable',
baseurl => 'https://download.docker.com/linux/centos/$releasever/$basearch/stable',
enabled => 1,
gpgcheck => 1,
gpgkey => https://download.docker.com/linux/centos/gpg',
}
看起来很简单,可以通过 sed
或其他工具从 docker-ce.repo
文件生成一次。
根据 Docker 文档,yum 存储库列表是通过此命令添加的:
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
我想让 Puppet 为我做这件事,所以我希望这会起作用:
yumrepo { "docker":
descr => 'docker',
baseurl => 'https://download.docker.com/linux/centos/docker-ce.repo',
enabled => 1
}
但是,这行不通。
不幸的是,yum-config-manager 中使用的 URL 包含完整的 name/baseurl/enabled/gpgcheck/gpgkey 条目列表,而 yumrepo 只需要其中一个条目。那么,有没有办法用一个 yumrepo 命令或其他命令在 docker URL 中添加整个条目列表?
Docker指令中的URL是要安装在系统上的.repo文件。 此类文件的内容 是 Yumrepo
资源的属性描述的内容。应用 Yumrepo
资源涉及管理存储库描述文件的内容,而不是从其他地方获取外部文件,无论是通过 yum-config-manager
还是其他方式。
您有很多选择,但以下是一些更有可能的选择:
从docker.com获取指定文件,将其存储在模块的
files
目录中,并通过File
资源在目标节点上安装和管理它。在一些也有 Puppet 的节点上安装 repo 文件,并使用
puppet resource
命令获取由此产生的 Yumrepo 资源的 Puppet DSL 表示。把这些放到master上合适class.
或者您可以在 docker-ce.repo
中达到峰值并编写正确的 yumrepo 配置:
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
进入:
yumrepo { 'docker-ce-stable':
name => 'Docker CE Stable',
baseurl => 'https://download.docker.com/linux/centos/$releasever/$basearch/stable',
enabled => 1,
gpgcheck => 1,
gpgkey => https://download.docker.com/linux/centos/gpg',
}
看起来很简单,可以通过 sed
或其他工具从 docker-ce.repo
文件生成一次。