第2章 Cluster Samples Operator の設定

openshift namespace で動作する Cluster Samples Operator は、Red Hat Enterprise Linux (RHEL) ベースの OpenShift Container Platform イメージストリームおよび OpenShift Container Platform テンプレートをインストールし、更新します。

2.1. Cluster Samples Operator について

Operator はインストール時に独自にデフォルト設定オブジェクトを作成し、その後にクイックスタートテンプレートを含む、サンプルのイメージストリームおよびテンプレートを作成します。

注記

認証情報を必要とする他のレジストリーからのイメージストリームのインポートを容易にするには、クラスター管理者は、イメージのインポートに必要な Docker config.json ファイルの内容を含む追加のシークレットを openshift namespace に作成できます。

Cluster Samples Operator 設定はクラスター全体で使用されるリソースであり、デプロイメントは openshift-cluster-samples-operator namespace 内に含められます。

Cluster Samples Operator のイメージには、関連付けられた OpenShift Container Platform リリースのイメージストリームおよびテンプレートの定義が含まれます。各サンプルが作成または更新されると、Cluster Samples Operator には OpenShift Container Platform のバージョンを示すアノテーションが含まれます。Operator はこのアノテーションを使用して、各サンプルをリリースバージョンに一致させるようにします。このインベントリーの外にあるサンプルは省略されるサンプルであるために無視されます。バージョンのアノテーションが変更または削除されると、Operator が管理するサンプルに変更が加えてもそれらの変更は自動的に元に戻されます。

注記

Jenkins イメージはインストールからのイメージペイロードの一部であり、イメージストリームに直接タグ付けされます。

Cluster Samples Operator 設定リソースには、削除時に以下を消去するファイナライザーが含まれます。

  • Operator 管理のイメージストリーム
  • Operator 管理のテンプレート
  • Operator が生成する設定リソース
  • クラスターステータスのリソース

サンプルリソースの削除時に、Cluster Samples Operator はデフォルト設定を使用してリソースを再作成します。

2.1.1. Cluster Samples Operator の管理状態の使用

Cluster Samples Operator はデフォルトで Managed としてブートストラップされるか、またはグローバルプロキシーが設定されている場合にブートストラップされます。Managed 状態で、Cluster Samples Operator は、イメージストリームおよびイメージをレジストリーからプルし、必要なサンプルテンプレートがインストールされた状態になるように、リソースをアクティブに管理し、コンポーネントをアクティブな状態に維持します。

以下を含む特定の状況では、Cluster Samples Operator が Removed としてそれ自体をブートストラップします。

  • Cluster Samples Operator が、クリーンインストール後の初回起動から 3 分後に registry.redhat.io に到達できない場合。
  • Cluster Samples Operator がこれが IPv6 ネットワーク上にあることを検出する場合。
  • イメージコントローラーの設定パラメーターにより、デフォルトのイメージレジストリーまたはsamplesRegistry 設定で指定されたイメージレジストリーを使用してイメージストリームを作成できない場合。
注記

OpenShift Container Platform の場合、デフォルトのイメージレジストリーはregistry.redhat.ioです。

ただし、Cluster Samples Operator がそれが IPv6 ネットワーク上にあり、OpenShift Container Platform グローバルプロキシーが設定されていることを検出した場合は、IPv6 チェックがすべてのチェックに取って代わります。その結果、Cluster Samples Operator はそれ自体を Removed としてブートストラップします。

重要

現在、IPv6 インストールは registry.redhat.io によってサポートされていません。Cluster Samples Operator は、ほとんどのサンプルイメージストリームおよびイメージを registry.redhat.io からプルします。

2.1.1.1. ネットワークが制限されたインストール

registry.redhat.io にアクセスできない場合に Removed としてすると、ネットワークの制限がすでに有効な場合にネットワークが制限されたインストールを容易にします。ネットワークアクセスが制限されている場合に Removed としてートストラップすると、クラスター管理者がサンプルが必要かどうかを判別する時間をより長く確保できます。これは、Cluster Samples Operator は管理状態が Removed に設定されている場合にサンプルのイメージストリームのインポートに失敗しているアラートを送信しないためです。Cluster Samples Operator が Managed として起動し、サンプルイメージストリームのインストールを試みると、インポートに失敗している場合に初回インストールから 2 時間後にアラートが開始されます。

