簡體   English   中英

如何在 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 文件的 URL。 此類文件的內容Yumrepo資源的屬性所描述的內容。 應用Yumrepo資源涉及管理存儲庫描述文件的內容,而不是通過yum-config-manager或其他方式從其他地方獲取外部文件。

您有很多選擇,但這里有一些更可能的選擇:

  • 從 docker.com 獲取指定的文件,存放在你模塊的files目錄中,並通過File資源在目標節點上安裝和管理。

  • 在某個也有 Puppet 的節點上安裝 repo 文件,並使用puppet resource命令獲取結果的 Yumrepo 資源的 Puppet DSL 表示。 把這些放到合適的類上。

或者,您可以在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文件生成一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM