10.4. 使用 Satellite 订阅运行构建

10.4.1. 将 Satellite 配置添加到构建中

使用 Satellite 安装内容的构建必须提供适当的配置,以从 Satellite 存储库获取内容。

先决条件

  • 您必须提供或创建与 yum 兼容的存储库配置文件,该文件将从 Satellite 实例下载内容。

    [test-<name>]
     name=test-<number>
     baseurl = https://satellite.../content/dist/rhel/server/7/7Server/x86_64/os
     enabled=1
     gpgcheck=0
     sslverify=0
     sslclientkey = /etc/pki/entitlement/...-key.pem
     sslclientcert = /etc/pki/entitlement/....pem

流程

  1. 创建包含 Satellite 存储库配置文件的 ConfigMap:

    $ oc create configmap yum-repos-d --from-file /path/to/satellite.repo
  2. 将 Satellite 存储库配置添加到 BuildConfig 中:

    source:
        configMaps:
        - configMap:
            name: yum-repos-d
          destinationDir: yum.repos.d

10.4.2. 使用 Satellite 订阅进行 Docker 构建

Docker 策略构建可以使用 Satellite 存储库来安装订阅内容。

先决条件

必须将权利密钥和 Satellite 存储库配置添加为构建输入。

流程

使用以下示例 Dockerfile 来通过 Satellite 安装内容:

FROM registry.redhat.io/rhel7:latest
USER root
# Copy entitlements
COPY ./etc-pki-entitlement /etc/pki/entitlement
# Copy repository configuration
COPY ./yum.repos.d /etc/yum.repos.d
# Delete /etc/rhsm-host to use entitlements from the build container
RUN rm /etc/rhsm-host && \
    # yum repository info provided by Satellite
    yum -y update && \
    yum -y install <rpms> && \
    # Remove entitlements
    rm -rf /etc/pki/entitlement
# OpenShift requires images to run as non-root by default
USER 1001
ENTRYPOINT ["/bin/bash"]

为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。