REST Resource: projects.locations.awsClusters.awsNodePools

リソース: AwsNodePool

AWS で実行されている Anthos ノードプール。

JSON 表現
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
フィールド
name

string

このリソースの名前。

ノードプールの名前の形式は projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id> です。

Google Cloud リソース名の詳細については、リソース名をご覧ください。

version

string

必須。このノードプールで実行する Kubernetes バージョン(1.19.10-gke.1000 など)。

locations.getAwsServerConfig を呼び出すことで、特定の Google Cloud リージョンでサポートされているすべてのバージョンを一覧表示できます。

config

object (AwsNodeConfig)

必須。ノードプールの構成。

autoscaling

object (AwsNodePoolAutoscaling)

必須。このノードプールのオートスケーラーの構成。

subnetId

string

必須。ノードプール ノードが実行されるサブネット。

state

enum (State)

出力専用。ノードプールのライフサイクル ステータス。

uid

string

出力専用。ノードプールのグローバルな固有識別子。

reconciling

boolean

出力専用。設定されている場合は、現時点でノードプールに対して処理中の変更があります。

createTime

string (Timestamp format)

出力専用。このノードプールが作成された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。このノードプールが最後に更新された時刻。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

クライアントがオプティミスティック同時実行制御で一貫した読み取り - 修正 - 書き込みを行えるようにします。

更新リクエストと削除リクエストで送信して、クライアントが最新の値を保持していることを続行する前に確認できます。

annotations

map (key: string, value: string)

省略可。ノードプールに関するアノテーション。

このフィールドには、Kubernetes アノテーションと同じ制限があります。結合されたすべてのキーと値の合計サイズは 256k に制限されています。キーには、スラッシュ(/)で区切られる、接頭辞(省略可)と名前(必須)の 2 つのセグメントを含めることができます。接頭辞は DNS サブドメインにする必要があります。名前は 63 文字以下にしてください。先頭と末尾には英数字を使用し、先頭と末尾の間にはダッシュ(-)、アンダースコア(_)、ドット(.)、英数字を使用します。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

maxPodsConstraint

object (MaxPodsConstraint)

必須。ノードプールのノードで同時に実行できる Pod の最大数に対する制約。

errors[]

object (AwsNodePoolError)

出力専用。ノードプールで検出された一連のエラー。

management

object (AwsNodeManagement)

省略可。このノードプールの管理構成。

kubeletConfig

object (NodeKubeletConfig)

省略可。ノードの kubelet 構成。

updateSettings

object (UpdateSettings)

省略可。更新設定は、更新の速度と中断を制御します。

AwsNodeConfig

クラスタ内のノードを記述するパラメータ。

JSON 表現
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
フィールド
instanceType

string

省略可。オンデマンド インスタンスを作成する際の EC2 インスタンス タイプ。

ノードプールの作成時に指定されていない場合は、ノードプールのバージョンに基づいてデフォルトが選択され、このフィールドに割り当てられます。

rootVolume

object (AwsVolumeTemplate)

省略可。ノードプール ノード用にプロビジョニングされたルート ボリュームのテンプレート。ボリュームは、ノードプール サブネットに割り当てられたアベイラビリティ ゾーンでプロビジョニングされます。

指定しない場合、GP2 ボリューム タイプではデフォルトで 32 GiB になります。

taints[]

object (NodeTaint)

省略可。このノードプールのノードに割り当てられる初期設定の taint。

labels

map (key: string, value: string)

省略可。このノードプールのノードに割り当てられる初期設定のラベル。"key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

tags

map (key: string, value: string)

省略可。基になる各 AWS リソースに割り当てる Key-Value メタデータ。英数字、スペース、記号(.+-=_:@/)を含むペアを最大 50 個指定できます。鍵は 127 文字以下の Unicode 文字です。値には 255 文字までの Unicode 文字を使用できます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

iamInstanceProfile

string

必須。プール内のノードに割り当てる AWS IAM インスタンス プロファイルの名前または ARN。

imageType

string

