10.3. Subscription Manager を使用したビルドの実行

10.3.1. Subscription Manager 設定のビルドへの追加

Subscription Manager を使用してコンテンツをインストールするビルドは、サブスクライブするリポジトリーの適切な設定ファイルおよび認証局を提供する必要があります。

前提条件

Subscription Manager の設定および認証局ファイルへのアクセスが必要になります。

手順

  1. Subscription Manager 設定の ConfigMap を作成します。

    $ oc create configmap rhsm-conf --from-file /path/to/rhsm/rhsm.conf
  2. 認証局の ConfigMap を作成します。

    $ oc create configmap rhsm-ca --from-file /path/to/rhsm/ca/redhat-uep.pem
  3. Subscription Manager の設定および認証局を BuildConfig に追加します。

    source:
        configMaps:
        - configMap:
            name: rhsm-conf
          destinationDir: rhsm-conf
        - configMap:
            name: rhsm-ca
          destinationDir: rhsm-ca

10.3.2. Subscription Manager を使用した Docker ビルド

Docker ストラテジービルドは Subscription Manager を使用してサブスクリプションコンテンツをインストールできます。

前提条件

エンタイトルメントキー、Subscription Manager の設定、およびSubscription Manager の認証局は、ビルド入力として追加する必要があります。

手順

以下を Dockerfile の例として使用し、Subscription Manager でコンテンツをインストールします。

FROM registry.redhat.io/rhel7:latest
USER root
# Copy entitlements
COPY ./etc-pki-entitlement /etc/pki/entitlement
# Copy subscription manager configurations
COPY ./rhsm-conf /etc/rhsm
COPY ./rhsm-ca /etc/rhsm/ca
# Delete /etc/rhsm-host to use entitlements from the build container
RUN rm /etc/rhsm-host && \
    # Initialize /etc/yum.repos.d/redhat.repo
    # See https://access.redhat.com/solutions/1443553
    yum repolist --disablerepo=* && \
    subscription-manager repos --enable <enabled-repo> && \
    yum -y update && \
    yum -y install <rpms> && \
    # Remove entitlements and Subscription Manager configs
    rm -rf /etc/pki/entitlement && \
    rm -rf /etc/rhsm
# OpenShift requires images to run as non-root by default
USER 1001
ENTRYPOINT ["/bin/bash"]