2.1.1.2. 初期のネットワークアクセスが設定された状態でのネットワークが制限されたインストール

ネットワークが制限された環境のクラスターまたは非接続クラスターとすることが意図されたクラスターが、ネットワークアクセスがある状態で最初にインストールされた場合、Cluster Samples Operator はアクセス可能なために registry.redhat.io からコンテンツをインストールします。Cluster Samples Operator を Removed としてブートストラップして、必要なサンプルを判別するまでサンプルのインストールを遅らせる場合、イメージミラーのセットアップなどを行ってから、代替レジストリーで Samples Operator を使用し、ノードをカスタマイズする手順 (どちらも追加のリソースセクションにリンクされている) に従い、Cluster Samples Operator のデフォルト設定を上書きし、最初に Removed として起動します。

以下の追加の YAML ファイルを、openshift-install create manifest で作成される openshift ディレクトリーに置く必要があります。

managementState: Removed が設定された Cluster Samples Operator YAML ファイルのサンプル

apiVersion: samples.operator.openshift.io/v1
kind: Config
metadata:
  name: cluster
spec:
  architectures:
  - x86_64
  managementState: Removed

2.1.2. Cluster Samples Operator でのイメージストリームのインポートの追跡およびエラー回復

サンプルイメージストリームの作成または更新後に、Cluster Samples Operator はそれぞれのイメージストリームタグのイメージインポートの進捗をモニターします。

インポートが失敗すると、Cluster Samples Operator はイメージストリームイメージインポート API を使用してインポートを再試行します。これは oc import-image コマンドで使用されるのと同じ API であり、インポートの成功が確認されるまで約 15 分ごとに、またはイメージストリームのいずれかが skippedImagestreams 一覧に追加されるように Cluster Samples Operator の設定が変更されるか、または管理状態が Removed に変更される場合に再試行されます。

関連情報

  • Cluster Samples Operator がインストール時に削除される場合、Cluster Samples Operator を代替レジストリーと共に使用 し、コンテンツをインポートし、サンプルを取得するために Cluster Samples Operator を Managed に設定できるようにします。
  • Cluster Samples Operator を初期のネットワークアクセスのある状態でネットワークが制限されたインストールで Removed としてブートラップし、必要なサンプルを判別するまでサンプルのインストールを遅らせる場合、ノードのカスタマイズ についての手順に従い、Cluster Samples Operator のデフォルト設定を上書きし、最初に Removed として起動させます。

2.1.3. ミラーリングの Cluster Samples Operator のサポート

インストール時に、OpenShift Container Platform は imagestreamtag-to-image という名前の設定マップを openshift-cluster-samples-operator namespace に作成します。imagestreamtag-to-image 設定マップには、各イメージストリームタグのエントリー (設定されるイメージ) が含まれます。

設定マップの data フィールドの各エントリーのキーの形式は、<image_stream_name>_<image_stream_tag_name> です。

OpenShift Container Platform の非接続インストール時に、Cluster Samples Operator のステータスは Removed に設定されます。これを Managed に変更することを選択する場合、サンプルがインストールされます。

注記

ネットワークが制限されている環境または切断されている環境でサンプルを使用するには、ネットワークの外部のサービスにアクセスする必要がある場合があります。サービスの例には、Github、Maven Central、npm、RubyGems、PyPi などがあります。クラスターサンプルオペレーターのオブジェクトが必要なサービスに到達できるようにするために、追加の手順を実行する必要がある場合があります。

この設定マップを、イメージストリームがインポートできるようにミラーリングする必要のあるイメージについての参照情報として使用できます。

  • Cluster Samples Operator が Removed に設定される場合、ミラーリングされたレジストリーを作成するか、または使用する必要のある既存のミラーリングされたレジストリーを判別できます。
  • 新しい設定マップをガイドとして使用し、ミラーリングされたレジストリーに必要なサンプルをミラーリングします。
  • Cluster Samples Operator 設定オブジェクトの skippedImagestreams 一覧に、ミラーリングされていないイメージストリームを追加します。
  • Cluster Samples Operator 設定オブジェクトの samplesRegistry をミラーリングされたレジストリーに設定します。
  • 次に、Cluster Samples Operator を Managed に設定し、ミラーリングしたイメージストリームをインストールします。

詳細の手順については、代替のレジストリーまたはミラーリングされたレジストリーでの Cluster Samples Operator イメージストリームの使用 について参照してください。