ノードラベルとノードセレクターを設定して、指定したノードにアプリケーションポッドをスケジュールできます。
前提条件
ステップ1: ノードラベルの設定
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
[ノード] ページで、ラベルとテントの管理右上隅にあるラベルとテントの管理ページに移動します。
On theラベルタブで、使用するノードを選択し、ラベルを追加.
では、追加ダイアログボックス,名前と値ラベルのをクリックしてOK.
名前: ラベルキーには、英数字、アンダースコア (_) 、ハイフン (-) 、およびピリオド (.) を使用できます。 先頭と末尾は文字または数字である必要があります。 この例では、ラベルキーはpodです。
値: ラベル値は、空の文字列、または英数字、アンダースコア (_) 、ハイフン (-) 、およびピリオド (.) を使用できます。 先頭と末尾は文字または数字である必要があります。 この例では、ラベル値はnginxです。
ステップ2: 指定されたノードにアプリケーションポッドをスケジュールする
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
ノードセレクターを管理および設定するデプロイの [操作] 列で、[YAMLで表示] をクリックします。 このトピックでは、例として、nginx-Deployment-basicという名前のdeploymentを使用します。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-basic labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: nodeSelector: pod: nginx #Specify the label of the node that you added to ensure that the application pods run only on this node. Specify the actual label that you added. containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
[更新] をクリックします。 システムは展開情報をプロンプトします。
設定の確認
[デプロイ] の名前をクリックして詳細ページに移動し、[ポッド] タブをクリックします。 このタブは、アプリケーションポッドがノードxxx.xxx.33.88にスケジュールされていることを示しています。 ノードにはpod: nginxラベルがあります。
関連ドキュメント
nodeSelector
の詳細については、「ノードへのポッドの割り当て」をご参照ください。アプリケーションをリリースまたはスケールアウトするときに、ResourcePolicyを設定して、アプリケーションポッドがスケジュールされるさまざまなノードタイプの優先順位を指定できます。 システムがアプリケーションポッドでスケーリングすると、ポッドはノードの優先順位に基づいて昇順でノードから削除されます。 詳細については、「優先度ベースのリソーススケジューリングの設定」をご参照ください。