部署 Red Hat Quay 用于概念验证(非生产环境)目的
前言 复制链接链接已复制到粘贴板!
Red Hat Quay 是一个企业级的 registry,用于构建、保护并提供容器镜像。这个步骤描述了如何部署 Red Hat Quay 进行概念验证(非生产环境)。
第 1 章 概述 复制链接链接已复制到粘贴板!
Red Hat Quay 的功能包括:
- 高可用性
- geo-replication
- 存储库镜像
- docker v2, schema 2(multiarch)支持
- 持续集成
- 使用 Clair 进行安全扫描
- 自定义日志轮转
- 零停机时间垃圾回收
- 24/7 支持
Red Hat Quay 支持:
- 多个身份验证和访问方法
- 多个存储后端
- Quay、Clair 和存储后端的自定义证书
- 应用程序 registry
- 不同的容器镜像类型
1.1. 架构 复制链接链接已复制到粘贴板!
Red Hat Quay 包含多个核心组件,包括内部和外部。
1.1.1. 内部组件 复制链接链接已复制到粘贴板!
-
Quay(容器 registry) :将
Quay
容器作为服务运行,由 pod 中的几个组件组成。 - Clair :扫描容器镜像以了解漏洞,并推荐修复。
1.1.2. 外部组件 复制链接链接已复制到粘贴板!
- 数据库 :Red Hat Quay 用作其主要元数据存储。请注意,这不适用于镜像存储。
- redis(key-value 存储): 存储实时构建器日志和 Red Hat Quay 教程。
云存储 :对于支持的部署,您需要使用以下类型的存储之一:
- 公有云存储 :在公有云环境中,您应该使用云供应商的对象存储,如 Amazon Web Services 的 Amazon S3 或 Google Cloud 的 Google Cloud Storage。
- 私有云存储 :在私有云中,需要 S3 或 Swift 兼容对象存储,如 Ceph RADOS 或 OpenStack Swift。
对于任何生产配置,不要使用"本地挂载目录"存储引擎。不支持挂载的 NFS 卷。本地存储只用于 Red Hat Quay 测试的安装。
第 2 章 Red Hat Quay 入门 复制链接链接已复制到粘贴板!
Red Hat Quay registry 可以针对单个机器(物理或虚拟)中的非生产环境部署,并符合以下规格:
2.1. 先决条件 复制链接链接已复制到粘贴板!
- Red Hat Enterprise Linux(RHEL)8 :获取最新的 Red Hat Enterprise Linux 8 服务器介质(从 下载页 ),并根据 Red Hat Enterprise Linux 8 产品文档中的安装说明进行操作。
- 有效的红帽订阅:配置 有效的 Red Hat Enterprise Linux 8 服务器订阅。
- CPU :两个或更多虚拟 CPU。
- RAM :4GB 或更多.
磁盘空间 :所需的磁盘空间取决于 registry 的存储需求。大约 30GB 磁盘空间应该足够用于测试系统,如下所示:
- 至少 10GB 磁盘空间用于 Red Hat Enterprise Linux 操作系统。
- 至少 10GB 磁盘空间用于 docker 存储(运行 3 个容器)。
- 至少 10GB 磁盘空间用于 Quay 本地存储。请注意,CEPH 或其他本地存储可能需要更多内存。
有关调整大小的更多信息,请参阅 Quay 3.x 大小 Guidlines。
强烈建议使用 Red Hat Enterprise Linux(RHEL)8 以获得 Red Hat Quay 3.7 的生产质量部署。RHEL 7 还没有与 Red Hat Quay 3.7 进行测试,并将在以后的版本中被弃用。
2.1.1. 使用 Podman 复制链接链接已复制到粘贴板!
本文档使用 Podman 来创建和部署容器。如果您的系统上没有安装 Podman,则可以使用对应的 Docker 命令。有关 Podman 和相关技术的更多信息,请参阅在 Red Hat Enterprise Linux 8 中构建、运行和管理 Linux 容器。
强烈建议使用 Podman 进行 Red Hat Quay 3.7 的高可用性、生产质量部署。Docker 尚未与 Red Hat Quay 3.7 进行测试,并将在以后的版本中弃用。
2.2. 配置 Red Hat Enterprise Linux 服务器 复制链接链接已复制到粘贴板!
2.2.1. 安装并注册 RHEL 服务器 复制链接链接已复制到粘贴板!
- 安装最新的 RHEL 8 服务器。如果您想一个桌面,可以执行最小、shell 访问功能,或安装 Server 和 GUI。
- 注册并订阅您的 RHEL 服务器系统,如 How to register and subscribe a system… 所述。
使用以下命令注册您的系统并列出可用的订阅。选择一个可用的 RHEL 服务器订阅,附加到其池 ID 并升级到最新版本:
subscription-manager register --username=<user_name> --password=<password> subscription-manager refresh subscription-manager list --available subscription-manager attach --pool=<pool_id> yum update -y
# subscription-manager register --username=<user_name> --password=<password> # subscription-manager refresh # subscription-manager list --available # subscription-manager attach --pool=<pool_id> # yum update -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. 安装 Podman 复制链接链接已复制到粘贴板!
如果还没有在系统中安装 Podman:
sudo yum install -y podman
$ sudo yum install -y podman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,您可以安装
container-tools
模块,该模块会拉取到完整的容器软件包集合:sudo yum module install -y container-tools
$ sudo yum module install -y container-tools
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3. Registry 身份验证 复制链接链接已复制到粘贴板!
将身份验证设置为
registry.redhat.io
,以便可以拉取Quay
容器,如 Red Hat Container Registry Authentication 所述。请注意,这与早期的 Red Hat Quay 版本不同,该镜像托管在quay.io
上。您可以使用以下命令登录到 registry:
sudo podman login registry.redhat.io
$ sudo podman login registry.redhat.io Username: <username> Password: <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. 防火墙配置 复制链接链接已复制到粘贴板!
如果您在系统上运行了防火墙,可能需要添加允许访问 Red Hat Quay 的规则。所需的命令取决于您映射的端口,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.5. IP 地址和命名服务 复制链接链接已复制到粘贴板!
在 Red Hat Quay 中配置组件容器的方法有很多,它们可以相互通信:
使用容器的 IP 地址: 您可以使用
podman inspect
确定容器的 IP 地址,然后在指定连接字符串时在配置工具中使用这些值,例如:sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay
$ sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这种方法容易受到主机重启的影响,因为重启后容器的 IP 地址会改变。
- 使用命名服务: 如果您希望部署在容器重启后保留,这通常会导致更改的 IP 地址,您可以实现命名服务。例如,可以使用 dnsname 插件用于允许容器按名称相互解析。
-
使用主机网络: 您可以使用带有
--net=host
选项的podman run
命令,然后在指定配置中地址时使用主机上的容器端口。当两个容器希望使用相同的端口时,这个选项容易受到端口冲突,因此不建议这样做。 - 配置端口映射: 您可以使用端口映射在主机上公开端口,然后将这些端口与主机 IP 地址或主机名结合使用。
本文档使用端口映射,并假定主机系统的静态 IP 地址。在此部署中,我们使用 quay-server.example.com
和系统的 IP 地址 192.168.1.112
,并在 /etc/hosts
文件中建立这些信息:
cat /etc/hosts ... 192.168.1.112 quay-server.example.com
$ cat /etc/hosts
...
192.168.1.112 quay-server.example.com
组件 | 端口映射 | address |
---|---|---|
Quy |
| http://quay-server.example.com |
Quay 的 Postgres |
| quay-server.example.com:5432 |
Redis |
| quay-server.example.com:6379 |
Clair V4 的 Postgres |
| quay-server.example.com:5433 |
Clair V4 |
| http://quay-server.example.com:8081 |
2.3. 配置数据库 复制链接链接已复制到粘贴板!
Quay 需要数据库来存储元数据。Postgres 用于本文档,建议用于高可用性配置。或者,您可以使用 MySQL 与配置类似的方法,如下所述。
2.3.1. 设置 Postgres 复制链接链接已复制到粘贴板!
在概念验证方案中,您将使用本地文件系统上的目录来持久保留数据库数据。
在安装文件夹中,由变量 $QUAY 表示,为数据库数据创建一个目录,并正确设置权限:
mkdir -p $QUAY/postgres-quay setfacl -m u:26:-wx $QUAY/postgres-quay
$ mkdir -p $QUAY/postgres-quay $ setfacl -m u:26:-wx $QUAY/postgres-quay
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
podman run
启动Postgres
容器,指定用户名、密码、数据库名称和端口,以及数据库数据的卷定义:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保安装了 Postgres
pg_trgm
模块,因为 Quay 需要它:sudo podman exec -it postgresql-quay /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U postgres'
$ sudo podman exec -it postgresql-quay /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U postgres'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. 配置 Redis 复制链接链接已复制到粘贴板!
Redis ia 是一个键值存储,供 Quay 用于实时构建器日志和 Red Hat Quay 教程。
2.4.1. 设置 Redis 复制链接链接已复制到粘贴板!
使用
podman run
启动Redis
容器,指定端口和密码:sudo podman run -d --rm --name redis \ -p 6379:6379 \ -e REDIS_PASSWORD=strongpassword \ registry.redhat.io/rhel8/redis-5:1
$ sudo podman run -d --rm --name redis \ -p 6379:6379 \ -e REDIS_PASSWORD=strongpassword \ registry.redhat.io/rhel8/redis-5:1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. 配置 Red Hat Quay 复制链接链接已复制到粘贴板!
在运行 Red Hat Quay 服务前,您需要生成一个配置文件,其中包含所有组件的详细信息,包括注册表设置,以及数据库和 Redis 连接参数。
要生成配置文件,可在
config
模式下运行Quay
容器,指定密码,例如:字符串secret
。sudo podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
$ sudo podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用您的浏览器访问配置工具的用户界面
http://quay-server.example.com
。请注意,本文档假设您已在/etc/hosts
文件中配置了quay-server.example.com
主机名。 -
使用用户名
quayconfig
和密码secret
登录,或者上述podman run
命令中指定的任何值。
2.5.1. Red Hat Quay 设置 复制链接链接已复制到粘贴板!
在配置编辑器中输入以下详情:
- 基本配置
- 服务器配置
- 数据库
- Redis
2.5.1.1. 基本配置 复制链接链接已复制到粘贴板!
在基本配置设置中,完成 registry 标题和 registry 短标题字段。如果填充了默认值,则可使用默认值。
2.5.1.2. 服务器配置 复制链接链接已复制到粘贴板!
指定可以访问 registry 的位置的 HTTP 主机和端口。如果您遵循本文档中的说明,请输入 quay-server.example.com
。
2.5.1.3. 数据库 复制链接链接已复制到粘贴板!
在数据库部分中,为 Red Hat Quay 用来存储元数据的数据库指定连接详情。如果您遵循本文档中用于部署概念验证系统的说明,则输入以下值:
- 数据库类型: Postgres
- 数据库服务器: quay-server.example.com:5432
- Username: quayuser
- Password: quaypass
- 数据库名称: quay
2.5.1.4. Redis 复制链接链接已复制到粘贴板!
Redis 键-值存储用于存储实时事件和构建日志。如果您遵循本文档中用于部署概念验证系统的说明,则输入以下值:
- Redis Hostname: quay-server.example.com
- Redis 端口: 6379(默认)
- Redis password: strongpassword
2.5.2. 验证并下载配置 复制链接链接已复制到粘贴板!
设定了所有必填字段后,单击 Validate Configuration Changes
来验证您的设置。如果报告了任何错误,请继续编辑您的配置,直到所有必填字段有效且 Red Hat Quay 可以连接到您的数据库和 Redis 服务器。
在配置有效后,下载配置
文件。停止正在运行配置编辑器的 Quay
容器。
2.6. 部署 Red Hat Quay 复制链接链接已复制到粘贴板!
2.6.1. 先决条件 复制链接链接已复制到粘贴板!
- 您的 Quay 数据库和 Redis 服务器正在运行。
- 您已生成了有效的配置捆绑包。
-
您已停止了用于运行配置编辑器的
Quay
容器。
2.6.2. 准备配置文件夹 复制链接链接已复制到粘贴板!
解包配置捆绑包,以便 Quay 可以使用它:
mkdir $QUAY/config cp ~/Downloads/quay-config.tar.gz $QUAY/config cd $QUAY/config tar xvf quay-config.tar.gz
$ mkdir $QUAY/config $ cp ~/Downloads/quay-config.tar.gz $QUAY/config $ cd $QUAY/config $ tar xvf quay-config.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.3. 为镜像数据准备本地存储 复制链接链接已复制到粘贴板!
对于这个概念验证部署,请使用本地文件系统来存储 registry 镜像:
mkdir $QUAY/storage setfacl -m u:1001:-wx $QUAY/storage
$ mkdir $QUAY/storage $ setfacl -m u:1001:-wx $QUAY/storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6.4. 部署 Red Hat Quay registry 复制链接链接已复制到粘贴板!
使用
podman run
启动Quay
容器。为您的镜像数据指定适当的卷,并为镜像数据指定本地存储:sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13
$ sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. 使用 Red Hat Quay 复制链接链接已复制到粘贴板!
以下步骤允许您使用接口并创建新的组织和存储库,并搜索和浏览现有存储库。第 3 步,您可以使用 命令行界面与 registry 交互,以及推送和拉取镜像。
-
使用浏览器访问位于
http://quay-server.example.com
的 Red Hat Quay registry 的用户界面,假设您在/etc/hosts
文件中配置了quay-server.example.com
作为主机名。 -
单击
Create Account
,再添加用户,例如quayadmin
,密码为
。 在命令行中登录到 registry:
sudo podman login --tls-verify=false quay-server.example.com
$ sudo podman login --tls-verify=false quay-server.example.com Username: quayadmin Password: password Login Succeeded!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7.1. 推送和拉取镜像 复制链接链接已复制到粘贴板!
要从 Red Hat Quay registry 中测试推送和拉取镜像,首先从外部 registry 中提取示例镜像:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
podman images
命令查看本地副本:sudo podman images
$ sudo podman images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/busybox latest 22667f53682a 14 hours ago 1.45 MB ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 标记此镜像以准备将其推送到 Red Hat Quay registry:
sudo podman tag docker.io/library/busybox quay-server.example.com/quayadmin/busybox:test
$ sudo podman tag docker.io/library/busybox quay-server.example.com/quayadmin/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接下来,将镜像推送到 Red Hat Quay registry。按照以下步骤,您可以使用浏览器在存储库中查看标记的镜像。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从命令行测试对镜像的访问,请首先删除镜像的本地副本:
sudo podman rmi quay-server.example.com/quayadmin/busybox:test
$ sudo podman rmi quay-server.example.com/quayadmin/busybox:test Untagged: quay-server.example.com/quayadmin/busybox:test
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 再次从 Red Hat Quay registry 拉取镜像:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 3 章 高级 Red Hat Quay 部署 复制链接链接已复制到粘贴板!
3.1. 使用 SSL 保护到 Red Hat Quay 的连接 复制链接链接已复制到粘贴板!
3.1.1. 使用 SSL 简介 复制链接链接已复制到粘贴板!
要使用 自签名证书 配置 Red Hat Quay,您需要创建一个证书颁发机构(CA),然后生成所需的密钥和证书文件。
以下示例假设您已使用 DNS 或其他命名机制配置了服务器主机名 quay-server.example.com
,例如在 /etc/hosts
文件中添加条目:
cat /etc/hosts ... 192.168.1.112 quay-server.example.com
$ cat /etc/hosts
...
192.168.1.112 quay-server.example.com
3.1.2. 创建证书颁发机构并签署证书 复制链接链接已复制到粘贴板!
在此过程结束时,您将分别具有名为 ssl.cert
和 ssl.key
的证书文件和主密钥文件。
3.1.2.1. 创建证书颁发机构 复制链接链接已复制到粘贴板!
生成 root CA 密钥:
openssl genrsa -out rootCA.key 2048
$ openssl genrsa -out rootCA.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成 root CA 证书:
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入将融入到证书请求的信息,包括服务器主机名,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.2.2. 签署证书 复制链接链接已复制到粘贴板!
生成服务器密钥:
openssl genrsa -out ssl.key 2048
$ openssl genrsa -out ssl.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成签名请求:
openssl req -new -key ssl.key -out ssl.csr
$ openssl req -new -key ssl.key -out ssl.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入将融入到证书请求的信息,包括服务器主机名,例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建配置文件
openssl.cnf
,指定服务器主机名,例如:openssl.cnf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用配置文件生成证书
ssl.cert
:openssl x509 -req -in ssl.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ssl.cert -days 356 -extensions v3_req -extfile openssl.cnf
$ openssl x509 -req -in ssl.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ssl.cert -days 356 -extensions v3_req -extfile openssl.cnf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3. 使用 UI 配置 SSL 复制链接链接已复制到粘贴板!
本节使用 Quay UI 配置 SSL。要使用命令行界面配置 SSL,请参阅以下部分。
以配置模式启动
Quay
容器:sudo podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
$ sudo podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 Server Configuration 部分中,选择
Red Hat Quay 处理 TLS
的 TLS。上传之前创建的证书和私钥文件,确保服务器主机名与创建证书时使用的值匹配。验证并下载更新的配置。 停止
Quay
容器,然后重新启动 registry:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.4. 使用命令行配置 SSL 复制链接链接已复制到粘贴板!
配置 SSL 时的另一个选项是使用命令行界面。
将证书文件和主密钥文件复制到您的配置目录中,确保它们分别命名为
ssl.cert
和ssl.key
:cp ~/ssl.cert $QUAY/config cp ~/ssl.key $QUAY/config cd $QUAY/config
$ cp ~/ssl.cert $QUAY/config $ cp ~/ssl.key $QUAY/config $ cd $QUAY/config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
config.yaml
文件,并指定希望 Quay 处理 TLS:config.yaml
... SERVER_HOSTNAME: quay-server.example.com ... PREFERRED_URL_SCHEME: https ...
... SERVER_HOSTNAME: quay-server.example.com ... PREFERRED_URL_SCHEME: https ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 停止
Quay
容器并重启 registry:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.5. 使用命令行测试 SSL 配置 复制链接链接已复制到粘贴板!
使用
podman login
命令尝试登录到启用了 SSL 的 Quay registry:sudo podman login quay-server.example.com
$ sudo podman login quay-server.example.com Username: quayadmin Password: Error: error authenticating creds for "quay-server.example.com": error pinging docker registry quay-server.example.com: Get "https://quay-server.example.com/v2/": x509: certificate signed by unknown authority
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Podman 不信任自签名证书。作为临时解决方案,使用
--tls-verify
选项:sudo podman login --tls-verify=false quay-server.example.com
$ sudo podman login --tls-verify=false quay-server.example.com Username: quayadmin Password: Login Succeeded!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
后续小节中涵盖了将 Podman 配置为信任根证书颁发机构(CA)。
3.1.6. 使用浏览器测试 SSL 配置 复制链接链接已复制到粘贴板!
当您尝试访问 Quay registry 时,在这种情况下 ,https://quay-server.example.com
,浏览器会警告潜在的风险:
继续登录屏幕,浏览器将通知您该连接不安全:
后续小节中涵盖了将系统配置为信任根证书颁发机构(CA)。
3.1.7. 配置 podman 信任证书颁发机构 复制链接链接已复制到粘贴板!
Podman 使用两个路径来定位 CA 文件,即 /etc/containers/certs.d/
和 /etc/docker/certs.d/
。
将 root CA 文件复制到这些位置之一,使用由服务器主机名确定的确切路径,并命名文件
ca.crt
:sudo cp rootCA.pem /etc/containers/certs.d/quay-server.example.com/ca.crt
$ sudo cp rootCA.pem /etc/containers/certs.d/quay-server.example.com/ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,如果您使用 Docker,您可以将 root CA 文件复制到对应的 Docker 目录中:
sudo cp rootCA.pem /etc/docker/certs.d/quay-server.example.com/ca.crt
$ sudo cp rootCA.pem /etc/docker/certs.d/quay-server.example.com/ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在登录到 registry 时,您应该不再需要使用 --tls-verify=false
选项:
sudo podman login quay-server.example.com
$ sudo podman login quay-server.example.com
Username: quayadmin
Password:
Login Succeeded!
3.1.8. 将系统配置为信任证书颁发机构 复制链接链接已复制到粘贴板!
将 root CA 文件复制到合并的系统范围信任存储中:
sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
$ sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新系统范围信任存储配置:
sudo update-ca-trust extract
$ sudo update-ca-trust extract
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以使用
trust list
命令来确保已经配置了 Quay 服务器:trust list | grep quay
$ trust list | grep quay label: quay-server.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,当您访问位于
https://quay-server.example.com
的 registry 时,锁定图标会显示连接的安全:要从系统范围信任中删除 root CA,请删除该文件并更新配置:
sudo rm /etc/pki/ca-trust/source/anchors/rootCA.pem sudo update-ca-trust extract trust list | grep quay
$ sudo rm /etc/pki/ca-trust/source/anchors/rootCA.pem $ sudo update-ca-trust extract $ trust list | grep quay $
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需了解更多信息,请参见《 使用共享系统证书 "一章中的 RHEL 8 文档。
3.2. Red Hat Quay 超级用户 复制链接链接已复制到粘贴板!
超级用户
是一个具有扩展权限的 Quay 用户帐户,包括以下功能:
- 管理用户
- 管理机构
- 管理服务密钥
- 查看更改日志
- 查询用量日志
- 创建全局可见的用户信息
3.2.1. 使用 UI 将超级用户添加到 Quay 复制链接链接已复制到粘贴板!
本节介绍如何使用 Quay UI 添加超级用户。要使用命令行界面添加超级用户,请参阅以下部分。
以配置模式启动
Quay
容器,将现有配置作为卷载入:sudo podman run --rm -it --name quay_config \ -p 8080:8080 \ -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
$ sudo podman run --rm -it --name quay_config \ -p 8080:8080 \ -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 UI 的
Access Settings
部分下,在Super Users
字段中输入用户名(在这个实例中,quayadmin
),然后单击Add
。 验证并下载
配置文件
,然后终止以配置模式运行的Quay
容器。将config.yaml
文件提取到配置目录中,并以 registry 模式重启Quay
容器:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. 编辑 config.yaml 文件以添加超级用户 复制链接链接已复制到粘贴板!
您还可以通过直接编辑 config.yaml
文件来添加超级用户。超级用户帐户列表作为数组存储在字段 SUPER_USERS
中。
如果正在运行,停止容器 registry,并在
config.yaml
文件中添加SUPER_USERS
数组:SERVER_HOSTNAME: quay-server.example.com SETUP_COMPLETE: true SUPER_USERS: - quayadmin ...
SERVER_HOSTNAME: quay-server.example.com SETUP_COMPLETE: true SUPER_USERS: - quayadmin ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.3. 访问超级用户 admin 面板 复制链接链接已复制到粘贴板!
重启 Quay registry:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 点击 UI 右上角的当前用户名或 avatar 来访问 Super User Admin Panel。如果以超级用户身份添加了该用户,则会在名为 Super User Admin Panel 的下拉列表中显示额外项目。
3.2.3.1. 创建全局可见的用户信息 复制链接链接已复制到粘贴板!
通过使用 Superuser Admin Panel,您可以为您的机构创建 Normal
、Warning
或 Error
消息。
-
在 UI 右上角点击您的用户名。选择
Super User Admin Panel
。 -
在 Red Hat Quay Management 页面中,单击左侧导航窗格中的
全局可见用户信息
。 点
Create Message
显示包含Normal
、Warning
和Error
message type 的下拉菜单:-
选择
Click to set message
并输入消息,然后单击Create Message
。
可以通过单击 Options
和 Delete Message
来删除消息。
3.3. 仓库镜像 复制链接链接已复制到粘贴板!
3.3.1. 存储库镜像 复制链接链接已复制到粘贴板!
通过 Red Hat Quay 存储库镜像,您可以将外部容器 registry(或其他本地 registry)的镜像镜像(或其他本地 registry)镜像到 Red Hat Quay 集群。使用存储库镜像功能,您可以根据存储库名称和标签将镜像同步到 Red Hat Quay。
在启用了存储库镜像的 Red Hat Quay 集群中,您可以:
- 从外部 registry 选择要进行镜像的存储库
- 添加凭证来访问外部 registry
- 识别要同步的特定容器镜像存储库名称和标签
- 设置同步存储库的时间间隔
- 检查同步的当前状态
要使用镜像功能,您需要:
- 在 Red Hat Quay 配置中启用存储库镜像
- 运行存储库镜像 worker
- 创建已镜像的存储库
所有存储库镜像配置都可使用配置工具 UI 或通过 Red Hat Quay API 执行
3.3.2. 镜像配置 UI 复制链接链接已复制到粘贴板!
以配置模式启动
Quay
容器,再选择 Enable Repository Images 复选框。如果要在镜像过程中需要 HTTPS 通信并验证证书,请选择 HTTPS 和证书验证复选框。-
验证并下载
配置文件
,然后使用更新的 配置文件在 registry 模式中重启 Quay。
3.3.3. 镜像 worker 复制链接链接已复制到粘贴板!
使用以下步骤启动存储库镜像 worker。
流程
如果您还没有使用
/root/ca.crt
证书配置 TLS 通信,请输入以下命令来使用repomirror
选项启动Quay
pod:sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ {productrepo}/{quayimage}:{productminv} repomirror
$ sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ {productrepo}/{quayimage}:{productminv} repomirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用
/root/ca.crt
证书配置了 TLS 通信,请输入以下命令启动存储库镜像 worker:sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ -v /root/ca.crt:/etc/pki/ca-trust/source/anchors/ca.crt:Z \ {productrepo}/{quayimage}:{productminv} repomirror
$ sudo podman run -d --name mirroring-worker \ -v $QUAY/config:/conf/stack:Z \ -v /root/ca.crt:/etc/pki/ca-trust/source/anchors/ca.crt:Z \ {productrepo}/{quayimage}:{productminv} repomirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. 创建已镜像的存储库 复制链接链接已复制到粘贴板!
本节所示的步骤假定您已在 Red Hat Quay 集群配置中启用了存储库镜像,并且已部署了镜像 worker。
从外部容器 registry 对存储库进行镜像(mirror)时,创建一个新的私有存储库。名称与目标存储库相同,例如 quay-rhel8
:
3.3.4.1. 存储库镜像设置 复制链接链接已复制到粘贴板!
在 Settings 选项卡中,将 Repository State 设置为
Mirror
:在 Mirror 选项卡中,输入连接到外部 registry 的详细信息,以及标签、调度和访问信息:
在以下字段中输入详情:
-
registry Location: 您要镜像的外部仓库,如
registry.redhat.io/quay/quay-rhel8
tags: 此字段是必需的。您可以输入各个标签或标签模式的逗号分隔列表。(请参阅 Tag Patterns 部分以了解详细信息。)
注意要让 Quay 获取远程存储库中的标签列表,必须满足以下要求之一:
- 远程存储库中必须存在带有"latest"标签的镜像 。
- 至少一个没有模式匹配的显式标签必须存在于您指定的标签列表中
- 起始日期: 镜像开始的日期。默认使用当前的日期和时间。
- 同步间隔: 默认每 24 小时同步。您可以根据小时或天更改。
- 机器人用户: 创建新机器人帐户或选择现有的机器人帐户来进行镜像。
- Username: 用于访问包含您要镜像的存储库的外部 registry 的用户名。
- password: 与 Username 关联的密码。请注意,密码不能包含需要转义字符(\)的字符。
-
registry Location: 您要镜像的外部仓库,如
3.3.4.2. 高级设置 复制链接链接已复制到粘贴板!
- 在 Advanced Settings 部分中,根据需要配置 TLS 和代理:
- 验证 TLS: 如果需要 HTTPS,并在与目标远程 registry 通信时验证此复选框。
- HTTP Proxy: 识别访问远程站点所需的 HTTP 代理服务器(如果需要)。
- HTTPS 代理: 识别访问远程站点所需的 HTTPS 代理服务器(如果需要)。
- No Proxy: 不需要代理的位置列表
3.3.4.3. 现在同步 复制链接链接已复制到粘贴板!
要执行即时镜像操作,请在存储库镜像选项卡中按立即同步按钮。日志包括在 Usage Logs 选项卡中:
镜像完成后,镜像将显示在 Tags 选项卡中:
以下是已完成的存储库镜像屏幕示例:
3.3.5. 镜像标签模式 复制链接链接已复制到粘贴板!
如上方所述,必须明确输入至少一个 Tag(例如,标签模式不是标签模式),或者 报告存储库中必须存在标签 "latest"。(标签 "latest" 将不同步,除非标签列表中指定。)Quay 需要此项才能获取远程存储库中的标签列表,以便与指定的列表与镜像进行比较。
3.3.5.1. 模式语法 复制链接链接已复制到粘贴板!
pattern | 描述 |
* | 匹配所有字符 |
? | 匹配任何单个字符 |
[seq] | 匹配 seq中的任何字符 |
[!seq] | 匹配不在 seq中的任何字符 |
3.3.5.2. 标签模式示例 复制链接链接已复制到粘贴板!
Pattern 示例 | Matches 示例 |
v3* | v32, v3.1, v3.2, v3.2-4beta, v3.3 |
v3.* | v3.1、v3.2、v3.2-4beta |
v3.? | v3.1、v3.2、v3.3 |
v3.[12] | v3.1、v3.2 |
v3.[12]* | v3.1、v3.2、v3.2-4beta |
v3.[!1]* | v3.2、v3.2-4beta、v3.3 |
3.4. 部署 Clair V4 复制链接链接已复制到粘贴板!
Clair 是一个可解析镜像内容并报告影响内容的漏洞的应用。这通过静态分析来执行,而不是在运行时执行。Clair 的分析分为三个不同的部分:
- 索引: 索引开始将清单提交到 Clair。在收到时,Clair 将获取层、扫描其内容并返回名为 IndexReport 的中间表示。清单是容器镜像的 Clair 表示。Clair 利用 OCI 清单和层内容解决这一事实,以减少重复的工作。索引清单后,IndexReport 会被保留,以便稍后检索。
- 匹配: 匹配获取一个 IndexReport,并关联影响报告所代表的清单的漏洞。Clair 不断推测新的安全数据,对匹配者的请求始终为您提供对 IndexReport 的最新漏洞分析。
- 通知: Clair 实施通知服务。发现新漏洞时,通知程序服务将决定这些漏洞是否影响到索引清单。然后,notifier 将根据其配置执行操作。
3.4.1. 为 Clair 部署单独的数据库 复制链接链接已复制到粘贴板!
Clair 需要 Postgres 数据库。如果 Quay 还使用了 Postgres,则 Quay 和 Clair 之间共享一个通用数据库,但在本例中部署了特定于 Clair 的数据库。
在概念验证方案中,您将使用本地文件系统上的目录来持久保留数据库数据。
在安装文件夹中,由变量 $QUAY 表示,为 Clair 数据库数据创建一个目录,并正确设置权限:
mkdir -p $QUAY/postgres-clairv4 setfacl -m u:26:-wx $QUAY/postgres-clairv4
$ mkdir -p $QUAY/postgres-clairv4 $ setfacl -m u:26:-wx $QUAY/postgres-clairv4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 podman 运行 Postgres 容器,指定用户名、密码、数据库名称和端口,以及数据库数据的卷定义。作为标准 Postgres 端口
5432
已在 Quay 部署中使用,在该实例5433
中公开一个不同的端口:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保安装了 Postgres
uuid-ossp
模块,因为 Clair 需要它:sudo podman exec -it postgresql-clairv4 /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"" | psql -d clair -U postgres'
$ sudo podman exec -it postgresql-clairv4 /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\"" | psql -d clair -U postgres'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. Clair 的 Quay 配置 复制链接链接已复制到粘贴板!
如果
Quay
容器正在运行,则停止它并以配置模式重启,并以卷的形式载入现有配置:sudo podman run --rm -it --name quay_config \ -p 80:8080 -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
$ sudo podman run --rm -it --name quay_config \ -p 80:8080 -p 443:8443 \ -v $QUAY/config:/conf/stack:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13 config secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录配置工具,并在 UI 的 Security Scanner 部分中启用扫描。使用
quay-server
系统上还没有使用的端口,为 Clair 设置 HTTP 端点,如8081
。使用Generate PSK
按钮创建 Clair 预共享密钥(PSK),例如:-
安全扫描器端点:
http://quay-server.example.com:8081
Security Scanner PSK:
MTU5YzA4Y2ZkNzJoMQ==
设置扫描程序数据的 UI 将显示在以下镜像中:
安全扫描器 UI
-
安全扫描器端点:
验证并下载
配置文件
,然后停止正在运行配置编辑器的Quay
容器。将配置捆绑包(如之前)提取到$QUAY/config
目录。cp ~/Downloads/quay-config.tar.gz $QUAY/config cd $QUAY/config tar xvf quay-config.tar.gz
$ cp ~/Downloads/quay-config.tar.gz $QUAY/config $ cd $QUAY/config $ tar xvf quay-config.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Quay 配置文件现已更新,使其包含安全扫描程序的以下字段:
3.4.3. Clair 配置 复制链接链接已复制到粘贴板!
Clair 配置的详细信息,请访问 https://github.com/quay/clair/blob/main/Documentation/reference/config.md。
在
/etc/
目录中创建 config.yaml 文件,例如/etc/clairv4/config/config.yaml
。使用以下示例,它提供概念验证部署中使用的最小配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
http_listen_addr
设置为您在 Quay 配置工具中指定的 Clair HTTP 端点的端口,本例中为:8081
。 -
您在 Quay 配置工具中生成的 Clair 预共享密钥(PSK)用于身份验证,其签发者(在
iss
字段中指定)设置为quay
。
3.4.4. 运行 Clair 复制链接链接已复制到粘贴板!
使用
podman run
命令运行 Clair 容器,公开您在配置工具中指定的 HTTP 端点端口,本例中为8081
:sudo podman run -d --rm --name clairv4 \ -p 8081:8081 -p 8089:8089 \ -e CLAIR_CONF=/clair/config.yaml -e CLAIR_MODE=combo \ -v /etc/clairv4/config:/clair:Z \ registry.redhat.io/quay/clair-rhel8:v3.7.13
$ sudo podman run -d --rm --name clairv4 \ -p 8081:8081 -p 8089:8089 \ -e CLAIR_CONF=/clair/config.yaml -e CLAIR_MODE=combo \ -v /etc/clairv4/config:/clair:Z \ registry.redhat.io/quay/clair-rhel8:v3.7.13
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 接下来,使用包含扫描程序设置的更新配置文件重启
Quay
容器:sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13
$ sudo podman run -d --rm -p 80:8080 -p 443:8443 \ --name=quay \ -v $QUAY/config:/conf/stack:Z \ -v $QUAY/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.7.13
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.5. 使用 Clair 安全扫描 复制链接链接已复制到粘贴板!
在命令行中登录到 registry:
sudo podman login --tls-verify=false quay-server.example.com
$ sudo podman login --tls-verify=false quay-server.example.com Username: quayadmin Password: Login Succeeded!
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 registry 中拉取、标记并推送示例镜像:
sudo podman pull ubuntu:20.04 sudo podman tag docker.io/library/ubuntu:20.04 quay-server.example.com/quayadmin/ubuntu:20.04 sudo podman push --tls-verify=false quay-server.example.com/quayadmin/ubuntu:20.04
$ sudo podman pull ubuntu:20.04 $ sudo podman tag docker.io/library/ubuntu:20.04 quay-server.example.com/quayadmin/ubuntu:20.04 $ sudo podman push --tls-verify=false quay-server.example.com/quayadmin/ubuntu:20.04
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安全扫描的结果可以在 Quay UI 中看到,如以下镜像所示:
扫描概述
扫描详情
3.4.6. 国家漏洞数据库中的 CVE 等级 复制链接链接已复制到粘贴板!
现在,Quay UI 中可以看到 Clair v4.2 的数据。此外,Clair v4.2 为检测到的漏洞添加国家漏洞数据库中的 CVSS 分数。
在这个版本中,如果漏洞的 CVSS 分数在 distro 分数中的 2 个级别,则默认存在的 Quay UI 分数。例如:
这与前面的接口不同,这只会显示以下信息:
3.5. 重启容器 复制链接链接已复制到粘贴板!
由于 podman 不支持 --restart
选项,所以您可以将 podman
配置为 systemd 服务,如使用 Podman 将容器迁移到 systemd所述
3.5.1. 使用 Podman 的 systemd 单元文件 复制链接链接已复制到粘贴板!
默认情况下,Podman 为现有容器或 pod 生成一个单元文件。您可以使用 podman generate systemd --new
命令生成更多可移植的 systemd 单元文件。--new
标志指示 Podman 生成创建、启动和删除容器的单元文件。
从正在运行的 Red Hat Quay registry 中创建 systemd 单元文件,如下所示:
sudo podman generate systemd --new --files --name redis sudo podman generate systemd --new --files --name postgresql-quay sudo podman generate systemd --new --files --name quay sudo podman generate systemd --new --files --name postgresql-clairv4 sudo podman generate systemd --new --files --name clairv4
$ sudo podman generate systemd --new --files --name redis $ sudo podman generate systemd --new --files --name postgresql-quay $ sudo podman generate systemd --new --files --name quay $ sudo podman generate systemd --new --files --name postgresql-clairv4 $ sudo podman generate systemd --new --files --name clairv4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将单元文件复制到
/usr/lib/systemd/system
中以 root 用户身份安装它们:sudo cp -Z container-redis.service /usr/lib/systemd/system sudo cp -Z container-postgresql-quay.service /usr/lib/systemd/system sudo cp -Z container-quay.service /usr/lib/systemd/system sudo cp -Z container-postgresql-clairv4.service /usr/lib/systemd/system sudo cp -Z container-clairv4.service /usr/lib/systemd/system
$ sudo cp -Z container-redis.service /usr/lib/systemd/system $ sudo cp -Z container-postgresql-quay.service /usr/lib/systemd/system $ sudo cp -Z container-quay.service /usr/lib/systemd/system $ sudo cp -Z container-postgresql-clairv4.service /usr/lib/systemd/system $ sudo cp -Z container-clairv4.service /usr/lib/systemd/system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新载入 systemd Manager 配置:
sudo systemctl daemon-reload
$ sudo systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用服务并在引导时启动它们:
sudo systemctl enable --now container-redis.service sudo systemctl enable --now container-postgresql-quay.service sudo systemctl enable --now container-quay.service sudo systemctl enable --now container-postgresql-clairv4.service sudo systemctl enable --now container-clairv4.service
$ sudo systemctl enable --now container-redis.service $ sudo systemctl enable --now container-postgresql-quay.service $ sudo systemctl enable --now container-quay.service $ sudo systemctl enable --now container-postgresql-clairv4.service $ sudo systemctl enable --now container-clairv4.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.2. 启动、停止和检查服务的状态 复制链接链接已复制到粘贴板!
检查 Quay 组件的状态:
sudo systemctl status container-redis.service sudo systemctl status container-postgresql-quay.service sudo systemctl status container-quay.service sudo systemctl status container-postgresql-clairv4.service sudo systemctl status container-clairv4.service
$ sudo systemctl status container-redis.service $ sudo systemctl status container-postgresql-quay.service $ sudo systemctl status container-quay.service $ sudo systemctl status container-postgresql-clairv4.service $ sudo systemctl status container-clairv4.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 停止 Quay 组件服务:
sudo systemctl stop container-redis.service sudo systemctl stop container-postgresql-quay.service sudo systemctl stop container-quay.service sudo systemctl stop container-postgresql-clairv4.service sudo systemctl stop container-clairv4.service
$ sudo systemctl stop container-redis.service $ sudo systemctl stop container-postgresql-quay.service $ sudo systemctl stop container-quay.service $ sudo systemctl stop container-postgresql-clairv4.service $ sudo systemctl stop container-clairv4.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 Quay 组件服务:
sudo systemctl start container-redis.service sudo systemctl start container-postgresql-quay.service sudo systemctl start container-quay.service sudo systemctl start container-postgresql-clairv4.service sudo systemctl start container-clairv4.service
$ sudo systemctl start container-redis.service $ sudo systemctl start container-postgresql-quay.service $ sudo systemctl start container-quay.service $ sudo systemctl start container-postgresql-clairv4.service $ sudo systemctl start container-clairv4.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.3. 重启后测试重启 复制链接链接已复制到粘贴板!
配置并启用服务后,重启该系统。当系统重新启动后,使用 podman ps
检查 Quay 组件的所有容器是否已重启:
在本实例中,Quay
容器本身无法启动。这是因为,当 Quay 中启用了安全扫描时,它会尝试在启动时连接到 Clair。但是,Clair 尚未完成初始化,且无法接受连接,因此 Quay 会立即终止。若要克服此问题,您需要配置 Quay 服务,使其依赖于 Clair 的服务,如以下部分所示。
3.5.4. 配置 Quay 依赖 Clair 复制链接链接已复制到粘贴板!
在 Quay 的 systemd
服务文件中,通过设置 After=container-clairv4.service
来设置 [Unit]
部分中的 Clair 服务的依赖项。若要授予 Clair 容器初始化时间,请在 [Service]
部分添加一个延迟,如 RestartSec=30
。以下是在为 Clair 配置依赖关系后修改的 Quay 文件的示例:
/usr/lib/systemd/system/container-quay.service
更新 Quay 服务配置后,重启服务器并立即运行 podman ps
:
最初,Quay
容器将不可用,但当 RestartSec
延迟过期后,它应该启动:
Quay
容器的 CREATED
字段在创建时间时显示 30 秒差别,如服务定义中所配置。
在 quay-server.example.com
上登录到 Red Hat Quay registry,并确保一切重启。
3.6. FIPS 就绪情况和合规性 复制链接链接已复制到粘贴板!
NIST(美国国家标准与技术研究所开发的系统信息处理标准)被认为是安全和保护敏感数据的金级标准,特别是在大型银行、医疗保健和公共领域。Red Hat Enterprise Linux 和 Red Hat OpenShift Container Platform 通过提供一个 FIPS 模式来支持这个标准,该系统只允许使用某些 FIPS 验证的加密模块,如 openssl
。这样可确保 FIPS 合规性。
Red Hat Quay 支持从版本 3.5 在启用了 FIPS 的 RHEL 和 Red Hat OpenShift Container Platform 上运行。
第 4 章 后续步骤 复制链接链接已复制到粘贴板!
本文档演示了如何配置和部署 Red Hat Quay 的概念验证版本。有关部署到生产环境的更多信息,请参阅《Red Hat Quay - High Availability" 指南》。
"使用 Red Hat Quay"指南显示如何:
- 添加用户和软件仓库
- 使用标签
- 使用构建 worker 自动构建 Dockerfile
- 设置构建触发器
- 为存储库事件添加通知
"管理 Red Hat Quay"指南显示如何:
- 使用 SSL 和 TLS
- 使用 Clair 启用安全扫描
- 使用存储库镜像
- 配置 LDAP 身份验证
- 使用存储的异地复制