1.3. クラスター機能
クラスター管理者は、クラスター機能を使用して、インストール前にオプションコンポーネントを有効または無効にできます。クラスター管理者は、インストール後いつでもクラスター機能を有効にすることができます。
クラスター管理者は、クラスター機能を有効にした後、それを無効にすることはできません。
1.3.1. クラスター機能の有効化
install-config.yaml
ファイルを作成してクラスターをカスタマイズするインストール方法を使用する場合は、クラスターで使用可能にするクラスター機能を選択できます。
特定のクラスター機能を有効または無効にしてクラスターをカスタマイズする場合は、install-config.yaml
ファイルを手動で管理する必要があります。新しい OpenShift Container Platform の更新では、既存のコンポーネントの新しい機能ハンドルが宣言されたり、新しいコンポーネントがまとめて導入されたりする可能性があります。install-config.yaml
ファイルをカスタマイズするユーザーは、OpenShift Container Platform の更新に合わせて install-config.yaml
ファイルを定期的に更新することも検討してください。
次の設定パラメーターを使用して、クラスター機能を選択できます。
capabilities: baselineCapabilitySet: v4.11 1 additionalEnabledCapabilities: 2 - CSISnapshot - Console - Storage
- 1
- インストールする機能のベースラインセットを定義します。有効な値は
None
、vCurrent
、v4.x
です。None
を選択すると、すべてのオプション機能が無効になります。デフォルト値はvCurrent
で、すべてのオプション機能が有効になります。注記v4.x
は、現在のクラスターバージョン以前の任意の値を参照します。たとえば、OpenShift Container Platform 4.12 クラスターでの有効値はv4.11
とv4.12
です。 - 2
- 明示的に有効にする機能のリストを定義します。これらの機能は、
baselineCapabilitySet
で指定された機能に加えて有効になります。注記この例では、デフォルトで
v4.11
に設定されています。additionalEnabledCapabilities
フィールドでは、デフォルトのv4.11
機能セット以外を有効にできます。
次の表では、baselineCapabilitySet
の値を説明します。
値 | 説明 |
---|---|
| 新しいリリースで導入される新しいデフォルト機能を自動的に追加する場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.11 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.12 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.13 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.14 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.15 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
OpenShift Container Platform 4.16 のデフォルト機能を有効にする場合、このオプションを指定します。 |
|
他のセットが大きすぎる場合や、機能が必要ない場合、 |
1.3.2. OpenShift Container Platform 4.16 のオプションのクラスター機能
現在、クラスター Operator はこれらのオプション機能を提供します。以下は、各オプションによって提供される機能と、無効にした場合に失われる機能をまとめたものです。
1.3.2.1. ベアメタル機能
目的
Cluster Baremetal Operator は、baremetal
機能の機能を提供します。
Cluster Baremetal Operator (CBO) は、OpenShift Container Platform コンピュートノードを実行する準備が整った、完全に機能するワーカーノードにベアメタルサーバーを導入するために必要なすべてのコンポーネントをデプロイします。CBO は、Bare Metal Operator (BMO) と Ironic コンテナーで構成される metal3 デプロイメントが、OpenShift Container Platform クラスター内のコントロールプレーンノードの 1 つで実行されるようにします。また、CBO は、監視し、適切なアクションを実行するリソースへの OpenShift Container Platform の更新をリッスンします。
installer-provisioned infrastructure を使用したデプロイメントには、ベアメタル機能が必要です。ベアメタル機能を無効にすると、これらのデプロイメントで予期しない問題が発生する可能性があります。
クラスター管理者は、クラスター内に BareMetalHost
リソースを持たない user-provisioned infrastructure を使用したインストールの実行中に限り、ベアメタル機能を無効にすることを推奨します。
ベアメタル機能が無効になっている場合、クラスターはベアメタルノードをプロビジョニングまたは管理できません。デプロイメントに BareMetalHost
リソースがない場合にのみ、この機能を無効にしてください。baremetal
機能は MachineAPI
機能に依存します。baremetal
機能を有効にする場合は、MachineAPI
も有効にする必要があります。
1.3.2.2. ビルド機能
目的
Build
機能により、Build
API が有効になります。Build
API は、Build
オブジェクトと BuildConfig
オブジェクトのライフサイクルを管理します。
Build
機能を無効にすると、クラスターで次のリソースが使用できなくなります。
-
Build
およびBuildConfig
リソース -
builder
サービスアカウント
クラスターで Build
と BuildConfig
リソースが不要な場合、または builder
サービスアカウントが不要な場合にのみ、Build
機能を無効にします。
1.3.2.3. Cloud Controller Manager 機能
目的
Cloud Controller Manager Operator は、CloudControllerManager
の機能を提供します。
CloudControllerManager
機能の無効化は、現在すべてのプラットフォームでサポートされているわけではありません。
クラスターのインストール設定 (install-config.yaml
) ファイルの値を確認することで、クラスターが CloudControllerManager
機能の無効化をサポートしているかどうかを判断できます。
install-config.yaml
ファイルで、platform
パラメーターを見つけます。
-
platform
パラメーターの値がBaremetal
またはNone
の場合、クラスターでCloudControllerManager
機能を無効にできます。 -
platform
パラメーターの値がExternal
の場合は、platform.external.cloudControllerManager
パラメーターを見つけます。platform.external.cloudControllerManager
パラメーターの値がNone
の場合、クラスターでCloudControllerManager
機能を無効にできます。
これらのパラメーターに上記以外の値が含まれている場合、クラスターで CloudControllerManager
機能を無効にすることはできません。
現在、この Operator は Amazon Web Services (AWS)、Google Cloud Platform (GCP)、IBM Cloud®、グローバル Microsoft Azure、Microsoft Azure Stack Hub、Nutanix、Red Hat OpenStack Platform (RHOSP)、および VMware vSphere 向けに一般提供されています。
この Operator は、IBM Power® Virtual Server では テクノロジープレビュー として提供されています。
Cloud Controller Manager Operator は、OpenShift Container Platform 上にデプロイされた Cloud Controller Manager を管理および更新します。Operator は Kubebuilder フレームワークおよび controller-runtime
ライブラリーに基づいています。これは Cluster Version Operator (CVO) を使用してインストールされます。
これには、以下のコンポーネントが含まれます。
- Operator
- クラウド設定のオブザーバー
デフォルトで、Operator は metrics
サービス経由で Prometheus メトリックを公開します。
1.3.2.4. クラウド認証情報機能
目的
Cloud Credential Operator は、CloudCredential
の機能を提供します。
現在、CloudCredential
機能の無効化は、ベアメタルクラスターでのみサポートされています。
Cloud Credential Operator (CCO) は、クラウドプロバイダーの認証情報を Kubernetes カスタムリソース定義 (CRD) として管理します。CCO は CredentialsRequest
カスタムリソース (CR) で同期し、OpenShift Container Platform コンポーネントが、クラスターの実行に必要な特定のパーミッションと共にクラウドプロバイダーの認証情報を要求できるようにします。
install-config.yaml
ファイルで credentialsMode
パラメーターに異なる値を設定すると、CCO は複数の異なるモードで動作するように設定できます。モードが指定されていない場合や、credentialsMode
パラメーターが空の文字列 (""
) に設定されている場合は、CCO はデフォルトモードで動作します。
1.3.2.5. クラスターストレージ機能
目的
Cluster Storage Operator は、Storage
機能を提供します。
Cluster Storage Operator は OpenShift Container Platform のクラスター全体のストレージのデフォルト値を設定します。これにより、OpenShift Container Platform クラスターのデフォルトの storageclass
の存在を確認できます。また、クラスターがさまざまなストレージバックエンドを使用できるようにする Container Storage Interface (CSI) ドライバーもインストールします。
クラスターストレージ機能が無効になっている場合、クラスターにデフォルトの storageclass
または CSI ドライバーはありません。クラスターストレージ機能が無効になっている場合、管理者権限を持つユーザーは、デフォルトの storageclass
を作成して CSI ドライバーを手動でインストールできます。
注記
- Operator が作成するストレージクラスは、そのアノテーションを編集することで非デフォルトにすることができますが、Operator が実行されているかぎり、このストレージクラスを削除することはできません。
1.3.2.6. コンソール機能
目的
Console Operator は、コンソール
機能を提供します。
Console Operator は OpenShift Container Platform Web コンソールをクラスターにインストールし、維持します。Console Operator はデフォルトでインストールされ、コンソールを自動的に維持します。
関連情報
1.3.2.7. CSI スナップショットコントローラー機能
目的
Cluster CSI Snapshot Controller Operator は、CSISnapshot
機能を提供します。
Cluster CSI Snapshot Controller Operator は、CSI Snapshot Controller をインストールし、維持します。CSI Snapshot Controller は VolumeSnapshot
CRD オブジェクトを監視し、ボリュームスナップショットの作成および削除のライフサイクルを管理します。
関連情報
1.3.2.8. DeploymentConfig 機能
目的
DeploymentConfig
機能は、DeploymentConfig
API を有効にして管理します。
DeploymentConfig
機能を無効にすると、クラスター内で次のリソースが使用できなくなります。
-
DeploymentConfig
リソース -
deployer
サービスアカウント
クラスターに DeploymentConfig
リソースと deployer
サービスアカウントが必要ない場合にのみ、DeploymentConfig
機能を無効にしてください。
1.3.2.9. Ingress 機能
目的
Ingress Operator は、Ingress
を可能にする機能を提供します。
Ingress Operator は OpenShift Container Platform ルーターを設定し、管理します。
プロジェクト
CRD
clusteringresses.ingress.openshift.io
- スコープ: Namespaced
-
CR:
clusteringresses
- 検証: No
設定オブジェクト
クラスター設定
-
タイプ名:
clusteringresses.ingress.openshift.io
-
インスタンス名:
default
コマンドの表示:
$ oc get clusteringresses.ingress.openshift.io -n openshift-ingress-operator default -o yaml
-
タイプ名:
注記
Ingress Operator はルーターを openshift-ingress
プロジェクトに設定し、ルーターのデプロイメントを作成します。
$ oc get deployment -n openshift-ingress
Ingress Operator は、network/cluster
ステータスの clusterNetwork[].cidr
を使用して、管理 Ingress Controller (ルーター) が動作するモード (IPv4、IPv6、またはデュアルスタック) を判別します。たとえば、clusterNetwork
に v6 cidr
のみが含まれる場合、Ingress Controller は IPv6 専用モードで動作します。
以下の例では、Ingress Operator によって管理される Ingress Controller は、1 つのクラスターネットワークのみが存在し、ネットワークが IPv4 cidr
であるために IPv4 専用モードで実行されます。
$ oc get network/cluster -o jsonpath='{.status.clusterNetwork[*]}'
出力例
map[cidr:10.128.0.0/14 hostPrefix:23]
1.3.2.10. Insights 機能
目的
Insights Operator は、Insights
機能を提供します。
Insights Operator は OpenShift Container Platform 設定データを収集し、これを Red Hat に送信します。このデータは、クラスターで発生する可能性のある問題について、今後を見据えた上で、事前に対応できる内容に関して推奨事項を生み出します。これらの今後の対応案については、console.redhat.comの Insights Advisor を介してクラスター管理者に伝達されます。
注記
Insights Operator は、OpenShift Container Platform Telemetry を補完します。
1.3.2.11. マシン API 機能
目的
machine-api-operator
、cluster-autoscaler-operator
、および cluster-control-plane-machine-set-operator
Operator は、MachineAPI
機能の機能を提供します。この機能は、user-provisioned infrastructure を使用してクラスターをインストールする場合にのみ無効にできます。
Machine API 機能は、クラスター内のすべてのマシンの設定と管理を担当します。インストール中に Machine API 機能を無効にした場合は、すべてのマシン関連タスクを手動で管理する必要があります。
1.3.2.12. マーケットプレイス機能
目的
Marketplace Operator は、marketplace
機能の機能を提供します。
Marketplace Operator は、クラスター上の一連のデフォルトの Operator Lifecycle Manager (OLM) カタログを使用して、クラスター外の Operator をクラスターに持ち込むプロセスを簡素化します。Marketplace Operator がインストールされると、openshift-marketplace
namespace が作成されます。OLM は、openshift-marketplace
namespace にインストールされたカタログソースがクラスター上のすべての namespace で利用可能であることを保証します。
marketplace
機能を無効にすると、Marketplace Operator は openshift-marketplace
namespace を作成しません。カタログソースは引き続きクラスターで手動で設定および管理できますが、OLM は、クラスター上のすべての namespace でカタログを利用できるようにするために、openshift-marketplace
namespace に依存しています。システム管理者やクラスター管理者など、openshift-
で始まる namespace を作成する権限が昇格されたユーザーは、openshift-marketplace
namespace を手動で作成できます。
marketplace
機能を有効にすると、Marketplace Operator を設定することで個々のカタログを有効または無効にすることができます。
1.3.2.13. Operator Lifecycle Manager 機能
目的
Operator Lifecycle Manager (OLM) を使用することにより、ユーザーは Kubernetes ネイティブアプリケーション (Operator) および OpenShift Container Platform クラスター全体で実行される関連サービスについてインストール、更新、およびそのライフサイクルの管理を実行できます。これは、Operator を効果的かつ自動化された拡張可能な方法で管理するために設計されたオープンソースツールキットの Operator Framework の一部です。
Operator が次の API のいずれかを必要とする場合は、OperatorLifecycleManager
機能を有効にする必要があります。
-
ClusterServiceVersion
-
CatalogSource
-
Subscription
-
InstallPlan
-
OperatorGroup
marketplace
機能は、OperatorLifecycleManager
機能に依存します。OperatorLifecycleManager
機能を無効にして marketplace
機能を有効にすることはできません。
1.3.2.14. ノードチューニング機能
目的
Node Tuning Operator は、NodeTuning
の機能を提供します。
Node Tuning Operator は、TuneD デーモンを調整することでノードレベルのチューニングを管理し、Performance Profile コントローラーを使用して低レイテンシーのパフォーマンスを実現するのに役立ちます。ほとんどの高パフォーマンスアプリケーションでは、一定レベルのカーネルのチューニングが必要です。Node Tuning Operator は、ノードレベルの sysctl の統一された管理インターフェイスをユーザーに提供し、ユーザーが指定するカスタムチューニングを追加できるよう柔軟性を提供します。
NodeTuning 機能を無効にすると、一部のデフォルトチューニング設定がコントロールプレーンノードに適用されなくなります。これにより、900 を超えるノードまたは 900 のルートを持つ大規模なクラスターのスケーラビリティとパフォーマンスが制限される可能性があります。
1.3.2.15. OpenShift サンプル機能
目的
Cluster Samples Operator は、openshift-samples
機能の機能を提供します。
Cluster Samples Operator は、openshift
namespace に保存されるサンプルイメージストリームおよびテンプレートを管理します。
初回起動時に、Operator はデフォルトのサンプル設定リソースを作成し、イメージストリームおよびテンプレートの作成を開始します。設定オブジェクトは、キーが cluster
で、タイプが configs.samples
のクラスタースコープのオブジェクトです。
イメージストリームは、registry.redhat.io
のイメージを参照する Red Hat Enterprise Linux CoreOS (RHCOS) ベースの OpenShift Container Platform イメージストリームです。同様に、テンプレートは OpenShift Container Platform テンプレートとして分類されます。
サンプル機能を無効にすると、ユーザーはそれが提供するイメージストリーム、サンプル、およびテンプレートにアクセスできなくなります。デプロイメントによっては、このコンポーネントが不要な場合は無効にすることができます。
1.3.2.16. クラスターイメージレジストリー機能
目的
Cluster Image Registry Operator は、ImageRegistry
の機能を提供します。
Cluster Image Registry Operator は、OpenShift イメージレジストリーのシングルトンインスタンスを管理します。ストレージの作成を含む、レジストリーのすべての設定を管理します。
初回起動時に、Operator はクラスターで検出される設定に基づいてデフォルトの image-registry
リソースインスタンスを作成します。これは、クラウドプロバイダーに基づいて使用するクラウドストレージのタイプを示します。
完全な image-registry
リソースを定義するのに利用できる十分な情報がない場合、その不完全なリソースが定義され、Operator は足りない情報を示す情報を使用してリソースのステータスを更新します。
Cluster Image Registry Operator は openshift-image-registry
namespace で実行され、その場所のレジストリーインスタンスも管理します。レジストリーのすべての設定およびワークロードリソースはその namespace に置かれます。
イメージレジストリーをクラスターのユーザー認証および認可システムに統合するために、イメージプルシークレットがクラスターのサービスアカウントごとに生成されます。
ImageRegistry
機能を無効にした場合、または Cluster Image Registry Operator の設定で統合済みの OpenShift イメージレジストリーを無効にした場合、イメージプルシークレットはサービスアカウントごとに生成されません。
ImageRegistry
機能を無効にすると、通信環境における OpenShift Container Platform の全体的なリソースフットプリントを削減できます。デプロイメントに応じて、このコンポーネントが必要ない場合は無効にすることができます。
プロジェクト
1.3.3. クラスター機能の表示
クラスター管理者は、clusterversion
リソースの状態を使用して機能を表示できます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
クラスター機能のステータスを表示するには、次のコマンドを実行します。
$ oc get clusterversion version -o jsonpath='{.spec.capabilities}{"\n"}{.status.capabilities}{"\n"}'
出力例
{"additionalEnabledCapabilities":["openshift-samples"],"baselineCapabilitySet":"None"} {"enabledCapabilities":["openshift-samples"],"knownCapabilities":["CSISnapshot","Console","Insights","Storage","baremetal","marketplace","openshift-samples"]}
1.3.4. クラスター機能を有効にするベースライン機能セットの設定
クラスター管理者は、OpenShift Container Platform のインストール後、baselineCapabilitySet
設定パラメーターを設定することで、いつでもクラスター機能を有効にできます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
baselineCapabilitySet
設定パラメーターを設定するには、次のコマンドを実行します。$ oc patch clusterversion version --type merge -p '{"spec":{"capabilities":{"baselineCapabilitySet":"vCurrent"}}}' 1
- 1
baselineCapabilitySet
には、vCurrent
、v4.16
、またはNone
を指定できます。
1.3.5. 追加で有効な機能を設定することによるクラスター機能の有効化
クラスター管理者は、OpenShift Container Platform のインストール後、additionalEnabledCapabilities
設定パラメーターを設定することで、いつでもクラスター機能を有効にできます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。
手順
次のコマンドを実行して、追加の有効な機能を表示します。
$ oc get clusterversion version -o jsonpath='{.spec.capabilities.additionalEnabledCapabilities}{"\n"}'
出力例
["openshift-samples"]
additionalEnabledCapabilities
設定パラメーターを設定するには、次のコマンドを実行します。$ oc patch clusterversion/version --type merge -p '{"spec":{"capabilities":{"additionalEnabledCapabilities":["openshift-samples", "marketplace"]}}}'
クラスターですでに有効になっている機能を無効にすることはできません。クラスターバージョン Operator (CVO) は、クラスターですでに有効になっている機能を調整し続けます。
機能を無効にしようとすると、CVO は異なる仕様を示します。
$ oc get clusterversion version -o jsonpath='{.status.conditions[?(@.type=="ImplicitlyEnabledCapabilities")]}{"\n"}'
出力例
{"lastTransitionTime":"2022-07-22T03:14:35Z","message":"The following capabilities could not be disabled: openshift-samples","reason":"CapabilitiesImplicitlyEnabled","status":"True","type":"ImplicitlyEnabledCapabilities"}
クラスターのアップグレード中に、特定の機能が暗黙的に有効になる可能性があります。アップグレード前にクラスターでリソースがすでに実行されていた場合には、そのリソースに含まれるすべての機能が有効になります。たとえば、クラスターのアップグレード中に、そのクラスターですでに実行中のリソースが、システムにより marketplace
機能に含まれるように、変更される場合などです。クラスター管理者が marketplace
機能を明示的に有効にしていなくても、システムによって暗黙的に有効にされています。