Kubernetes は、ラベルとテイントを使用してクラスター内のリソースを管理およびスケジュールします。 ラベルは、ノードなどの Kubernetes リソースを識別および分類するために使用できます。 テイントは、ノードが特定のポッドを拒否するために使用できます。
ラベルの概要と使用上の注意については、「Labels and Selectors」をご参照ください。 テイントと許容の使用上の注意と効果については、「Taints and Tolerations」をご参照ください。 NoSchedule、NoExecute、PreferNoSchedule などの効果を指定できます。
ノードラベルの作成と管理
ラベルは、ノードを識別および分類するために使用できます。 ラベルは、操作のためにノードを選択するためのセレクターとしても使用できます。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、変更するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ラベルとテイントの管理] をクリックします。 [ラベルとテイントの管理] ページで、[ラベル] タブをクリックします。 [ラベル] タブで、管理するノードを選択し、[ラベルの追加] をクリックします。 [追加] ダイアログボックスで、画面上の指示に従って [名前] パラメーターと [値] パラメーターを設定します。
ラベルを追加した後、[ラベル] 列にノードに追加されたすべてのラベルを表示できます。 また、[ラベル] 列で次の操作を実行することもできます。
ラベルをクリックしてノードをフィルタリングし、そのラベルを持つノードを表示します。
ラベルの
アイコンをクリックして、ラベルを削除します。説明特定の Kubernetes ネイティブラベルは削除できません。 このようなラベルを削除すると、システムによってラベルがノードに自動的に再度追加されます。
ノードテイントの作成と管理
テイントは、ノードが特定のポッドを拒否するために使用できます。 テイントを持つノードにポッドをスケジュールするには、テイントに一致する許容をノードに追加する必要があります。 使用シナリオ:
特定のユーザーまたはワークロード専用のノードグループを選択する場合。
特定のハードウェアリソースを必要とするポッドのみが、そのハードウェアリソースを持つノードにスケジュールされるようにする場合。 たとえば、GPU リソースを必要とするポッドのみが GPU アクセラレーションノードにスケジュールされるようにする場合。
テイントを使用してノードからポッドをエビクトする場合。 ノードに
NoExecuteテイントを追加して、ノードからポッドをエビクトできます。 ノードにポッドを保持する場合は、NoExecute テイントに一致する許容をポッドに追加します。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、変更するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ラベルとテイントの管理] をクリックします。 [ラベルとテイントの管理] ページで、[テイント] タブをクリックします。 [テイント] タブで、管理するノードを選択し、[テイントの追加] をクリックします。 [追加] ダイアログボックスで、画面上の指示に従って [名前]、[値]、および [効果] パラメーターを設定します。
テイントの形式と効果については、「Taints and Tolerations」をご参照ください。
パラメーター
説明
名前
名前は 1 ~ 63 文字で、文字、数字、ハイフン(-)、アンダースコア(_)、ピリオド(.)を含めることができます。 名前は文字または数字で始まり、文字または数字で終わる必要があります。
プレフィックス付きキーを指定する場合、プレフィックスは サブドメイン名 である必要があります。 サブドメイン名は、ピリオド(.)で区切られた DNS ラベルで構成され、長さは 253 文字以下である必要があります。 スラッシュ (/) で終わる必要があります。
値
このパラメーターは空のままにすることができます。 値は 63 文字以下で、文字、数字、ハイフン(-)、アンダースコア(_)、ピリオド(.)を含めることができます。 文字または数字で始まり、文字または数字で終わる必要があります。
効果
[NoSchedule]: [効果] が [NoSchedule] であるテイントがノードにある場合、システムはノードにポッドをスケジュールしません。
[NoExecute]: 効果が NoExecute であるテイントがノードにある場合、システムはノードにポッドをスケジュールせず、一致する許容を持たないポッドはノードからエビクトされます。
[PreferNoSchedule]: 効果が PreferNoSchedule であるテイントがノードにある場合、システムは一致する許容を持たないポッドをノードにスケジュールしないようにします。 この効果は、厳密な要件を指定するものではありません。
テイントを追加した後、[テイント] 列にすべてのテイントを表示できます。 次の操作を実行できます。
テイントをクリックしてノードをフィルタリングし、そのテイントを持つノードを表示します。
テイントの
アイコンをクリックして、テイントを削除します。
参照
ノードプールでノードラベルとテイントを一元的に構成するには、「ノードプールの作成と管理」をご参照ください。
ノードラベルまたは
nodeSelectorフィールドを使用して、「特定のノードへのポッドのスケジュール」をご参照ください。