REST Resource: projects.locations.awsClusters.awsNodePools

Ressource: AwsNodePool

Ein Anthos-Knotenpool, der auf 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 durch Aufrufen von locations.getAwsServerConfig.

config

object (AwsNodeConfig)

Erforderlich. Die Konfiguration des Knotenpools.

autoscaling

object (AwsNodePoolAutoscaling)

Erforderlich. Autoscaling-Konfiguration für diesen Knotenpool.

subnetId

string

Erforderlich. Das Subnetz, in dem der Knotenpool 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.

Es wird RFC 3339 verwendet, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Glieder mit Dezimalstellen enthält. Andere Achsenbezeichnungen als „Z“ sind ebenfalls zulässig. 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.

Es wird RFC 3339 verwendet, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Glieder mit Dezimalstellen enthält. Andere Achsenbezeichnungen als „Z“ sind ebenfalls zulässig. 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 zusammen 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 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 Sie beim Erstellen des Knotenpools keine Angabe machen, wird anhand 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 Subnetz des Knotenpools zugewiesen ist.

Wenn nicht angegeben, wird standardmäßig 32 GiB mit dem Volumetyp „GP2“ verwendet.

taints[]

object (NodeTaint)

Optional. Die anfänglichen Beschädigungen, die den Knoten dieses Knotenpools zugewiesen wurden.

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 den Knoten im Pool zugewiesen werden soll.

imageType

string

Optional. Der Typ des Betriebssystem-Images, der für Knotenpool-Instanzen verwendet werden soll. Kann nicht angegeben werden oder den Wert ubuntu haben.

Wenn nicht angegeben, lautet die Standardeinstellung ubuntu.

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. Verschlüsselung für Nutzerdaten konfigurieren

instancePlacement

object (AwsInstancePlacement)

Optional. Informationen zur Platzierung für diesen Knoten. Wenn keine Angabe erfolgt, wird die Standardberechtigung der VPC verwendet.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Optional. Konfiguration im Zusammenhang mit der Erfassung von CloudWatch-Messwerten in der Autoscaling-Gruppe des Knotenpools.

Wenn Sie nichts angeben, ist die Messwerterfassung deaktiviert.

spotConfig

object (SpotConfig)

Optional. Konfiguration für die Bereitstellung von EC2-Stichpreisinstanzen

Wenn Sie diese Option angeben, werden im Knotenpool Spot-Instanzen aus der Gruppe „spotConfig.instance_types“ bereitgestellt. Dieses Feld und instanceType schließen sich gegenseitig aus.

AwsAutoscalingGroupMetricsCollection

Konfiguration im Zusammenhang mit der CloudWatch-Messwerterfassung 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 „Detaillierungsgrad“ angeben, aber keine Messwerte, werden alle Messwerte aktiviert.

SpotConfig

SpotConfig enthält Konfigurationsinformationen für den 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 definiert.
PROVISIONING Der Status „BEREITSTELLUNG“ 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 „ABGLEICHEND“ gibt an, dass der Knotenpool gerade abgeglichen wird.
STOPPING Der Status „STOPPING“ (Anhalten) gibt an, dass der Knotenpool gelöscht wird.
ERROR Der Status „FEHLER“ gibt an, dass sich der Knotenpool in einem fehlerhaften, nicht wiederherstellbaren Zustand befindet.
DEGRADED Der Status „BESCHÄDIGT“ gibt an, dass für den Knotenpool eine Nutzeraktion erforderlich ist, um die volle Funktionalität wiederherzustellen.

AwsNodePoolError

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

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

string

Eine nutzerfreundliche Beschreibung des Fehlers.

AwsNodeManagement

Mit AwsNodeManagement wird festgelegt, welche Knotenverwaltungsfunktionen für einen AWS-Knotenpool aktiviert sind.

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

boolean

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

NodeKubeletConfig

Konfiguration der 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. 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“ (kein): der Standardwert, der dem vorhandenen Planungsverhalten entspricht. * „static“: Damit können Pods mit bestimmten Ressourcenmerkmalen eine erhöhte CPU-Affinität und Exklusivität auf dem Knoten gewährt werden. Der Standardwert ist „none“, wenn nichts angegeben ist.

cpuCfsQuota

boolean

Optional. Aktivieren Sie die CPU-CFS-Kontingenterzwingung für Container, für die CPU-Limits festgelegt sind.

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

Deaktivieren Sie diese Option, um Probleme mit der CPU-Drosselung zu vermeiden, und geben Sie die CPU-Limits an, damit Ihre Pods weiterhin in der QoS-Klasse mit garantierter Bandbreite verbleiben.

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

cpuCfsQuotaPeriod

string

Optional. Legen Sie den Wert für den CPU-CFS-Kontingentzeitraum „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“ (bzw. „µs“), „ms“, „s“, „m“ und „h“. Der Wert muss eine positive Dauer sein.

Der Standardwert ist „100 ms“, wenn nicht anders angegeben.

podPidsLimit

string (int64 format)

Optional. Legen Sie die PID-Limits für Pods 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 die Unterbrechungsrate beim Aktualisieren eines Knotenpools gesteuert.

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

UpdateSettings ist optional. Wenn bei der Erstellung des Knotenpools keine UpdateSettings angegeben werden, wird ein Standardwert basierend auf der Version des übergeordneten Clusters ausgewählt. Für Cluster mit der Minorversion 1.27 und höher wird die Standardkonfiguration „surgeSettings“ mit „maxSurge“ = 1 und „maxUnavailable“ = 0 verwendet. Bei Clustern mit älteren Versionen wird für Knotenpool-Aktualisierungen der traditionelle Mechanismus für das rollierende Upgrade verwendet, bei dem jeweils ein Knoten nach dem anderen gemäß dem Prinzip „vor dem Erstellen beenden“ aktualisiert wird. updateSettings ist in diesem Fall nicht anwendbar.

Legen Sie den Parameter „surgeSettings“ so fest, dass der Mechanismus für das häufige Aktualisieren für das rollierende Upgrade der Knoten des Knotenpools verwendet wird. 1. Mit „maxSurge“ wird die Anzahl der zusätzlichen Knoten gesteuert, die vorübergehend über die aktuelle Größe des Knotenpools hinaus erstellt werden können, um die Anzahl der verfügbaren Knoten während der Aktualisierung 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 Parallelisierungsgrad, 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 von Knoten

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 Aktualisierungsvorgangs über die aktuelle Größe des Knotenpools hinaus erstellt werden können.

maxUnavailable

integer

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

Methoden

create
(deprecated)

Erstellt eine neue AwsNodePool, die an eine bestimmte 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 auf einer bestimmten AwsCluster auf.

patch
(deprecated)

Aktualisiert eine AwsNodePool.

rollback
(deprecated)

Führt ein Rollback für eine zuvor abgebrochene oder fehlgeschlagene AwsNodePool-Aktualisierungsanfrage aus.