第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
として起動させます。- 非接続環境でサンプルをホストするには、代替レジストリーで Cluster Samples Operator を使用する 手順に従います。
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 イメージストリームの使用 について参照してください。