17.3. AWS Local Zones または Wavelength Zones でのユーザーワークロードの作成
Amazon Web Service (AWS) の Local Zones または Wavelength Zone インフラストラクチャーを作成し、クラスターをデプロイした後、エッジコンピュートノードを使用して Local Zones または Wavelength Zones のサブネットにユーザーワークロードを作成できます。
インストールプログラムを使用してクラスターを作成すると、インストールプログラムは各エッジコンピュートノードに NoSchedule
taint effect を自動的に指定します。これは、Pod が taint に対して指定された許容範囲に一致しない場合、スケジューラーは新しい Pod またはデプロイメントをノードに追加しないことを意味します。taint を変更することで、Local Zones または Wavelength Zones の各サブネットにノードがワークロードを作成する方法をより適切に制御できます。
インストールプログラムは、node-role.kubernetes.io/edge
ラベルと node-role.kubernetes.io/worker
ラベルを含むコンピュートマシンセットのマニフェストファイルを作成します。これらのラベルは、Local Zones または Wavelength Zones のサブネット内にある各エッジコンピュートノードに適用されます。
この手順の例は、Local Zones インフラストラクチャーを対象としています。Wavelength Zone インフラストラクチャーを使用している場合は、Wavelength Zone インフラストラクチャーでサポートされている機能に合わせて例を変更してください。
前提条件
-
OpenShift CLI (
oc
) にアクセスできる。 - Local Zones または Wavelength Zones のサブネットが定義された Virtual Private Cloud (VPC) にクラスターをデプロイしている。
-
Local Zones または Wavelength Zones のサブネット上のエッジコンピュートノードのコンピュートマシンセットが、
node-role.kubernetes.io/edge
の taint を指定していることを確認している。
手順
Local Zones のサブネットで動作するエッジコンピュートノードにデプロイするサンプルアプリケーションの
deployment
リソース YAML ファイルを作成します。エッジコンピュートノードの taint に合った正しい toleration を指定していることを確認してください。Local Zone のサブネットで動作するエッジコンピュートノード用に設定された
deployment
リソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
storageClassName
: Local Zone 設定の場合、gp2-csi
を指定する必要があります。- 2
kind
:deployment
リソースを定義します。- 3
name
: Local Zone アプリケーションの名前を指定します。たとえば、local-zone-demo-app-nyc-1
です。- 4
namespace:
ユーザーワークロードを実行する AWS Local Zone 用の namespace を定義します。例:local-zone-app-nyc-1a
- 5
zone-group
: ゾーンが属するグループを定義します。たとえば、us-east-1-iah-1
- 6
nodeSelector
: 指定のラベルに一致するエッジコンピュートノードをターゲットとします。- 7
tolerations
: Local Zone ノードのMachineSet
マニフェストで定義されたtaints
と一致する値を設定します。
ノードの
service
リソース YAML ファイルを作成します。このリソースは、ターゲットのエッジコンピュートノードから Local Zone ネットワーク内で実行されるサービスに Pod を公開します。Local Zone サブネットで動作するエッジコンピュートノード用に設定された
service
リソースの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow