REST Resource: projects.locations.awsClusters.awsNodePools

Ressource: AwsNodePool

Ein Anthos-Knotenpool, der in AWS ausgeführt wird.

JSON-Darstellung
{
  "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)
  }
}
Felder
name

string

Der Name dieser Ressource.

Knotenpoolnamen haben das Format projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>.

Weitere Informationen zu Google Cloud-Ressourcennamen finden Sie unter Ressourcennamen.

version

string

Erforderlich. Die Kubernetes-Version, die in diesem Knotenpool ausgeführt werden soll (z.B. 1.19.10-gke.1000).

Sie können alle unterstützten Versionen für eine bestimmte Google Cloud-Region auflisten, indem Sie locations.getAwsServerConfig aufrufen.

config

object (AwsNodeConfig)

Erforderlich. Die Konfiguration des Knotenpools.

autoscaling

object (AwsNodePoolAutoscaling)

Erforderlich. Autoscaler-Konfiguration für diesen Knotenpool.

subnetId

string

Erforderlich. Das Subnetz, in dem der Knotenpoolknoten ausgeführt wird.

state

enum (State)

Nur Ausgabe. Der Lebenszyklusstatus des Knotenpools.

uid

string

Nur Ausgabe. Eine global eindeutige Kennung für den Knotenpool.

reconciling

boolean

Nur Ausgabe. Wenn festgelegt, werden aktuell Änderungen am Knotenpool durchgeführt.

createTime

string (Timestamp format)

Nur Ausgabe. Die Zeit, zu der dieser Knotenpool erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Nur Ausgabe. Die Zeit, zu der dieser Knotenpool zuletzt aktualisiert wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

etag

string

Ermöglicht Clients durch optimistische Nebenläufigkeitserkennung, konsistente Read-Modify-Write-Vorgänge auszuführen.

Kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren einen aktuellen Wert hat.

annotations

map (key: string, value: string)

Optional. Annotation des Knotenpools.

Für dieses Feld gelten die gleichen Einschränkungen wie für Kubernetes-Annotationen. Die Gesamtgröße aller Schlüssel und Werte ist auf 256 KB begrenzt. Der Schlüssel kann zwei Segmente haben: Präfix (optional) und Name (erforderlich), getrennt durch einen Schrägstrich (/). Das Präfix muss eine DNS-Subdomain sein. Der Name darf maximal 63 Zeichen lang sein und muss mit alphanumerischen Zeichen beginnen und enden. Dazwischen müssen Bindestriche (-), Unterstriche (_), Punkte (.) und alphanumerische Zeichen liegen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

maxPodsConstraint

object (MaxPodsConstraint)

Erforderlich. Die Einschränkung für die maximale Anzahl an Pods, die gleichzeitig auf einem Knoten im Knotenpool ausgeführt werden können.

errors[]

object (AwsNodePoolError)

Nur Ausgabe. Eine Reihe von Fehlern, die im Knotenpool gefunden wurden.

management

object (AwsNodeManagement)

Optional. Die Verwaltungskonfiguration für diesen Knotenpool.

kubeletConfig

object (NodeKubeletConfig)

Optional. Kubelet-Konfigurationen für Knoten.

updateSettings

object (UpdateSettings)

Optional. Mit den Update-Einstellungen können Sie die Geschwindigkeit und die Unterbrechung des Updates steuern.

AwsNodeConfig

Parameter, die die Knoten in einem Cluster beschreiben.

JSON-Darstellung
{
  "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)
  }
}
Felder
instanceType

string

Optional. Der EC2-Instanztyp beim Erstellen von On-Demand-Instanzen.

Wenn beim Erstellen des Knotenpools keine Angabe erfolgt, wird basierend auf der Knotenpoolversion ein Standardwert ausgewählt und diesem Feld zugewiesen.

rootVolume

object (AwsVolumeTemplate)

Optional. Vorlage für das Root-Volume, das für Knotenpoolknoten bereitgestellt wird. Volumes werden in der Verfügbarkeitszone bereitgestellt, die dem Knotenpool-Subnetz zugewiesen ist.

Wenn nichts angegeben ist, wird standardmäßig 32 GiB mit dem GP2-Volume-Typ verwendet.

taints[]

object (NodeTaint)

Optional. Die anfänglichen Markierungen, die den Knoten dieses Knotenpools zugewiesen sind.

labels

map (key: string, value: string)

Optional. Die anfänglichen Labels, die den Knoten dieses Knotenpools zugewiesen sind. Ein Objekt mit einer Liste der Paare "key": value. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tags

map (key: string, value: string)

Optional. Schlüssel/Wert-Metadaten, die jeder zugrunde liegenden AWS-Ressource zugewiesen werden sollen. Geben Sie höchstens 50 Paare mit alphanumerischen Zeichen, Leerzeichen und Symbolen (.+-=_:@/) an. Schlüssel können bis zu 127 Unicode-Zeichen enthalten. Werte können bis zu 255 Unicode-Zeichen enthalten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

iamInstanceProfile

string

Erforderlich. Der Name oder ARN des AWS IAM-Instanzprofils, das Knoten im Pool zugewiesen werden soll.

imageType

string

Optional. Der Betriebssystem-Image-Typ, der für Knotenpoolinstanzen verwendet werden soll. Kann nicht angegeben werden oder den Wert ubuntu haben.

Wenn nichts angegeben ist, wird standardmäßig ubuntu verwendet.

sshConfig

object (AwsSshConfig)

Optional. Die SSH-Konfiguration.

securityGroupIds[]

string

Optional. IDs zusätzlicher Sicherheitsgruppen, die den Knoten in diesem Pool hinzugefügt werden sollen. Der Manager erstellt automatisch Sicherheitsgruppen mit den erforderlichen Regeln für einen funktionierenden Cluster.

proxyConfig

object (AwsProxyConfig)

Optional. Proxykonfiguration für ausgehenden HTTP(S)-Traffic.

configEncryption

object (AwsConfigEncryption)

Erforderlich. Konfigurieren Sie die Verschlüsselung für Nutzerdaten.

instancePlacement

object (AwsInstancePlacement)

Optional. Informationen zum Placement für diesen Knoten. Wenn nichts angegeben ist, wird die Standard-Tenancy der VPC verwendet.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Optional. Konfiguration in Bezug auf die Erfassung von CloudWatch-Messwerten in der Auto Scaling-Gruppe des Knotenpools.

Wenn nichts angegeben ist, ist die Messwerterfassung deaktiviert.

spotConfig

object (SpotConfig)

Optional. Konfiguration für die Bereitstellung von EC2-Spot-Instanzen

Wenn angegeben, werden für den Knotenpool Spot-Instanzen aus der Menge von spotConfig.instance_types bereitgestellt. Dieses Feld und instanceType schließen sich gegenseitig aus.

AwsAutoscalingGroupMetricsCollection

Konfiguration für die Erfassung von CloudWatch-Messwerten in einer AWS Auto Scaling-Gruppe.

JSON-Darstellung
{
  "granularity": string,
  "metrics": [
    string
  ]
}
Felder
granularity

string

Erforderlich. Die Häufigkeit, mit der EC2 Auto Scaling aggregierte Daten an AWS CloudWatch sendet. Der einzige gültige Wert ist „1Minute“.

metrics[]

string

Optional. Die zu aktivierenden Messwerte. Eine Liste der gültigen Messwerte finden Sie unter https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. Wenn Sie „Granularity“ angeben, aber keine Messwerte, werden alle Messwerte aktiviert.

SpotConfig

SpotConfig enthält Konfigurationsinformationen für Spot-Knoten.

JSON-Darstellung
{
  "instanceTypes": [
    string
  ]
}
Felder
instanceTypes[]

string

Erforderlich. Eine Liste der Instanztypen zum Erstellen eines Spot-Knotenpools.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling enthält Informationen, die vom Cluster Autoscaler benötigt werden, um die Größe des Knotenpools an die aktuelle Clusternutzung anzupassen.

