ルータをエッジノードに分離する
ルーターポッドが常にエッジワーカーノードにスケジューリングされるようにするには、ゾーンごとに少なくとも2つのエッジワーカーノードを持つワーカープールを作成するか、既存のワーカープールを使用する必要があります。
開始前に
- 以下の IAM ロールが割り当てられていることを確認してください:
- クラスターに対するプラットフォーム・アクセスの役割
- すべての名前空間に対するライターまたはマネージャーのサービス・アクセス役割
- Red Hat OpenShift クラスターにアクセスします。
エッジワーカーノードへのワークロードの分離
ワークロードをエッジ ワーカー ノードに分離するには:
-
ラベル付きのワーカープールを作成する
dedicated=edgeまたは、既存のワーカー プールの 1 つにラベルを追加します。- クラシックワーカープールを作成するには、
worker-pool create classic指示。
ibmcloud oc worker-pool create classic --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * VPCワーカープールを作成するには、`worker-pool create vpc-gen2`[指示](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-pool-create-vpc-gen2-cli)。 ```sh {: pre} ibmcloud oc worker-pool create vpc-gen2 --name POOL_NAME --cluster CLUSTER --flavor FLAVOR --size-per-zone WORKERS_PER_ZONE --hardware ISOLATION --label dedicated=edge ``` * 既存のワーカープールにラベルを付けるには、`worker-pool label set`[指示](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-pool-label-set-cli)。 ```sh {: pre} ibmcloud oc worker-pool label set --cluster CLUSTER --worker-pool POOL --label dedicated=edge ``` - クラシックワーカープールを作成するには、
-
上記のワーカー・プールとワーカー・ノードに
dedicated=edgeというラベルが付けられていることを確認します。- ワーカープールを確認するには、
get指示。
ibmcloud oc worker-pool get --cluster CLUSTER_NAME_OR_ID --worker-pool WORKER_POOL_NAME_OR_ID ``` * 個々のワーカー・ノードを確認するには、以下のコマンドの出力の **Labels** フィールドを確認します。 ```sh {: pre} oc describe node <worker_node_private_IP> ``` - ワーカープールを確認するには、
-
クラスタ内の既存のIngressコントローラーをすべて取得します。
oc get ingresscontroller -n openshift-ingress-operator出力例
NAME AGE default 5h37m -
Ingress コントローラーを編集します。
oc edit ingresscontroller -n openshift-ingress-operator default -
をセットする
spec.nodePlacementフィールドを次のとおりにします。 詳細については、Red Hatドキュメンテーション。nodePlacement: nodeSelector: matchLabels: dedicated: edge tolerations: - effect: NoSchedule operator: Exists -
ファイルを保存して閉じます。
-
ルーター・ポッドがエッジ・ノードにスケジューリングされており、コンピュート・ノードにはスケジューリングされていないことを確認してください。
oc describe nodes -l dedicated=edge | grep "router-*"出力例
openshift-ingress router-default-7784f69c7c-qq577 100m (2%) 0 (0%) 256Mi (1%) 0 (0%) 5m4s openshift-ingress router-default-7784f69c7c-7rwrj 100m (2%) 0 (0%) 256Mi (1%) 0 (0%) 5m5s -
エッジノード以外のノードにルーターポッドがデプロイされていないことを確認してください。
oc describe nodes -l dedicated!=edge | grep "router-*"ルーターポッドがエッジノードに正しくデプロイされている場合、ルーターポッドは返されません。 ルーターは、エッジワーカーノードのみに再割り当てされました。
ワーカープール内のワーカーノードに「 dedicated=edge 」というラベルを付け、既存のすべてのALBをエッジノードに再デプロイしました。 その後、クラスターに追加されるすべてのALBは、エッジワーカープール内のエッジノードにもデプロイされます。 次に、他の エッジワーカーノードで実行されるワークロード。