最近、私はブログ( Provisioning OpenShift clusters using GitOps with ACM) を公開し、ArgoCD と GitOps を使用して RHACM で OpenShift クラスタを作成する方法を説明しました。OpenShift のインストールタイプは IPI です。これはほとんどのプラットフォーム (Azure、AWS、GCP、vSphere など) で有効ですが、ベアメタルには利用できませんでした。ベアメタルに OpenShift クラスタをインストールしたことがあり、かつネットワークを切断したことがあるなら、ベアメタルが他のインストールとかなり異なっていることがお分かりでしょう。
このブログでは、ArgoCD と GitOps を使用して RHACM で OpenShift クラスタを作成する際に Assisted Installer を使用する方法を説明します。RHACM と GitOps を使用した OpenShift クラスタのデプロイに詳しくない場合は、私が書いた記事 ( GitOps for organizations: provisioning and configuring OpenShift clusters automatically 「組織向けの GitOps:OpenShift クラスタの自動プロビジョニングと設定」) を読むことをお勧めします。また、私はこのソリューションを最初にデプロイしたときに参照したブログ ( Managing OCP Infrastructures Using GitOps) を一読なさることもお勧めします。
ソリューション概要
OpenShift GitOps と RHACM については、ブログ ( Provisioning OpenShift clusters using GitOps with ACM) に記載したのと同じ方法で使用します。Kubernetes オブジェクトは git リポジトリにアップロードします。ArgoCD がこれらのオブジェクトを OpenShift クラスタに同期し、RHACM が Bare Metal Operator、 Ironic、 および Assisted Installer を使用してクラスタをデプロイします。
ここでは BareMetalHost (BMH) を作成します。BMH とは、物理ホストとそのプロパティを定義する Metal³ カスタムリソース定義 (CRD) です。BMH は、Redfish プロトコルを使用して Baseboard Management Controller (BMC) 物理ノードに接続します。ノードのネットワークは NMstateConfig を使用して静的に設定されます。OpenShift クラスタは、作成された Bare MetalHost を使用し、Assisted Installer でデプロイされます。
すべてのオブジェクトの作成を開始しないでください。多くのリソースが使用されるので、リソースは一度に 1 つずつ作成し、ステータスを確認することをお勧めします。まず、インフラストラクチャ環境を作成する前に RHACM ドキュメントで 前提条件 を確認し、Central Infrastructure Management サービスを有効化します。これは Multicluster Engine で提供されます。
前提条件を満たしたら、RHACM コンソールに移動します。インフラストラクチャ環境で、ベアメタルホストを作成し、Redfish を使用してホストの BMC に接続します。次に、「Creating your cluster in ACM with the console (コンソールでの ACM を使用したクラスタの作成方法)」に従ってベアメタルホスト (既存の検出済みホスト) を使用してクラスタをデプロイします。デプロイメントで作成されたオブジェクトを確認し、コマンドラインに移動し、「 Creating your cluster in ACM with the command line (コマンドラインでの ACM を使用したクラスタの作成方法)」に従い、他のパラメーターを使用して同じオブジェクトを作成する別のクラスタをデプロイします。 その後は、YAML ファイルを Git リポジトリにアップロードし、オブジェクトを同期する ArgoCD アプリケーションを作成します。
最後の手順として、「Provisioning OpenShift clusters using GitOps with ACM」に記載されているように、すべてのオブジェクトを含む Helm チャートをテンプレートとして作成し、 ApplicationSet を作成してクラスタごとに Application を作成します。
RHACM のベアメタル Operator、Ironic、および Assisted installer
- ベアメタル Operator は、ハードウェア機能の検査、オペレーティングシステムのインストール、ベアメタルマシンを元の状態に復元する場合の再初期化など、ベアメタルホストのプロビジョニングに必要なすべての操作を行うために Ironic API と接続する主要コンポーネントです。
- Ironic は、ベアメタルマシンのプロビジョニングとライフサイクル管理を自動化するサービスです。
- OpenShift Assisted Installer を使用すると、新しいベアメタルマシンのプロビジョニングと OpenShift クラスタの作成が簡単になります。Assisted Installer は、すべてのホストが要件を満たしていることをチェックし、OpenShift Container Platform クラスタのデプロイをトリガーします。 すべてのノード (BMH) には、ディスクに書き込まれた Red Hat Enterprise Linux CoreOS (RHCOS) イメージがあります。
- Assisted Image サービス は、Assisted Installer Service 用に RHCOS イメージをカスタマイズして提供します。これは、設定に基づいて、起動時に RHCOS イメージのセットをダウンロードします。
Assisted Installer のプロビジョニング・ワークフロー:
オブジェクト
RHACM ドキュメントの「Creating your cluster with the command line (コマンドラインによるクラスタの作成)」の章では、Assisted Installer を使用してクラスタをデプロイするために必要なすべてのオブジェクトを取得する方法を確認できます。
- Namespace
- ClusterImageSet
- ClusterDeployment
- AgentClusterInstall
- NMStateConfig
- BaremetalHost
- InfraEnv
- KlusterletAddonConfig
- ManagedCluster
役立つヒント
- 前述のように、前提条件、とくに帯域外管理ホストの IP アドレスと RHACM との間の接続を確認してください。virtualmedia については、 ポート 6183 を開く必要があります。virtualmedia、assisted-agent、および Ignition に関連したトラブルシューティングは難しい場合があるため、ホスト ILO と仮想ターミナルへのアクセスを試行してください。これにより、トラブルシューティングが容易になります。
- 一度にすべてのオブジェクトを作成しようとしないでください。オブジェクトは一度に 1 つずつ作成し、ステータスを確認します。
- サポートが必要な場合は Red Hat のプロフェッショナル・サービスにお問い合わせください。このようなブログやソリューション、記事を公開することで知識をオープンに共有していますが、環境ごとに独自のカスタマイズや課題があります。Red Hat は世界中の多くのお客様を支援しており、幅広い経験があります。
まとめ
上記の手順では、RHACM とオンプレミスの Assisted Installer を使用して、ベアメタルの OpenShift クラスタをデプロイしました。
まずは、前提条件を確認します。前提条件を満たしていることを確認した後は、RHACM コンソールに移動し、ベアメタルホストを作成し、ステータスを確認します。次に、Assisted Installer とベアメタルホストを使用して OpenShift クラスタをデプロイします。デプロイが成功したら、コマンドラインに移動し、オブジェクトを 1 つずつ作成し、ステータスを確認します。最後に、Git リポジトリでオブジェクトを作成し、ArgoCD を使用して RHACM クラスタと同期します。
ベアメタル OpenShift クラスタのデプロイをセルフサービスリソースとして自動化する場合は、「 Provisioning OpenShift clusters using GitOps with ACM」で説明されているように、すべてのオブジェクトを含む Helm チャートと ArgoCD ApplicationSet を作成し、Helm チャートを使用して各クラスタをデプロイできます。
執筆者紹介
Alberto Gonzalez de Dios is a Senior Cloud consultant: Automation and OpenShift specialist. He joined Red Hat in 2018, and he is certified in Azure, AWS and Red Hat (Red Hat Certified Architect Level II).
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
オリジナル番組
エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー
製品
ツール
試用、購入、販売
コミュニケーション
Red Hat について
エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。
言語を選択してください
Red Hat legal and privacy links
- Red Hat について
- 採用情報
- イベント
- 各国のオフィス
- Red Hat へのお問い合わせ
- Red Hat ブログ
- ダイバーシティ、エクイティ、およびインクルージョン
- Cool Stuff Store
- Red Hat Summit