省略可。ノードプール インスタンスで使用する OS イメージタイプ。指定しないか、ubuntu の値を指定できます。

指定しない場合、デフォルトで ubuntu になります。

sshConfig

object (AwsSshConfig)

省略可。SSH 構成。

securityGroupIds[]

string

省略可。このプール内のノードに追加されるセキュリティ グループの ID。マネージャーは、クラスタを機能させるために必要な最小限のルールを持つセキュリティ グループを自動的に作成します。

proxyConfig

object (AwsProxyConfig)

省略可。アウトバウンド HTTP(S) トラフィックのプロキシ構成。

configEncryption

object (AwsConfigEncryption)

必須。ユーザーデータの暗号化を設定します。

instancePlacement

object (AwsInstancePlacement)

省略可。このノードのプレースメント関連情報。指定しない場合、VPC のデフォルトのテナンシーが使用されます。

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

省略可。ノードプールの自動スケーリング グループでの CloudWatch 指標の収集に関連する構成。

指定しない場合、指標の収集は無効になります。

spotConfig

object (SpotConfig)

省略可。EC2 Spot インスタンスのプロビジョニングの構成

指定すると、ノードプールは spotConfig.instance_types のセットから Spot インスタンスをプロビジョニングします。このフィールドは instanceType と相互に排他的です。

AwsAutoscalingGroupMetricsCollection

AWS 自動スケーリング グループでの CloudWatch 指標の収集に関連する構成。

JSON 表現
{
  "granularity": string,
  "metrics": [
    string
  ]
}
フィールド
granularity

string

必須。EC2 自動スケーリングが集計データを AWS CloudWatch に送信する頻度。有効な値は 1Minute のみです。

metrics[]

string

省略可。有効にする指標。有効な指標の一覧については、https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html をご覧ください。粒度を指定して指標を指定しない場合、すべての指標が有効になります。

SpotConfig

SpotConfig には、Spot ノードの構成情報が含まれています。

JSON 表現
{
  "instanceTypes": [
    string
  ]
}
フィールド
instanceTypes[]

string

必須。スポット ノードプールを作成するためのインスタンス タイプのリスト。

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling には、クラスタ オートスケーラーが現在のクラスタ使用状況に合わせてノードプールのサイズを調整するために必要とする情報が含まれています。

JSON 表現
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
フィールド
minNodeCount

integer

必須。ノードプール内のノード数。1 以上 maxNodeCount 以下の値を指定する必要があります。

maxNodeCount

integer

必須。ノードプール内の最大ノード数。minNodeCount 以上 50 以下にする必要があります。

状態

ノードプールのライフサイクル ステータス。

列挙型
STATE_UNSPECIFIED 未設定。
PROVISIONING PROVISIONING 状態は、ノードプールが作成中であることを示します。
RUNNING RUNNING 状態は、ノードプールが作成済みで、完全に使用可能であることを示します。
RECONCILING RECONCILING 状態は、ノードプールが調整中であることを示します。
STOPPING STOPPING 状態は、ノードプールの削除中であることを示します。
ERROR ERROR 状態は、ノードプールが破損して回復不能な状態であることを示します。
DEGRADED DEGRADED 状態は、ノードプールで完全な機能を復元するためにユーザーの操作が必要であることを示します。

AwsNodePoolError

AwsNodePoolError は、AWS ノードプールで見つかったエラーを記述します。

JSON 表現
{
  "message": string
}
フィールド
message

string

エラーに関するわかりやすい説明。

AwsNodeManagement

AwsNodeManagement は、AWS ノードプールで有効になっているノード管理機能のセットを定義します。

JSON 表現
{
  "autoRepair": boolean
}
フィールド
autoRepair

boolean

省略可。ノードが自動的に修復されるかどうか。true に設定すると、このノードプールのノードがモニタリングされます。ヘルスチェックに一定期間にわたって繰り返し失敗すると、自動修復アクションがトリガーされ、新しいノードに置き換えられます。

NodeKubeletConfig

ノードプールの kubelet オプションの構成。

JSON 表現
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
フィールド
insecureKubeletReadonlyPortEnabled