JSON-Darstellung
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
Felder
minNodeCount

integer

Erforderlich. Die minimale Anzahl von Knoten im Knotenpool. Muss größer oder gleich 1 und kleiner oder gleich maxNodeCount sein.

maxNodeCount

integer

Erforderlich. Die maximale Anzahl von Knoten im Knotenpool. Muss größer oder gleich minNodeCount und kleiner oder gleich 50 sein.

Bundesland

Der Lebenszyklusstatus des Knotenpools.

Enums
STATE_UNSPECIFIED Nicht festgelegt.
PROVISIONING Der Status PROVISIONING gibt an, dass der Knotenpool erstellt wird.
RUNNING Der Status „RUNNING“ gibt an, dass der Knotenpool erstellt wurde und vollständig nutzbar ist.
RECONCILING Der Status RECONCILING gibt an, dass der Knotenpool abgeglichen wird.
STOPPING Der Status STOPPING gibt an, dass der Knotenpool gelöscht wird.
ERROR Der Status „ERROR“ gibt an, dass sich der Knotenpool in einem nicht behebbaren Fehlerzustand befindet.
DEGRADED Der Status „DEGRADED“ gibt an, dass zum Wiederherstellen der vollen Funktionalität des Knotenpools eine Nutzeraktion erforderlich ist.

AwsNodePoolError

AwsNodePoolError beschreibt Fehler, die in AWS-Knotenpools gefunden wurden.

JSON-Darstellung
{
  "message": string
}
Felder
message

string

Eine nutzerfreundliche Beschreibung des Fehlers.

AwsNodeManagement

AwsNodeManagement definiert die Menge der Funktionen zur Knotenverwaltung, die für einen AWS-Knotenpool aktiviert sind.

JSON-Darstellung
{
  "autoRepair": boolean
}
Felder
autoRepair

boolean

Optional. Gibt an, ob die Knoten automatisch repariert werden. Wenn dieser Wert auf „true“ gesetzt ist, werden die Knoten in diesem Knotenpool überwacht. Wenn sie über einen längeren Zeitraum hinweg wiederholt Systemdiagnosen nicht bestehen, wird eine automatische Reparaturaktion ausgelöst, um sie durch neue Knoten zu ersetzen.

NodeKubeletConfig

Konfiguration für Kubelet-Optionen für Knotenpools.

JSON-Darstellung
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
Felder
insecureKubeletReadonlyPortEnabled

boolean

Optional. Aktivieren Sie den unsicheren schreibgeschützten Port für Kubelet.

cpuManagerPolicy

string

Optional. Die CPU-Verwaltungsrichtlinie auf dem Knoten steuern. Weitere Informationen finden Sie unter https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/.

Folgende Werte sind zulässig. * „none“: Die Standardeinstellung, die das vorhandene Planungsverhalten darstellt. * „static“: Ermöglicht es Pods mit bestimmten Ressourcenmerkmalen, eine erhöhte CPU-Affinität und Exklusivität auf dem Knoten zu erhalten. Der Standardwert ist „none“, wenn nichts angegeben ist.

cpuCfsQuota

boolean

Optional. Aktivieren Sie die Erzwingung des CPU-CFS-Kontingents für Container, für die CPU-Limits angegeben sind.

Diese Option ist standardmäßig aktiviert. Dadurch verwendet kubelet das CFS-Kontingent (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt), um die CPU-Limits für Container zu erzwingen. Andernfalls werden CPU-Beschränkungen überhaupt nicht erzwungen.

Deaktivieren Sie diese Option, um Probleme mit der CPU-Drosselung zu beheben und gleichzeitig dafür zu sorgen, dass Ihre Pods die QoS-Klasse „Guaranteed“ haben, indem Sie die CPU-Grenzwerte angeben.

Der Standardwert ist „true“, wenn nichts angegeben ist.

cpuCfsQuotaPeriod

string

Optional. Legen Sie den Wert des CPU-CFS-Kontingentbereichs „cpu.cfs_period_us“ fest.

