2.2. 为 Red Hat Quay 概念验证部署准备 Red Hat Enterprise Linux
使用以下步骤为 Red Hat Quay 概念部署配置 Red Hat Enterprise Linux (RHEL)。
2.2.1. 安装并注册 RHEL 服务器
使用以下步骤为 Red Hat Quay 概念验证部署配置 Red Hat Enterprise Linux (RHEL)服务器。
流程
- 安装最新的 RHEL 9 服务器。如果需要桌面,您可以只执行最小、shell-access 安装或 Server 加上 GUI。
- 注册并订阅 RHEL 服务器系统,如 如何使用 Red Hat Subscription-Manager 在红帽客户门户网站中注册和订阅 RHEL 系统
输入以下命令注册您的系统并列出可用的订阅。选择可用的 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
2.2.2. 安装 Podman
使用以下步骤安装 Podman。
流程
输入以下命令安装 Podman:
$ sudo yum install -y podman
或者,您可以安装
container-tools
模块,该模块会拉取到完整的容器软件包集合中:$ sudo yum module install -y container-tools
2.2.3. registry 身份验证
使用以下步骤验证您的 registry 是否有 Red Hat Quay 概念验证。
流程
按照 Red Hat Container Registry 身份验证流程,将身份验证设置为
registry.redhat.io
。通过设置身份验证,您可以拉取Quay
容器。注意当镜像托管在 Quay.io 上时,这与早期版本的 Red Hat Quay 不同。
输入以下命令登录到 registry:
$ sudo podman login registry.redhat.io
会提示您
输入您的用户名和密码
2.2.4. 防火墙配置
如果您的系统中运行了一个防火墙,可能需要添加允许访问 Red Hat Quay 的规则。使用以下步骤为概念验证部署配置防火墙。
流程
所需命令取决于您在系统上映射的端口,例如:
$ 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
2.2.5. IP 地址和命名服务
在 Red Hat Quay 中配置组件容器的方法以便它们可以相互通信,例如:
使用容器的 IP 地址。您可以使用
podman inspect
确定容器的 IP 地址,然后在指定连接字符串时使用配置工具中的值,例如:$ sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay
这种方法容易被主机重启,因为容器的 IP 地址在重启后将改变。
- 使用命名服务.如果您希望部署在容器重启后保留,这通常会导致更改的 IP 地址,您可以实施命名服务。例如,dnsname 插件用于允许容器按名称相互解析。
-
使用主机网络.您可以使用
podman run
命令和--net=host
选项,然后在配置中指定地址时使用主机上的容器端口。当两个容器想要使用相同的端口时,此选项容易受到端口冲突的影响。不建议使用此方法。 - 配置端口映射.您可以使用端口映射在主机上公开端口,然后将这些端口与主机 IP 地址或主机名结合使用。
本文档使用端口映射,并假设您主机系统的静态 IP 地址。在整个部署中,quay-sever.example.com
与 192.168.1.112
IP 地址一起使用。此信息在 /etc/hosts
文件中建立,例如:
$ cat /etc/hosts
输出示例:
192.168.1.112 quay-server.example.com
表 2.1. 概念端口映射的概念验证示例
组件 | 端口映射 | 地址 |
---|---|---|
Quy |
| http://quay-server.example.com |
Postgres for Quay |
| 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 |