boolean

省略可。安全でない kubelet 読み取り専用ポートを有効にします。

cpuManagerPolicy

string

省略可。ノードの CPU 管理ポリシーを制御します。https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ をご覧ください。

使用できる値は以下のとおりです。* 「none」: デフォルト。既存のスケジューリング動作を表します。* "static": 特定のリソース特性を持つ Pod に、ノードでの CPU アフィニティと排他性の増加を許可します。指定しない場合、デフォルト値は「none」です。

cpuCfsQuota

boolean

省略可。CPU の上限を指定するコンテナに対して CPU CFS 割り当ての適用を有効にします。

このオプションはデフォルトで有効になっており、kubelet は CFS 割り当て(https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt)を使用してコンテナの CPU 上限を適用します。そうしないと、CPU 上限は適用されません。

このオプションを無効にすると、CPU 制限を指定することで、Pod を Guaranteed QoS クラスに維持しながら、CPU スロットリングの問題を軽減できます。

指定しない場合、デフォルト値は「true」です。

cpuCfsQuotaPeriod

string

省略可。CPU CFS 割り当て期間の値「cpu.cfs_period_us」を設定します。

文字列は、10 進数のシーケンスで、小数と単位接尾辞がオプションで含まれます(例: 300ms など)。有効な時間単位は ns、us(または μs)、ms、s、m、h です。期間は正の値である必要があります。

指定しない場合、デフォルト値は「100ms」です。

podPidsLimit

string (int64 format)

省略可。Pod PID の上限を設定します。https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits をご覧ください。

Pod で実行できるプロセスの最大数を制御します。値は 1024 以上 4194304 未満でなければなりません。

UpdateSettings

UpdateSettings は、ノードプールの更新中に発生する並列処理のレベルと中断のレベルを制御します。

これらの設定は、ノードプールの更新で既存のノードプールのノードを更新されたノードに置き換える必要がある場合に適用されます。

UpdateSettings は省略可能です。ノードプールの作成時に UpdateSettings が指定されていない場合、親クラスタのバージョンに基づいてデフォルトが選択されます。マイナー バージョン 1.27 以降のクラスタでは、maxSurge = 1、maxUnavailable = 0 のデフォルトの surgeSettings 構成が使用されます。古いバージョンのクラスタの場合、ノードプールの更新では、「作成前に停止」方式で一度に 1 つのノードを更新する従来のローリング アップデート メカニズムが使用され、updateSettings は適用されません。

surgeSettings パラメータを設定して、ノードプールのノードのローリング アップデートにサージ アップデート メカニズムを使用します。1. maxSurge は、使用可能なノードの数を増やすために、更新時にノードプールの現在のサイズを超えて一時的に作成できる追加ノードの数を制御します。2. maxUnavailable は、更新中に同時に使用不可になるノードの数を制御します。3. (maxSurge + maxUnavailable)は、並列処理のレベル(同時に更新されるノードの数)を決定します。

JSON 表現
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
フィールド
surgeSettings

object (SurgeSettings)

省略可。サージ アップデートの設定。

SurgeSettings

SurgeSettings には、Surge アップデートのパラメータが含まれています。

JSON 表現
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
フィールド
maxSurge

integer

省略可。更新プロセス中に、ノードプールの現在のサイズを超えて作成できるノードの最大数。

maxUnavailable

integer

省略可。更新プロセス中に同時に使用不可にできるノードの最大数。ステータスが Ready ではないノードは、使用不可とみなされます。

メソッド

create
(deprecated)

指定された AwsCluster に関連付けられた新しい AwsNodePool を作成します。

delete
(deprecated)

特定の AwsNodePool リソースを削除します。

get
(deprecated)

特定の AwsNodePool リソースについて説明します。

list
(deprecated)

指定された AwsCluster のすべての AwsNodePool リソースを一覧表示します。

patch
(deprecated)

AwsNodePool を更新します。

rollback
(deprecated)

以前に中止または失敗した AwsNodePool 更新リクエストをロールバックします。