计划

ENTERPRISE

计划使用 DC/OS 包注册表

存储

默认

DC/OS 包注册表的默认配置是将 DC/OS 包存储在主机文件系统中的本地持久卷中。使用此默认存储配置时,您 仅限使用注册表的一个实例。DC/OS 包注册表还支持通过 S3 存储选项存储 DC/OS 包,从而支持部署多个注册表实例。

S3 存储选项

要配置 DC/OS 包注册表以使用 S3 存储选项存储 DC/OS 包,您必须提供特定的 S3 端点、bucket 名称、访问密钥和密码。使用 Amazon S3 时,请参考 Amazon S3 区域和端点,了解有关潜在端点的详细信息。

将 S3 凭据上传到 DC/OS 密钥存储库

dcos security secrets create -f ~/.aws/credentials <registry-s3-credential-file>

有关如何创建 AWS 凭据文件的信息,请参阅 AWS CLI 用户指南

配置和安装 DC/OS 包注册表

echo '{
  "registry": {
    "service-account-secret-path": "registry-private-key",
    "s3" : {
      "credential-secret-path" : "registry-s3-credential-file",
      "credential-profile-name" : "default",
      "bucket" : "my-bucket",
      "path" : "my-path-in-bucket",
      "endpoint" : "https://s3.us-east-1.amazonaws.com"
    },
    "service" : {
      "instances" : 2
    }
  }
}' > registry-options.json

默认配置将 DC/OS 包注册表的服务帐户的密钥设置为存储在 DC/OS 密钥存储库的 registry-private-key 中。此外,如果不是存储在这里,请将 registry-private-key 替换为正确的文件名。

注意:您必须覆盖 bucket 路径端点等属性的值才能匹配 S3 配置。

Docker 引擎集成

要使 Docker 守护程序能够获取存储在 DC/OS 包注册表中的镜像,必须将其配置为信任 DC/OS 包注册表。Docker 提供 配置文档 协助实现该配置。注册表的名称是:<service-name>.marathon.l4lb.thisdcos.directory<service-name>是安装 DC/OS 包注册表时使用服务的名称。服务名称默认为 registry

要在所有 DC/OS 代理节点(公用和专用节点)中配置 Docker 守护程序,以信任 DC/OS 包注册表的默认配置,请执行以下命令:

sudo mkdir -p /etc/docker/certs.d/registry.marathon.l4lb.thisdcos.:443
sudo cp /run/dcos/pki/CA/ca-bundle.crt /etc/docker/certs.d/registry.marathon.l4lb.thisdcos.directory:443/ca.crt
sudo systemctl restart docker

必须对所有 DC/OS 代理节点执行此配置。