1.3. ネットワーク接続時のオンラインインストール
Red Hat Advanced Cluster Management for Kubernetes は {olm-long} でインストールします。Operator Lifecycle Manager は、Red Hat Advanced Cluster Management ハブクラスターを含むコンポーネントのインストール、アップグレード、および削除を管理します。
作業を開始する前に、要件および推奨事項 セクションを参照してから、以下のドキュメントを確認してください。
必要なアクセス権限: クラスターの管理者。OpenShift Container Platform Dedicated 環境に必要なアクセス: cluster-admin
パーミッションが必要です。デフォルトで、dedicated-admin
ロールには OpenShift Container Platform Dedicated 環境で namespace を作成するために必要なパーミッションがありません。
- デフォルトでは、ハブクラスターコンポーネントは追加設定なしで OpenShift Container Platform クラスターのワーカーノードにインストールされます。OpenShift Container Platform OperatorHub Web コンソールインターフェイスを使用するか、OpenShift Container Platform CLI を使用してハブクラスターをワーカーノードにインストールできます。
- OpenShift Container Platform クラスターをインフラストラクチャーノードで設定している場合は、追加のリソースパラメーターを使用して、OpenShift Container Platform CLI を使用してハブクラスターをそれらのインフラストラクチャーノードにインストールできます。詳細は、インフラストラクチャーノードへの Red Hat Advanced Cluster Management ハブクラスターのインストール セクションを参照してください。
- OpenShift Container Platform または Red Hat Advanced Cluster Management で作成されていない Kubernetes クラスターをインポートする予定の場合は、イメージプルシークレットを設定する必要があります。
詳細設定の設定方法については、本書の MultiClusterHub の詳細設定セクション のオプションを参照してください。
1.3.1. 前提条件
Red Hat Advanced Cluster Management をインストールする前に、以下の要件を満たす必要があります。
- Red Hat OpenShift Container Platform クラスターは、OpenShift Container Platform コンソールから OperatorHub カタログの Red Hat Advanced Cluster Management Operator にアクセスできる必要があります。
- catalog.redhat.com へのアクセスがある。
- お使いの環境に OpenShift Container Platform バージョン 4.9 以降をデプロイし、OpenShift Container Platform CLI でログインしている。お使いの環境に OpenShift Container Platform バージョン 4.9 以降をデプロイし、OpenShift Container Platform CLI でログインしている。OpenShift Container Platform の以下のインストールドキュメントを参照し、OpenShift Container Platform バージョン 4.10 の以前のバージョンに変更します。
-
OpenShift Container Platform のコマンドラインインターフェイス (CLI) は、
oc
コマンドを実行できるように設定している。Red Hat OpenShift CLI のインストールおよび設定の詳細は、CLI の使用方法 を参照してください。 - namespace の作成が可能な OpenShift Container Platform のパーミッションを設定している。namespace がないと、インストールは失敗します。
- operator の依存関係にアクセスするには、インターネット接続が必要。
重要: OpenShift Container Platform Dedicated 環境にインストールするには、以下の要件を参照してください。
- OpenShift Container Platform Dedicated 環境が設定され、実行している。
-
ハブクラスターのインストール先の OpenShift Container Platform Deplicated 環境での
cluster-admin
がある。 -
インポートするには、2.6 の klusterlet Operator の
stable-2.0
チャネルを使用する必要があります。
1.3.2. OpenShift Container Platform インストールの確認
レジストリー、ストレージサービスなど、サポート対象の OpenShift Container Platform バージョンがインストールされ、機能する状態である必要があります。OpenShift Container Platform のインストールの詳細は、OpenShift Container Platform のドキュメントを参照してください。
- Red Hat Advanced Cluster Management ハブクラスターが OpenShift Container Platform クラスターにインストールされていないことを確認します。Red Hat Advanced Cluster Management では、各 OpenShift Container Platform クラスターでは 1 つの Red Hat Advanced Cluster Management ハブクラスターのインストールのみが可能です。Red Hat Advanced Cluster Management ハブクラスターがインストールされていない場合は、以下の手順に進みます。
OpenShift Container Platform クラスターが正しく設定されていることを確認するには、以下のコマンドを使用して OpenShift Container Platform Web コンソールにアクセスします。
kubectl -n openshift-console get route
以下の出力例を参照してください。
openshift-console console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
-
ブラウザーで URL を開き、結果を確認します。コンソール URL の表示が
console-openshift-console.router.default.svc.cluster.local
の場合は、Red Hat OpenShift Container Platform のインストール時にopenshift_master_default_subdomain
を設定します。https://console-openshift-console.apps.new-coral.purple-chesterfield.com
の例を参照してください。
コンソールまたは CLI から、Red Hat Advanced Cluster Management のインストールに進みます。どちらの手順も文書化されています。
1.3.3. OperatorHub Web コンソールインターフェイスからのインストール
ベストプラクティス: OpenShift Container Platform ナビゲーションの Administrator ビューから、OpenShift Container Platform で提供される OperatorHub Web コンソールインターフェイスをインストールします。
- Operators > OperatorHub を選択して利用可能な Operator の一覧にアクセスし、Advanced Cluster Management for Kubernetes Operator を選択します。
Operator サブスクリプション ページで、インストールのオプションを選択します。
namespace 情報:
- Red Hat Advanced Cluster Management ハブクラスターは、独自の namespace またはプロジェクトにインストールする必要があります。
-
デフォルトでは、OperatorHub コンソールのインストールプロセスで
open-cluster-management
という namespace が作成されます。ベストプラクティス: 利用可能な場合はopen-cluster-management
namespace を使用してください。 -
open-cluster-management
という名前の namespace がすでにある場合は、別の namespace を選択します。
- チャネル: インストールするリリースに対応するチャネルを選択します。チャネルを選択すると、指定のリリースがインストールされ、そのリリース内の今後のエラータ更新が取得されます。
更新の承認ストラテジー: 承認ストラテジーでは、サブスクライブ先のチャネルまたはリリースに更新を適用するのに必要な人の間のやり取りを特定します。
- Automatic を選択して、そのリリース内の更新が自動的に適用されるようにします。
- Manual を選択して、更新が利用可能になると通知を受け取ります。更新がいつ適用されるかについて懸念がある場合は、これがベストプラクティスになる可能性があります。
重要: 次のマイナーリリースにアップグレードするには、 OperatorHub ページに戻り、最新リリースの新規チャネルを選択する必要があります。
- Install を選択して変更を適用し、Operator を作成します。
MultiClusterHub のカスタムリソースを作成します。
- OpenShift Container Platform コンソールのナビゲーションで Installed Operators > Advanced Cluster Management for Kubernetes を選択します。
- MultiClusterHub タブを選択します。
- Create MultiClusterHub を選択します。
YAML ファイルのデフォルト値を更新します。このドキュメントの MultiClusterHub の詳細設定 のオプションを参照してください。
-
以下の例は、デフォルトのテンプレートを示しています。
namespace
がお使いのプロジェクトの namespace であることを確認します。サンプルを参照してください。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace>
-
以下の例は、デフォルトのテンプレートを示しています。
Create を選択して、カスタムリソースを初期化します。Red Hat Advanced Cluster Management ハブクラスターのビルドと起動に、最長で 10 分程度かかる場合があります。
Red Hat Advanced Cluster Management ハブクラスターが作成されると、Red Hat Advanced Cluster Management Operator の詳細の MultiClusterHub タブから
MultiClusterHub
リソースのステータスが Running と表示されます。これで、Red Hat Advanced Cluster Management ハブクラスターのコンソールにアクセスできるようになりました。以下の手順を参照してください。- OpenShift Container Platform コンソールナビゲーションで Networking > Routes を選択します。
- リストで Red Hat Advanced Cluster Management ハブクラスターの URL を確認して、その URL に移動してコンソールにアクセスします。
1.3.4. OpenShift Container Platform CLI からのインストール
Operator 要件を満たした Red Hat Advanced Cluster Management ハブクラスター namespace を作成します。以下のコマンドを実行して、
namespace
はお使いの Red Hat Advanced Cluster Management ハブクラスターの namespace 名になります。namespace
の値は、OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。oc create namespace <namespace>
プロジェクトの namespace を、作成した namespace に切り替えます。
namespace
は、手順 1 で作成した Red Hat Advanced Cluster Management ハブクラスター namespace 名に置き換えます。oc project <namespace>
OperatorGroup
リソースを設定するために YAML ファイルを作成します。namespace ごとに割り当てることができる Operator グループ は 1 つだけです。default
はお使いの operator グループ名に置き換えます。namespace
はお使いのプロジェクトの namespace 名に置き換えます。以下のサンプルを参照してください。apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <default> spec: targetNamespaces: - <namespace>
以下のコマンドを実行して
OperatorGroup
リソースを作成します。operator-group
は、作成した operator グループの YAML ファイル名に置き換えます。oc apply -f <path-to-file>/<operator-group>.yaml
OpenShift Container Platform サブスクリプションを設定するための YAML ファイルを作成します。ファイルは以下の例のようになります。
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: acm-operator-subscription spec: sourceNamespace: openshift-marketplace source: redhat-operators channel: release-2.5 installPlanApproval: Automatic name: advanced-cluster-management
注記: Red Hat Advanced Cluster Management ハブクラスターをインフラストラクチャーノードにインストールする場合は、Operator Lifecycle Manager サブスクリプションの追加設定 セクションを参照してください。
以下のコマンドを実行して OpenShift Container Platform サブスクリプションを作成します。
subscription
は、作成したサブスクリプションファイル名に置き換えます。oc apply -f <path-to-file>/<subscription>.yaml
YAML ファイルを作成して
MultiClusterHub
カスタムリソースを設定します。デフォルトのテンプレートは、以下の例のようになります。namespace
はお使いのプロジェクトの namespace 名に置き換えます。apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: {}
注記: Red Hat Advanced Cluster Management ハブクラスターをインフラストラクチャーノードにインストールする場合は、MultiClusterHub カスタムリソースの追加設定 セクションを参照してください。
以下のコマンドを実行して
MultiClusterHub
カスタムリソースを作成します。custom-resource
は、カスタムリソースファイル名に置き換えます。oc apply -f <path-to-file>/<custom-resource>.yaml
以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。リソースが作成されてから数分後にもう一度コマンドを実行します。
error: unable to recognize "./mch.yaml": no matches for kind "MultiClusterHub" in version "operator.open-cluster-management.io/v1"
以下のコマンドを実行してカスタムリソースを編集します。コマンドを実行して、
MultiClusterHub
カスタムリソースのステータスがstatus.phase
フィールドにRunning
と表示されるまで、最長 10 分の時間がかかる可能性があります。oc get mch -o=jsonpath='{.items[0].status.phase}'
ステータスが
Running
になってから、ルートの一覧を確認してルートを探し出します。oc get routes
Red Hat Advanced Cluster Management を再インストールして、Pod が起動しない場合には、この問題の回避手順について 再インストールに失敗する場合のトラブルシューティング を参照してください。
注記:
-
ClusterRoleBinding
が指定されたServiceAccount
には、Red Hat Advanced Cluster Management がインストールされている namespace にアクセス権があるユーザー認証情報、および Red Hat Advanced Cluster Management に対して、クラスター管理者権限が割り当てられます。 -
このインストールでは、
local-cluster
という名前の namespace も作成されます。この namespace は、単独で管理できるように Red Hat Advanced Cluster Management ハブクラスター向けに確保されます。local-cluster
という既存の namespace を含めることはできません。セキュリティーの理由上、cluster-administrator
のアクセス権がないユーザーには、local-cluster
namespace へのアクセス権を割り当てないようにしてください。
1.3.5. インフラストラクチャーノードへの Red Hat Advanced Cluster Management ハブクラスターのインストール
OpenShift Container Platform クラスターを、承認された管理コンポーネントを実行するためのインフラストラクチャーノードを組み込むように設定できます。インフラストラクチャーノードでコンポーネントを実行すると、それらの管理コンポーネントを実行しているノードの OpenShift Container Platform サブスクリプションクォータの割り当てる必要がなくなります。
OpenShift Container Platform クラスターにインフラストラクチャーノードを追加した後、OpenShift Container Platform CLI からのインストール 手順に従い、設定を Operator Lifecycle Manager サブスクリプションおよび MultiClusterHub
カスタムリソースに追加します。
1.3.5.1. インフラストラクチャーノードを OpenShift Container Platform クラスターに追加する
OpenShift Container Platform ドキュメントの インフラストラクチャーマシンセットの作成 で説明されている手順に従います。インフラストラクチャーノードは、Kubernetes の taint
および label
で設定され、管理以外のワークロードがそれらで稼働し続けます。
Red Hat Advanced Cluster Management が提供するインフラストラクチャーノードの有効化と互換性を持たせるために、インフラストラクチャーノードに次の taint
および label
が適用されていることを確認してください。
metadata: labels: node-role.kubernetes.io/infra: "" spec: taints: - effect: NoSchedule key: node-role.kubernetes.io/infra
1.3.5.2. Operator Lifecycle Manager サブスクリプションの追加設定
Operator Lifecycle Manager サブスクリプションを適用する前に、以下の追加設定を追加します。
spec: config: nodeSelector: node-role.kubernetes.io/infra: "" tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists
1.3.5.3. MultiClusterHub カスタムリソースの追加設定
MultiClusterHub
カスタムリソースを適用する前に、以下の設定を追加します。
spec: nodeSelector: node-role.kubernetes.io/infra: ""