10 Metal3 #
Metal3は、Kubernetesにベアメタルインフラストラクチャ管理機能を提供するCNCFプロジェクトです。
Metal3は、Redfishなどのアウトオブバンドプロトコルを介した管理をサポートするベアメタルサーバのライフサイクルを管理するためのKubernetesネイティブリソースを提供します。
また、Cluster API (CAPI)も十分にサポートされており、広く採用されているベンダニュートラルなAPIを使用して、複数のインフラストラクチャプロバイダにわたってインフラストラクチャリソースを管理できます。
10.1 SUSE EdgeでのMetal3の用途 #
この方法は、ターゲットハードウェアがアウトオブバンド管理をサポートしていて、完全に自動化されたインフラストラクチャ管理フローが望まれるシナリオで役立ちます。
この方法では宣言型APIが提供されており、このAPIを使用することで、検査、クリーニング、プロビジョニング/プロビジョニング解除の自動化を含む、ベアメタルサーバのインベントリと状態の管理が可能になります。
10.2 既知の問題 #
アップストリームのIPアドレス管理コントローラは、SUSEが選択したネットワーク設定ツールとの互換性がまだないため、現在はサポートされていません。
関連して、IPAMリソースとMetal3DataTemplateのnetworkDataフィールドはサポートされていません。
redfish-virtualmediaを介したデプロイメントのみが現在サポートされています。
Ironic Python Agent (IPA)とターゲットオペレーティングシステム(SL Micro 6.0/6.1)の間で、特に、デバイスに予測可能な名前を設定しようとする際に、ネットワークデバイス名の不整合が発生する可能性があります。
これが発生するのは、Ironic Python Agent (IPA)のカーネルが現在、ターゲットオペレーティングシステム(SL Micro 6.0/6.1)のカーネルと整合していないためです。これにより、ネットワークドライバに不整合が生じ、SL Microが想定する命名パターンとは異なる命名パターンでIPAがネットワークデバイスを検出できるようになります。
当面の回避策として、以下の2つの異なるアプローチが利用可能です。*
ネットワーク設定で2つの異なるシークレットを作成します。1つはIPAが検出するデバイス名を使用したIPAで使用されるシークレットで、BareMetalHost定義のpreprovisioningNetworkDataNameとして使用します。もう1つはSL
Microが検出するデバイス名を使用したシークレットで、BareMetalHost定義のnetworkData.nameとして使用します。*
代わりに、生成されたnmconnectionファイル上の他のインタフェースを参照するためにUUIDを使用します。詳細は、ヒントとコツセクションを参照してください。