Red Hat Quay 3.11 安装

https://docs.redhat.com/zh_hans/documentation/red_hat_quay/3.11/html-single/proof_of_concept_-_deploying_red_hat_quay/index#poc-using-podman

安装 Podman

安装 Quay 会从红帽仓库 registry.redhat.io 拉取三个镜像,需要有红帽账号 (可能还需要开发者订阅?还得需要代理)

yum install -y podman
yum module install -y container-tools

防火墙放行

firewall-cmd --permanent --add-port=80/tcp \
&& firewall-cmd --permanent --add-port=443/tcp \
&& firewall-cmd --permanent --add-port=5432/tcp \
&& firewall-cmd --permanent --add-port=5433/tcp \
&& firewall-cmd --permanent --add-port=6379/tcp \
&& firewall-cmd --reload
组件 端口映射 地址
Quy -p 80:8080 -p 443:8443 http://quay-server.example.com
Quay 的 postgres -p 5432:5432 quay-server.example.com:5432
Redis -p 6379:6379 quay-server.example.com:6379
Clair V4 的 postgres -p 5433:5432 quay-server.example.com:5433
Clair V4 -p 8081:8080 http://quay-server.example.com:8081

准备部署 Quay

配置 hosts

[root@quay ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.50.119 quay.example.com

配置数据库

  1. 设置 Quay 的数据目录:

    QUAY=/data
  2. 创建数据库数据目录:

    mkdir -p $QUAY/postgres-quay
  3. 输入以下命令设置适当的权限:

    setfacl -m u:26:-wx $QUAY/postgres-quay
  4. 启动 Postgres 容器,使用数据库数据的卷定义指定用户名、密码和数据库名称和端口:

    podman run -d --rm --name postgresql-quay \
     -e POSTGRESQL_USER=quayuser \
     -e POSTGRESQL_PASSWORD=quaypass \
     -e POSTGRESQL_DATABASE=quay \
     -e POSTGRESQL_ADMIN_PASSWORD=adminpass \
     -p 5432:5432 \
     -v $QUAY/postgres-quay:/var/lib/pgsql/data:Z \
     registry.redhat.io/rhel8/postgresql-13:1-109
  5. 运行以下命令,确保已安装 Postgres pg_trgm 模块:

    sudo podman exec -it postgresql-quay /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U postgres'

    Quay 容器需要 pg_trgm 模块。

配置 Redis

输入以下命令启动 Redis 容器,指定端口和密码:

podman run -d --rm --name redis \
  -p 6379:6379 \
  -e REDIS_PASSWORD=strongpassword \
  registry.redhat.io/rhel8/redis-6:1-110

部署 Red Hat Quay

创建 YAML 配置文件

  1. 输入以下命令来创建用于部署 Red Hat Quay 容器的最小 config.yaml 文件:

    touch config.yaml
  2. 将以下 YAML 配置复制并粘贴到 config.yaml 文件中:

    BUILDLOGS_REDIS:
       host: quay.example.com
       password: strongpassword
       port: 6379
    CREATE_NAMESPACE_ON_PUSH: true
    DATABASE_SECRET_KEY: a8c2744b-7004-4af2-bcee-e417e7bdd235
    DB_URI: postgresql://quayuser:[email protected]:5432/quay
    DISTRIBUTED_STORAGE_CONFIG:
       default:
           - LocalStorage
           - storage_path: /datastorage/registry
    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS: []
    DISTRIBUTED_STORAGE_PREFERENCE:
       - default
    FEATURE_MAILING: false
    SECRET_KEY: e9bd34f4-900c-436a-979e-7530e5d74ac8
    SERVER_HOSTNAME: quay.example.com
    SETUP_COMPLETE: true
    USER_EVENTS_REDIS:
       host: quay.example.com
       password: strongpassword
       port: 6379
  3. 创建一个目录,将 Red Hat Quay 配置捆绑包复制到:

    mkdir $QUAY/config
  4. 将 Red Hat Quay 配置文件复制到目录中:

    cp -v config.yaml $QUAY/config

为镜像数据准备本地存储

  1. 输入以下命令创建一个用于存储 registry 镜像的本地目录:

    mkdir $QUAY/storage
  2. 设置用于存储 registry 镜像的目录:

    setfacl -m u:1001:-wx $QUAY/storage

部署 Red Hat registry

输入以下命令启动 Quay registry 容器,为配置数据指定适当的卷,为镜像数据指定本地存储:

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.11.1

使用 Red Hat Quay

以下步骤演示了如何使用界面并创建新的机构和存储库,以及搜索和浏览现有存储库。以下步骤 3,您可以使用命令行界面与 registry 交互,并推送和拉取镜像。

  1. 使用您的浏览器访问位于 http://quay.example.com 的 Red Hat Quay registry 的用户界面,假设您已将 quay.example.com 配置为 /etc/hosts 文件和 config.yaml 文件中的主机名。

  2. 单击 Create Account 并添加用户,例如 admin,密码为 password

  3. 在命令行中登录到 registry:

    podman login --tls-verify=false quay.example.com

    输出示例

    [root@quay ~]# podman login --tls-verify=false quay.example.com
    Username: admin
    Password: password
    Login Succeeded!

使用 SSL/TLS 证书进行概念部署验证

创建证书

可以查看置顶的链接,过程省略。

配置 SSL/TLS

可以使用命令行界面(CLI)或 Red Hat Quay registry UI 配置 SSL/TLS。使用以下步骤之一配置 SSL/TLS。

使用 Red Hat Quay UI 配置 SSL/TLS

使用以下步骤使用 Red Hat Quay UI 配置 SSL/TLS。

要使用命令行界面配置 SSL/TLS,请参阅"使用命令行界面配置 SSL/TLS"。

先决条件

  • 您已创建了证书颁发机构并签署证书。

步骤

  1. 以配置模式启动 Quay 容器:

    podman run --rm -it --name quay_config -p 80:8080 -p 443:8443 registry.redhat.io/quay/quay-rhel8:v3.11.1 config secret
  2. Server Configuration 部分中,选择 Red Hat Quay 处理 SSL/TLS 的 TLS。上传之前创建的证书文件和私钥文件,确保 Server Hostname 与创建证书时使用的值匹配。

  3. 验证并下载更新的配置。

  4. 输入以下命令停止 Quay 容器,然后重启 registry:

    podman rm -f quay_config
    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.11.1

使用命令行界面配置 SSL/TLS

使用以下步骤使用 CLI 配置 SSL/TLS。

先决条件

  • 您已创建了证书颁发机构并签署证书。

流程

  1. 将证书文件和主密钥文件复制到您的配置目录中,确保它们分别命名为 ssl.certssl.key

    cp ~/ssl.cert ~/ssl.key $QUAY/config
  2. 输入以下命令进入 $QUAY/config 目录:

    cd $QUAY/config
  3. 编辑 config.yaml 文件并指定您希望 Red Hat Quay 处理 TLS/SSL:

    config.yaml

    ...
    SERVER_HOSTNAME: quay-server.example.com
    ...
    PREFERRED_URL_SCHEME: https
    ...
  4. 可选:输入以下命令将 rootCA.pem 文件的内容应用到 ssl.cert 文件的末尾:

    cat rootCA.pem >> ssl.cert
  5. 输入以下命令停止 Quay 容器:

    podman stop quay
  6. 输入以下命令重启 registry:

    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.11.1

测试 SSL/TLS 配置

可以使用命令行界面(CLI)或 Red Hat Quay registry UI 测试 SSL/TLS 配置。使用以下步骤之一测试 SSL/TLS 配置。

使用 CLI 测试 SSL/TLS 配置

使用以下步骤使用 CLI 测试 SSL/TLS 配置。

步骤

  • 输入以下命令尝试登录到启用了 SSL/TLS 的 Red Hat Quay registry:

    podman login quay.example.com

    输出示例

    Error: authenticating creds for "quay.example.com": pinging container registry quay.example.com: Get "https://quay.example.com/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority
    1. 因为 Podman 不信任自签名证书,所以必须使用 --tls-verify=false 选项:

      podman login --tls-verify=false quay.example.com

      输出示例

      Login Succeeded!

      在后面的部分中,您要将 Podman 配置为信任 root 证书颁发机构。

使用浏览器测试 SSL/TLS 配置

浏览器访问 https://quay.example.com/ ,若提示不安全证书,则表示 SSL/TLS 配置成功。

配置 Podman 以信任证书颁发机构

Podman 使用两个路径来查找证书颁发机构(CA)文件: /etc/containers/certs.d//etc/docker/certs.d/。使用以下步骤将 Podman 配置为信任 CA。

步骤

  1. 将 root CA 文件复制到 /etc/containers/certs.d//etc/docker/certs.d/ 之一。使用由服务器主机名确定的确切路径,并将文件命名为 ca.crt

    mkdir /etc/containers/certs.d/quay.example.com
    cp ssl/ssl/ca.crt /etc/containers/certs.d/quay.example.com/
  2. 在登录到 Red Hat Quay registry 时,验证您不再需要使用 --tls-verify=false 选项:

    podman login quay.example.com

    输出示例

    Login Succeeded!

将系统配置为信任证书颁发机构

使用以下步骤将系统配置为信任证书颁发机构。

步骤

  1. 输入以下命令将 rootCA.pem 文件复制到整合的系统范围信任存储中:

    cp ssl/ssl/ca.crt /etc/pki/ca-trust/source/anchors/
  2. 输入以下命令更新系统范围的信任存储配置:

    update-ca-trust extract
  3. 可选。您可以使用 trust list 命令确保已配置了 Quay 服务器:

    trust list | grep quay
  4. 通过浏览器或者 CLI 测试。

Red Hat Quay 3.11 安装
https://www.linuxstudynotes.com/2024/07/03/container_registry/red-hat-quay-3-11-%e5%ae%89%e8%a3%85/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