Der String muss eine Sequenz von Dezimalzahlen mit jeweils optionalem Bruchteil und Einheitssuffix sein, z. B. „300 ms“. Gültige Zeiteinheiten sind „ns“, „us“ (oder „µs“), „ms“, „s“, „m“ und „h“. Der Wert muss eine positive Dauer sein.

Der Standardwert ist „100 ms“, wenn nichts angegeben ist.

podPidsLimit

string (int64 format)

Optional. Legen Sie die Pod-PID-Limits fest. Weitere Informationen finden Sie unter https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits.

Steuert die maximale Anzahl von Prozessen, die in einem Pod ausgeführt werden dürfen. Der Wert muss größer oder gleich 1024 und kleiner als 4194304 sein.

UpdateSettings

Mit UpdateSettings wird der Grad der Parallelität und der Grad der Unterbrechung gesteuert, die während der Aktualisierung eines Knotenpools auftreten.

Diese Einstellungen gelten, wenn beim Aktualisieren des Knotenpools die vorhandenen Knotenpoolknoten durch die aktualisierten Knoten ersetzt werden müssen.

„UpdateSettings“ sind optional. Wenn beim Erstellen des Knotenpools keine UpdateSettings angegeben werden, wird basierend auf der Version des übergeordneten Clusters ein Standardwert ausgewählt. Für Cluster mit der Nebenversion 1.27 und höher wird eine Standardkonfiguration für „surgeSettings“ mit „maxSurge“ = 1 und „maxUnavailable“ = 0 verwendet. Bei Clustern mit älteren Versionen wird bei Knotenpool-Updates der herkömmliche Rolling-Update-Mechanismus verwendet, bei dem jeweils ein Knoten nach dem Prinzip „Beenden vor Erstellen“ aktualisiert wird. „updateSettings“ ist hier nicht anwendbar.

Legen Sie den Parameter „surgeSettings“ fest, um den Surge-Updatemechanismus für das rollierende Update von Knotenpoolknoten zu verwenden. 1. Mit „maxSurge“ wird die Anzahl zusätzlicher Knoten gesteuert, die während des Upgrades vorübergehend über die aktuelle Größe des Knotenpools hinaus erstellt werden können, um die Anzahl der verfügbaren Knoten zu erhöhen. 2. Mit „maxUnavailable“ wird die Anzahl der Knoten gesteuert, die während des Updates gleichzeitig nicht verfügbar sein können. 3. (maxSurge + maxUnavailable) bestimmt den Grad der Parallelität (d.h. die Anzahl der Knoten, die gleichzeitig aktualisiert werden).

JSON-Darstellung
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
Felder
surgeSettings

object (SurgeSettings)

Optional. Einstellungen für das häufige Aktualisieren.

SurgeSettings

SurgeSettings enthält die Parameter für das Surge-Update.

JSON-Darstellung
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
Felder
maxSurge

integer

Optional. Die maximale Anzahl von Knoten, die während des Updatevorgangs über die aktuelle Größe des Knotenpools hinaus erstellt werden können.

maxUnavailable

integer

Optional. Die maximale Anzahl von Knoten, die während des Updatevorgangs gleichzeitig nicht verfügbar sein können. Ein Knoten gilt als nicht verfügbar, wenn sein Status nicht „Bereit“ ist.

Methoden

create
(deprecated)

Erstellt einen neuen AwsNodePool, der an einen bestimmten AwsCluster angehängt ist.

delete
(deprecated)

Löscht eine bestimmte AwsNodePool-Ressource.

get
(deprecated)

Beschreibt eine bestimmte AwsNodePool-Ressource.

list
(deprecated)

Listet alle AwsNodePool-Ressourcen für eine bestimmte AwsCluster auf.

patch
(deprecated)

Aktualisiert ein AwsNodePool.

rollback
(deprecated)

Führt ein Rollback einer zuvor abgebrochenen oder fehlgeschlagenen AwsNodePool-Aktualisierungsanfrage aus.