5.8. デフォルトの Operator イメージのカスタマイズ

特定の状況では、Red Hat Quay Operator が使用するデフォルトのイメージをオーバーライドすると便利な場合があります。これを行うには、Red Hat Quay Operator ClusterServiceVersion で 1 つ以上の環境変数を設定します。

重要

このメカニズムの使用は、実稼働 Red Hat Quay 環境ではサポートされておらず、開発またはテストの目的でのみ使用することが強く推奨されます。Red Hat Quay Operator でデフォルト以外のイメージを使用する場合は、デプロイメントが正しく機能するという保証はありません。

5.8.1. 環境変数

以下の環境変数は、Red Hat Quay Operator でコンポーネントイメージをオーバーライドするために使用されます。

環境変数

コンポーネント

RELATED_IMAGE_COMPONENT_QUAY

base

RELATED_IMAGE_COMPONENT_CLAIR

clair

RELATED_IMAGE_COMPONENT_POSTGRES

postgres および clair データベース

RELATED_IMAGE_COMPONENT_REDIS

redis

注記

オーバーライドされたイメージは、タグ (:latest) ではなく、マニフェスト (@sha256:) によって参照する 必要があります

5.8.2. 実行中のオペレータへのオーバーライドの適用

Red Hat Quay Operator が Operator Lifecycle Manager (OLM) を通じてクラスターにインストールされている場合、マネージドコンポーネントのコンテナーイメージは、ClusterServiceVersion オブジェクトを変更すると簡単にオーバーライドできます。

以下の手順を使用して、実行中の Red Hat Quay Operator にオーバーライドを適用します。

手順

  1. ClusterServiceVersion オブジェクトは、クラスター内で実行中の Operator を Operator Lifecycle Manager が表現したものです。Kubernetes UI または kubectl/oc CLI ツールを使用して、Red Hat Quay Operator の ClusterServiceVersion を見つけます。以下に例を示します。

    $ oc get clusterserviceversions -n <your-namespace>
  2. UI、oc edit、または別の方法を使用して、Red Hat Quay ClusterServiceVersion を変更して、オーバーライドイメージを指す上記の環境変数を含めます。

    JSONPath: spec.install.spec.deployments[0].spec.template.spec.containers[0].env

    - name: RELATED_IMAGE_COMPONENT_QUAY
      value: quay.io/projectquay/quay@sha256:c35f5af964431673f4ff5c9e90bdf45f19e38b8742b5903d41c10cc7f6339a6d
    - name: RELATED_IMAGE_COMPONENT_CLAIR
      value: quay.io/projectquay/clair@sha256:70c99feceb4c0973540d22e740659cd8d616775d3ad1c1698ddf71d0221f3ce6
    - name: RELATED_IMAGE_COMPONENT_POSTGRES
      value: centos/postgresql-10-centos7@sha256:de1560cb35e5ec643e7b3a772ebaac8e3a7a2a8e8271d9e91ff023539b4dfb33
    - name: RELATED_IMAGE_COMPONENT_REDIS
      value: centos/redis-32-centos7@sha256:06dbb609484330ec6be6090109f1fa16e936afcf975d1cbc5fff3e6c7cae7542
注記

これは Operator レベルで実行されるため、すべての QuayRegistry はこれらの同じオーバーライドを使用してデプロイされています。