repo

提供一个简单的接口来安装或删除新的 Apt 或 RPM repo 文件。

Apt repo 文件添加在 /etc/apt/sources.list.d 中,而 RPM repo 文件添加在 /etc/yum.repos.d 中。

安装 repo

Repo 可以通过 CLI 参数定义,也可以在 cephdeploy.conf 中定义并通过名称引用。

添加 repo 的通用格式是

ceph-deploy repo --repo-url <repo_url> --gpg-url <optional URL to GPG key> <repo-name> <host> [host [host ...]]

例如为 EL7 添加 Ceph rpm-hammer repo:

ceph-deploy repo --repo-url http://ceph.com/rpm-hammer/el7/x86_64/ --gpg-url 'https://download.ceph.com/keys/release.asc' ceph HOST1

在此示例中,repo-name 是 ceph,将创建文件 /etc/yum.repos.d/ceph.repo。由于传递了 --gpg-url,repo 将具有 gpgcheck=1 并引用给定的 GPG 密钥。

对于 APT,等效的示例是

ceph-deploy repo --repo-url http://ceph.com/debian-hammer --gpg-url 'https://download.ceph.com/keys/release.asc' ceph HOST1

如果在 cephdeploy.conf 中定义了一个 repo,如下所示

[ceph-mon]
name=Ceph-MON
baseurl=https://cephmirror.com/hammer/el7/x86_64
gpgkey=https://cephmirror.com/release.asc
gpgcheck=1
proxy=_none_

可以使用此命令安装它

ceph-deploy repo ceph-mon HOST1

ceph-deploy repo 将始终首先检查 cephdeploy.conf 中是否存在匹配的 repo 名称。

repo 可能会受到密码保护,URL 结构可能如下所示

https://<user>:<password>@host.com/...

在这种情况下,Apt 仓库将以 0600 模式创建,以确保密码不可被全局读取。您也可以使用 CEPH_DEPLOY_REPO_URLCEPH_DEPLOY_GPG_URL 环境变量代替 --repo-url--gpg-url,以避免将敏感凭据放置在命令行上(从而在进程表中可见)。

注意

目前,当存在密码时,repo 文件以模式 0600 写入仅针对 Apt repo 执行。

删除

Repo 只需按名称删除。添加 repo 的通用格式是

ceph-deploy repo --remove <repo-name> <host> [host [host...]]

要删除 /etc/yum.repos.d/ceph.repo 处的 repo,请执行

ceph-deploy repo --remove ceph HOST1

1.5.27 版中的新功能。