ARMベースのノードに通常またはマルチアーチのアプリケーションをデプロイする場合は、ARMベースのノードプールまたはクラスタを作成できます。 これにより、グループごとにARMベースのノードを管理および維持できます。
制限事項
クラスターのKubernetesバージョンは1.20以降である必要があります。
ノードOSはAlibaba Cloud Linux 3である必要があります。 Alibaba Cloud Linux 3の詳細については、「Alibaba Cloud Linux 3の使用」をご参照ください。
ARMベースのノードプールでは、次のコンポーネントのみがサポートされます。
主要コンポーネント
ロギングと監視コンポーネント
ボリュームコンポーネント
ネットワークコンポーネント
Container Service for Kubernetes (ACK) コンソールのMarketplaceページに表示されるコンポーネントは、ARMベースのノードプールにデプロイできません。
使用上の注意
ARMベースのノードとx86-basedノードの両方がクラスターに存在する場合は、ARMベースのノードにkubernetes.io/arch=arm64:NoSchedule
テイントを追加することを推奨します。 これは、ARMアーキテクチャをサポートしないアプリケーションまたはコンポーネントをARMベースのノードに誤ってスケジューリングすることを回避する。 nodeSelector
またはnodeAffinity
を設定して、1.24より前のバージョンのKubernetesを実行するACKクラスター内のARMベースのノードにアプリケーションをスケジュールする場合、kubernetes.io/arch=arm64:NoSchedule
のテイントを許容する許容範囲
を追加する必要があります。 ただし、クラスターがKubernetes 1.24以降を実行する場合、スケジューラは自動的にkubernetes.io/arch=arm64:NoSchedule
テントを許容します。 この場合、汚れを許容するために許容範囲
を追加する必要はありません。
ARMベースのクラスターまたはノードプールの作成
ACKクラスターを作成してARMベースのノードのみを含むクラスターを取得するときに、ARMベースのノードを追加できます。 既存のクラスターにARMベースのノードプールを作成して、ARMベースのノードのみを含むノードプールを取得することもできます。
クラスターの作成時にARMベースのノードを追加する
クラスターの作成方法の詳細については、「ACK管理クラスターの作成」をご参照ください。 クラスターのノードプールを設定するときは、[インスタンスタイプ] セクションの [アーキテクチャ] の [アーム] を選択します。 次に、g8m汎用インスタンスファミリーに属するインスタンスタイプを選択します。 要件に基づいて他のクラスターパラメーターを設定し、クラスターを作成します。
[各リージョンで使用可能なECSインスタンスタイプ] ページに移動して、各リージョンで使用可能なインスタンスタイプを表示できます。
ARMベースのノードプールの作成
ノードプールの作成方法の詳細については、「手順」をご参照ください。 ノードプールを設定したら、[インスタンスタイプ] セクションの [アーキテクチャ] の [アーム] を選択します。 次に、g8m汎用インスタンスファミリーに属するインスタンスタイプを選択します。 要件に基づいて他のノードプールパラメーターを設定し、ノードプールを作成します。
[各リージョンで使用可能なECSインスタンスタイプ] ページに移動して、各リージョンで使用可能なインスタンスタイプを表示できます。
関連ドキュメント
デフォルトでは、ACKクラスターのワークロードはx86-basedノードにスケジュールされます。 ARMベースのノードにワークロードをスケジュールするようにシステムを設定できます。 詳細については、「ARMベースノードへのワークロードのスケジュール」をご参照ください。
ARMベースの仮想ノードを作成し、ARMベースの仮想ノードへのワークロードをスケジュールするようにシステムを構成できます。 詳細については、「ARMベースの仮想ノードへのワークロードのスケジュール」をご参照ください。