すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:指定したノードにアプリケーションポッドをスケジュールする

最終更新日:Dec 09, 2024

ノードラベルとノードセレクターを設定して、指定したノードにアプリケーションポッドをスケジュールできます。

前提条件

ステップ1: ノードラベルの設定

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. 詳細ページの左側のナビゲーションウィンドウで、[ノード] > [ノード] を選択します。

  3. [ノード] ページで、ラベルとテントの管理右上隅にあるラベルとテントの管理ページに移動します。

  4. On theラベルタブで、使用するノードを選択し、ラベルを追加.

  5. では、追加ダイアログボックス,名前ラベルのをクリックしてOK.

    • 名前: ラベルキーには、英数字、アンダースコア (_) 、ハイフン (-) 、およびピリオド (.) を使用できます。 先頭と末尾は文字または数字である必要があります。 この例では、ラベルキーはpodです。

    • : ラベル値は、空の文字列、または英数字、アンダースコア (_) 、ハイフン (-) 、およびピリオド (.) を使用できます。 先頭と末尾は文字または数字である必要があります。 この例では、ラベル値はnginxです。

ステップ2: 指定されたノードにアプリケーションポッドをスケジュールする

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. 詳細ページの左側のナビゲーションウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. ノードセレクターを管理および設定するデプロイの [操作] 列で、[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
  4. [更新] をクリックします。 システムは展開情報をプロンプトします。

設定の確認

[デプロイ] の名前をクリックして詳細ページに移動し、[ポッド] タブをクリックします。 このタブは、アプリケーションポッドがノードxxx.xxx.33.88にスケジュールされていることを示しています。 ノードにはpod: nginxラベルがあります。 20231228183946.jpg

関連ドキュメント

  • nodeSelectorの詳細については、「ノードへのポッドの割り当て」をご参照ください。

  • アプリケーションをリリースまたはスケールアウトするときに、ResourcePolicyを設定して、アプリケーションポッドがスケジュールされるさまざまなノードタイプの優先順位を指定できます。 システムがアプリケーションポッドでスケーリングすると、ポッドはノードの優先順位に基づいて昇順でノードから削除されます。 詳細については、「優先度ベースのリソーススケジューリングの設定」をご参照ください。