Auf dieser Seite werden die Felder beschrieben, die in der Konfigurationsdatei des Anthos-Cluster on Bare-Metal-Clusters unterstützt werden. Die folgende Tabelle gibt für jedes Feld an, ob das Feld erforderlich ist. Die Tabelle zeigt auch, welche Felder änderbar sind, also welche Felder nach dem Erstellen eines Clusters geändert werden können. Wie in der Tabelle angegeben, können einige änderbare Felder nur während eines Clusterupgrades geändert werden.
Vorlage für Ihre Clusterkonfigurationsdatei erstellen
Mit dem Befehl bmctl create config können Sie eine Clusterkonfigurationsdatei erstellen. Obwohl einige Felder Standardwerte haben und andere wie metadata.name automatisch ausgefüllt werden können, ist diese Konfigurationsdatei im YAML-Format eine Vorlage zur Angabe von Informationen zu Ihrem Cluster.
Verwenden Sie den folgenden Befehl im Ordner /baremetal, um eine neue Clusterkonfigurationsdatei zu erstellen:
bmctlcreateconfig-cCLUSTER_NAME
Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters, den Sie erstellen möchten. Weitere Informationen zu bmctl finden Sie unter bmctl-Tool.
Ein Beispiel für die generierte Clusterkonfigurationsdatei finden Sie unter Beispiel für die Clusterkonfigurationsdatei.
Konfigurationsdatei ausfüllen
Geben Sie in Ihrer Konfigurationsdatei Feldwerte ein, wie in der folgenden Feldreferenztabelle beschrieben, bevor Sie den Cluster erstellen oder aktualisieren.
Clusterkonfigurationsfelder
Feldname
Ressourcentyp
Erforderlich/Optional?
Veränderlich?
anthosBareMetalVersion
Erforderlich. String. Die Clusterversion. Dieser Wert wird für die Clustererstellung und Clusterupgrades festgelegt.
Veränderbarkeit: Dieser Wert kann für vorhandene Cluster nicht geändert werden.
Die Version kann nur über den Clusterupgrade-Prozess aktualisiert werden.
Clusterressource
Erforderlich
Veränderlich
authentication
Dieser Abschnitt enthält Einstellungen, die für die Verwendung von OpenID Connect (OIDC) erforderlich sind.
Mit OIDC können Sie Ihren vorhandenen Identitätsanbieter zur Verwaltung der Nutzer- und Gruppenauthentifizierung in Anthos-Clustern auf Bare Metal-Clustern verwenden.
Clusterressource
–
–
authentication.oidc.certificateAuthorityData
Optional. Ein base64-codiertes PEM-codiertes Zertifikat für den OIDC-Anbieter. Codieren Sie das Zertifikat samt Header in base64, um den String zu erstellen. Fügen Sie den resultierenden String in certificateAuthorityData als eine einzelne Zeile ein.
Optional. String. Die ID für die Clientanwendung, die Authentifizierungsanfragen an den OpenID-Anbieter sendet.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.clientSecret
Optional. String. Gemeinsames Secret von OIDC-Clientanwendung und OIDC-Anbieter.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.deployCloudConsoleProxy
Optional. Boolescher Wert (true|false). Gibt an, ob ein Reverse-Proxy im Cluster bereitgestellt wird, um die Google Cloud Console mit einem lokalen Identitätsanbieter zu verbinden, der nicht über das Internet öffentlich zugänglich ist. Wenn Ihr Identitätsanbieter nicht über das öffentliche Internet erreichbar ist, legen Sie dieses Feld auf true zur Authentifizierung bei der Google Cloud Console fest. Standardmäßig wird dieser Wert auf false festgelegt.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.extraParams
Optional. Durch Kommas getrennte Liste. Zusätzliche Schlüssel/Wert-Parameter, die an den OpenID-Anbieter gesendet werden.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.groupPrefix
Optional. String. Das Präfix, das Gruppenanforderungen vorangestellt wird, um Konflikte mit vorhandenen Namen zu vermeiden. Ein Beispiel ist oidc:dev für die Gruppe dev und das Präfix oidc:.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.group
Optional. String.
Die JWT-Anforderung, mit der der Anbieter Ihre Sicherheitsgruppen zurückgibt.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.issuerURL
Optional. URL-String. Die URL, über die Autorisierungsanfragen an Ihren OpenID-Anbieter gesendet werden, z. B. https://example.com/adfs. Der Kubernetes API-Server nutzt diese URL, um öffentliche Schlüssel zum Verifizieren von Tokens zu ermitteln. Die URL muss HTTPS verwenden.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.kubectlRedirectURL
Optional. URL-String. Die Weiterleitungs-URL, die kubectl für die Autorisierung verwendet. Wenn Sie OIDC aktivieren, müssen Sie einen kubectlRedirectURL-Wert angeben.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.proxy
Optional. URL-String. Proxyserver, über den der Cluster gegebenenfalls die Verbindung mit Ihrem OIDC-Anbieter herstellen kann. Der Wert sollte einen Hostnamen/eine IP-Adresse und optional einen Port, einen Nutzernamen und ein Passwort enthalten. Beispiel: http://user:password@10.10.10.10:8888.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.scopes
Optional. Durch Kommas getrennte Liste. Zusätzliche Bereiche, die an den OpenID-Anbieter gesendet werden. Microsoft Azure und Okta benötigen den Bereich offline_access.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.usernamePrefix
Optional. String. Das Präfix, das Anforderungen an Nutzernamen vorangestellt wird.
Clusterressource
Optional
Nicht veränderbar.
authentication.oidc.username
Optional. String.
Die JWT-Anforderung, die als Nutzername verwendet wird. Enthält standardmäßig den Wert sub, wenn nichts anderes angegeben ist.
Clusterressource
Optional
Nicht veränderbar.
bypassPreflightCheck
Optional. Boolescher Wert (true|false). Wenn dieser Wert auf true gesetzt ist, werden die internen Preflight-Prüfungen ignoriert, wenn Ressourcen auf vorhandene Cluster angewendet werden. Die Standardeinstellung ist false.
Veränderbarkeit: Dieser Wert kann für vorhandene Cluster mit dem Befehl bmctl update geändert werden.
Clusterressource
Optional
Veränderlich
clusterNetwork
Dieser Abschnitt enthält Netzwerkeinstellungen für den Cluster.
Clusterressource
–
–
clusterNetwork.advancedNetworking
Boolescher Wert. Setzen Sie dieses Feld auf true, um erweiterte Netzwerkfeatures wie gebündeltes Load-Balancing mit BGP oder das NAT-Gateway für ausgehenden Traffic zu aktivieren. Beide Funktionen verwenden das Anthos Network Gateway. Anthos Network Gateway ist die wichtige Komponente zum Aktivieren erweiterter Netzwerkfeatures in Anthos und Google Kubernetes Engine (GKE). Einer der Hauptvorteile von Anthos Network Gateway ist, dass es Floating-IP-Adressen dynamisch von einer Reihe von Adressen zuweisen kann, die Sie in einer benutzerdefinierten Ressource "NetworkGatewayGroup" angeben.
Boolescher Wert. Legen Sie dieses Feld auf false fest, um die Ingress-Funktionen zu deaktivieren, die mit Anthos-Clustern auf Bare Metal gebündelt sind. Die gebündelten Ingress-Funktionen für Ihren Cluster unterstützen nur eingehenden Traffic. Wenn Sie Istio oder Anthos Service Mesh einbinden, um die zusätzlichen Vorteile eines voll funktionsfähigen Service Mesh zu nutzen, sollten Sie das gebündelte Ingress deaktivieren. Dieses Feld ist standardmäßig auf true gesetzt. Dieses Feld ist in der generierten Clusterkonfigurationsdatei nicht vorhanden. Sie können gebündeltes Ingress nur für Cluster der Version 1.13.0 und höher deaktivieren.
Boolescher Wert. Setzen Sie dieses Feld auf true, um das Cluster-Netzwerkmodell im Flatmodus zu aktivieren. Im flachen Modus hat jeder Pod eine eigene, eindeutige IP-Adresse. Pods können direkt miteinander kommunizieren, ohne dass ein Zwischengateway oder eine Network Address Translation (NAT) erforderlich ist.
flatIPv4 ist standardmäßig false. Sie können den flachen Modus nur während der Clustererstellung aktivieren. Nachdem Sie den flachen Modus für Ihren Cluster aktiviert haben, können Sie ihn nicht mehr deaktivieren. Während der Clustererstellung werden die in der Clusterkonfiguration angegebenen Pod-CIDRs in eine benutzerdefinierte Standardressource "ClusterCIDRConfig" umgewandelt und als clusterweite Pod-CIDR verwendet.
Clusterressource
Optional
Nicht veränderbar.
clusterNetwork.multipleNetworkInterfaces
Optional. Boolescher Wert. Legen Sie dieses Feld auf true fest, um mehrere Netzwerkschnittstellen für Ihre Pods zu aktivieren.
Erforderlich. Bereich der IPv4-Adressen im CIDR-Blockformat. Pods geben die IP-Bereiche an, aus denen Pod-Netzwerke zugewiesen sind.
Beispiel:
pods:cidrBlocks:-192.168.0.0/16
Clusterressource
Erforderlich
Nicht veränderbar.
clusterNetwork.sriovOperator
Optional. Boolescher Wert. Legen Sie für dieses Feld true fest, um das SR-IOV-Netzwerk für Ihren Cluster zu aktivieren.
Weitere Informationen zum Konfigurieren und Verwenden von SR-IOV-Netzwerken finden Sie in der Dokumentation SR-IOV-Netzwerk einrichten.
Clusterressource
Optional
Veränderlich
clusterNetwork.services.cidrBlocks
Erforderlich. Bereich der IPv4-Adressen im CIDR-Blockformat. Geben Sie den Bereich der IP-Adressen an, von denen die virtuelle Dienst-IP-Adressen (VIP-Adressen) zugewiesen werden. Die Bereiche dürfen sich nicht mit Subnetzen überschneiden, die von Ihrem Netzwerk erreichbar sind. Weitere Informationen zur Adresszuweisung für privates Internet finden Sie unter RFC 1918.
Beispiel:
services:cidrBlocks:-10.96.0.0/12
Clusterressource
Erforderlich
Nicht veränderbar.
clusterOperations
Dieser Abschnitt enthält Informationen zu Cloud Logging und Cloud Monitoring.
Clusterressource
–
–
clusterOperations.enableApplication
Boolescher Wert. Legen Sie true fest, um zusätzlich zur Standardsammlung von Systemlogs/Messwerten, die den Systemkomponenten wie der Kubernetes-Steuerungsebene oder den Clusterverwaltungs-Agents entsprechen, Anwendungslogs/Messwerte zu erfassen. Sie können diesen Wert jedoch jederzeit ändern.
Clusterressource
Optional
Veränderlich
clusterOperations.disableCloudAuditLogging
Boolescher Wert. Cloud-Audit-Logs sind nützlich, um verdächtige API-Anfragen zu untersuchen und Statistiken zu erfassen. Cloud-Audit-Logs sind standardmäßig aktiviert (disableCloudAuditLogging: false). Legen Sie true fest, um Cloud-Audit-Logs zu deaktivieren.
String. Eine Google Cloud-Region, in der Sie Logging-Logs und Monitoring-Messwerte speichern möchten.
Es empfiehlt sich, eine Region auszuwählen, die sich in der Nähe Ihres lokalen Rechenzentrums befindet. Weitere Informationen finden Sie unter Weltweite Standorte.
Beispiel:
location:us-central1
Clusterressource
Erforderlich
Nicht veränderbar.
clusterOperations.projectID
String. Die Projekt-ID des Google Cloud-Projekts, in dem Sie Logs und Messwerte aufrufen möchten.
Clusterressource
Erforderlich
Nicht veränderbar.
controlPlane
Dieser Abschnitt enthält Informationen zur Steuerungsebene und ihren Komponenten.
Clusterressource
–
–
controlPlane.nodePoolSpec
In diesem Abschnitt werden die IP-Adressen für den Knotenpool angegeben, der von der Steuerungsebene und deren Komponenten verwendet wird. Die Knotenpoolspezifikation des Steuerebenen (wie die Spezifikation des Load-Balancer-Knotenpools) ist besonders. In dieser Spezifikation werden kritische Clusterressourcen deklariert und gesteuert. Die kanonische Quelle für diese Ressource ist dieser Abschnitt in der Cluster-Konfigurationsdatei. Ändern Sie nicht die Knotenpoolressourcen der obersten Steuerungsebene. Ändern Sie stattdessen die zugehörigen Abschnitte in der Cluster-Konfigurationsdatei.
Clusterressource
–
–
controlPlane.nodePoolSpec.nodes
Erforderlich. Ein Array von IP-Adressen. In der Regel ist dieses Array entweder eine IP-Adresse für eine einzelne Maschine oder IP-Adressen für drei Maschinen für eine Hochverfügbarkeitsbereitstellung.
Dieses Feld kann beim Aktualisieren oder Upgraden eines Clusters geändert werden.
Clusterressource
Erforderlich
Veränderlich
gkeConnect
Dieser Abschnitt enthält Informationen zu dem Google Cloud-Projekt, über das Sie den Cluster mit Google Cloud verbinden möchten.
Clusterressource
–
—
gkeConnect.projectID
Erforderlich: String. Die ID des Google Cloud-Projekts, das Sie zum Verbinden des Clusters mit Google Cloud verwenden möchten. Dies wird auch als Flotten-Hostprojekt bezeichnet.
Dieser Wert kann nicht für vorhandene Cluster geändert werden.
Clusterressource
Erforderlich
Nicht veränderbar.
kubevirt.useEmulation
Boolescher Wert. Bestimmt, ob die Softwareemulation zum Ausführen virtueller Maschinen verwendet wird. Setzen Sie useEmulation auf false, um eine bessere Leistung zu erzielen, wenn der Knoten die Hardwarevirtualisierung unterstützt. Legen Sie true fest, wenn die Hardwarevirtualisierung nicht unterstützt wird oder Sie sich nicht sicher sind.
Clusterressource
Optional
Veränderlich
loadBalancer
Dieser Abschnitt enthält Einstellungen für das Cluster-Load-Balancing.
Clusterressource
–
—
loadBalancer.addressPools
Objekt. Der Name und ein Array von IP-Adressen für den Cluster des Load-Balancers. Die Konfiguration des Adresspools ist nur für den Load-Balancer-Modus bundled in Clustern ohne Administrator gültig. Sie können jederzeit neue Adresspools hinzufügen, aber keine vorhandenen Adresspools ändern oder entfernen.
Clusterressource
Optional
Nicht veränderbar.
loadBalancer.addressPools.addresses
Array von IP-Adressbereichen. Geben Sie eine Liste der nicht überlappenden IP-Bereiche für den Load-Balancer der Datenebene an. Alle Adressen müssen sich im selben Subnetz wie die Load-Balancer-Knoten befinden.
String. Der Name, den Sie für den Load-Balancer-Pool Ihres Clusters auswählen
Clusterressource
Erforderlich
Nicht veränderbar.
loadBalancer.addressPools.avoidBuggyIPs
Optional. Boolescher Wert (true | false). Wenn true, werden die IP-Adressen weggelassen, die auf .0 und .255 enden.
Bestimmte Netzwerkhardware führt zu einem Rückgang des Traffics zu diesen speziellen Adressen. Sie können dieses Feld weglassen. Der Standardwert ist false.
Clusterressource
Optional
Nicht veränderbar.
loadBalancer.addressPools.manualAssign
Optional. Boolescher Wert (true | false). Bei true werden Adressen in diesem Pool nicht automatisch Kubernetes-Diensten zugewiesen. Bei true wird eine IP-Adresse in diesem Pool nur verwendet, wenn sie explizit von einem Dienst angegeben wird. Sie können dieses Feld weglassen. Der Standardwert ist false.
Clusterressource
Optional
Veränderlich
loadBalancer.mode
Erforderlich. String. Gibt den Load-Balancing-Modus an. Im bundled-Modus installiert Anthos-Cluster auf Bare-Metal während der Clustererstellung einen Load-Balancer auf Load-Balancer-Knoten. Im manual-Modus benötigt der Cluster einen manuell konfigurierten externen Load-Balancer. Weitere Informationen finden Sie unter Load-Balancer – Übersicht.
Zulässige Werte: bundled | manual
Clusterressource
Erforderlich
Nicht veränderbar.
loadBalancer.type
Optional. String. Gibt den Typ des verwendeten gebündelten Load-Balancings, Layer-2 oder Border Gateway Protocol (BGP) an. Setzen Sie type auf layer2, wenn Sie das Standard-Paket-Load-Balancing verwenden. Setzen Sie type auf bgp, wenn Sie das gebündelte Load-Balancing mit BGP verwenden. Wenn Sie type nicht festlegen, wird standardmäßig layer2 verwendet.
Zulässige Werte: layer2 | bgp
Clusterressource
Optional
Nicht veränderbar.
loadBalancer.nodePoolSpec
Optional. In diesem Abschnitt konfigurieren Sie einen Load-Balancer-Knotenpool. Die von Ihnen angegebenen Knoten sind Teil des Kubernetes-Clusters und führen reguläre Arbeitslasten und Load-Balancer aus. Wenn Sie keinen Knotenpool angeben, werden die Knoten der Steuerungsebene für das Load-Balancing verwendet. Dieser Abschnitt gilt nur, wenn der Load-Balancing-Modus auf bundled gesetzt ist.
Clusterressource
–
—
loadBalancer.nodePoolSpec.nodes
Dieser Abschnitt enthält ein Array von IP-Adressen für die Knoten im Load-Balancer-Knotenpool.
Clusterressource
Optional
Veränderlich
loadBalancer.nodePoolSpec.nodes.address
Optional. String (IPv4-Adresse). IP-Adresse eines Knotens.
Clusterressource
Optional
Veränderlich
loadBalancer.ports.controlPlaneLBPort
Zahl. Der Zielport, der für den Traffic verwendet wird, der an die Kubernetes-Steuerungsebene (die Kubernetes API-Server) gesendet wird.
Clusterressource
Erforderlich
Nicht veränderbar.
loadBalancer.vips.controlPlaneVIP
Erforderlich. Gibt die virtuelle IP-Adresse (VIP) an, die eine Verbindung zum Kubernetes API-Server herstellen soll. Diese Adresse darf nicht in den Bereich der IP-Adressen loadBalancer.addressPools.addresses fallen, die für Load-Balancer-Adresspools verwendet werden.
Clusterressource
Erforderlich
Nicht veränderbar.
loadBalancer.vips.ingressVIP
Optional. String (IPv4-Adresse). Die IP-Adresse, die Sie für den Load-Balancer für eingehenden Traffic konfigurieren möchten.
Clusterressource
Optional
Nicht veränderbar.
loadBalancer.localASN
Optional. String. Gibt die Nummer des autonomen Systems (Autonomous System Number, ASN) für den zu erstellenden Cluster an. Dieses Feld wird beim Einrichten der gebündelten Load-Balancing-Lösung verwendet, die BGP (Border Gateway Protocol) verwendet.
Weitere Informationen finden Sie unter Gebündelte Load-Balancer mit BGP konfigurieren.
Clusterressource
Optional
Veränderlich
loadBalancer.bgpPeers
Optional. Objekt (Liste der Zuordnungen). In diesem Abschnitt werden ein oder mehrere BGP-Peers (Border Gateway Protocol) von Ihrem lokalen Netzwerk (außerhalb des Clusters) angegeben. Sie geben BGP-Peers an, wenn Sie den Load-Balancing-Teil der Steuerungsebene der gebündelten Load-Balancing-Lösung einrichten, die BGP verwendet. Jeder Peer wird mit einer Zuordnung angegeben, die aus einer IP-Adresse, einer autonomen Systemnummer (ASN) und optional einer Liste mit einer oder mehreren IP-Adressen für Knoten der Steuerungsebene besteht. Die BGP-Peering-Konfiguration für das Load-Balancing der Steuerungsebene kann nach dem Erstellen des Clusters nicht aktualisiert werden.
Optional. String (IPv4-Adresse) Die IP-Adresse eines externen Peering-Geräts aus Ihrem lokalen Netzwerk
Weitere Informationen finden Sie unter Gebündelte Load-Balancer mit BGP konfigurieren.
Clusterressource
Optional
Veränderlich
loadBalancer.bgpPeers.asn
Optional. String. Die autonome Systemnummer für das Netzwerk, das das externe Peer-Gerät enthält Geben Sie eine ASN für jeden BGP-Peer an, den Sie für das Load-Balancing der Steuerungsebene eingerichtet haben, wenn Sie die gebündelte Load-Balancing-Lösung einrichten, die BGP verwendet.
Weitere Informationen finden Sie unter Gebündelte Load-Balancer mit BGP konfigurieren.
Clusterressource
Optional
Veränderlich
loadBalancer.bgpPeers.controlPlaneNodes
Optional. Array von IP-Adressen (IPv4) Eine oder mehrere IP-Adressen für Knoten der Steuerungsebene, die eine Verbindung zum externen BGP-Peer herstellen, wenn Sie die gebündelte Load-Balancing-Lösung einrichten, die BGP verwendet. Wenn Sie keine Steuerungsebenenknoten angeben, werden alle Steuerungsebenenknoten mit dem externen Peer verbunden. Wenn Sie eine oder mehrere IP-Adressen angeben, nehmen nur die angegebenen Knoten an Peering-Sitzungen teil.
Weitere Informationen finden Sie unter Gebündelte Load-Balancer mit BGP konfigurieren.
Clusterressource
Optional
Veränderlich
maintenanceBlocks.cidrBlocks
Optional. Einzelne IPv4-Adresse oder ein Bereich von IPv4-Adressen. Geben Sie die IP-Adressen der Knotenmaschinen an, die in den Wartungsmodus versetzt werden sollen. Weitere Informationen finden Sie unter Knoten in den Wartungsmodus versetzen.
Beispiel:
maintenanceBlocks:cidrBlocks:-192.168.1.200# Single machine-192.168.1.100-192.168.1.109# Ten machines
Clusterressource
Optional
Veränderlich
nodeAccess.loginUser
Optional. String. Geben Sie den Nicht-Root-Nutzernamen an, den Sie für den Zugriff auf die Knotencomputer in Ihrem Cluster ohne Passwort verwenden möchten. Der SSH-Schlüssel sshPrivateKeyPath muss für den angegebenen Nutzer funktionieren. Mit den Vorgängen zum Erstellen und Aktualisieren von Clustern wird geprüft, ob auf Knotencomputer mit dem angegebenen Nutzer und SSH-Schlüssel zugegriffen werden kann.
Clusterressource
Optional
Veränderlich
osEnvironmentConfig.addPackageRepo
Optional. Boolesch (true|false). Gibt an, ob Paket-Repository beim Initialisieren von Bare-Metal-Maschinen hinzugefügt wird.
Clusterressource
Optional
Nicht veränderbar.
nodeConfig.containerRuntime (verworfen)
Veraltet. Ab Version 1.13.0 unterstützen Anthos-Cluster auf Bare Metal containerd nur als Containerlaufzeit. Das Feld containerRuntime wurde verworfen und wurde aus der generierten Clusterkonfigurationsdatei entfernt. Für Anthos-Cluster auf Bare-Metal-Versionen 1.13.0 und höher, wenn Ihre Clusterkonfigurationsdatei dieses Feld enthält, muss der Wert containerd sein.
Clusterressource
Optional
Änderungen möglich (nur Upgrade)
nodeConfig.podDensity
In diesem Abschnitt wird die Konfiguration der Pod-Dichte angegeben.
Clusterressource
–
–
nodeConfig.podDensity.maxPodsPerNode
Optional. Integer. Gibt die maximale Anzahl von Pods an, die auf einem einzelnen Knoten ausgeführt werden können. Für selbstverwaltete Cluster sind die zulässigen Werte für maxPodsPerNode32–250 für Hochverfügbarkeitscluster (HA) und 64–250. für Nicht-HA-Cluster. Für Nutzercluster sind zulässige Werte für maxPodsPerNode32–250. Der Standardwert, wenn nicht angegeben, ist 110. Nachdem der Cluster erstellt wurde, kann dieser Wert nicht mehr aktualisiert werden.
Kubernetes weist jedem Knoten einen CIDR-Block (Classless Inter-Domain Routing) zu, sodass jeder Pod eine eindeutige IP-Adresse haben kann. Die Größe des CIDR-Blocks entspricht der maximalen Anzahl von Pods pro Knoten.
Weitere Informationen zum Festlegen der maximalen Anzahl von Pods pro Knoten finden Sie unter Pod-Netzwerke.
Clusterressource
Optional
Nicht veränderbar.
profile
Optional. String. Wenn profile für einen eigenständigen Cluster auf edge gesetzt ist, wird der Ressourcenverbrauch des Clusters minimiert. Das Edge-Profil ist nur für eigenständige Cluster verfügbar.
Das Edge-Profil hat weniger Systemressourcenanforderungen und wird für Edge-Geräte mit restriktiven Ressourceneinschränkungen empfohlen.
Informationen zu Hardwareanforderungen, die mit dem Edge-Profil verknüpft sind, finden Sie unter Ressourcenanforderungen für eigenständige Cluster mit dem Edge-Profil.
Clusterressource
Optional
Nicht veränderbar.
proxy
Wenn sich Ihr Netzwerk hinter einem Proxyserver befindet, füllen Sie diesen Abschnitt aus.
Andernfalls entfernen Sie diesen Abschnitt.
Clusterressource
–
—
proxy.noProxy
String. Eine durch Kommas getrennte Liste mit IP-Adressen, IP-Adressbereichen, Hostnamen und Domainnamen, die nicht durch den Proxyserver geleitet werden sollen. Wenn Anthos-Cluster on Bare-Metal eine Anfrage an eine dieser Adressen, Hosts oder Domains sendet, wird die Anfrage direkt gesendet.
Clusterressource
Optional
Nicht veränderbar.
proxy.url
String. Die HTTP-Adresse Ihres Proxyservers. Geben Sie die Portnummer an, auch wenn sie mit dem Standardport des Schemas identisch ist.
Optional. Boolesch (true|false). Clusterweites „seccomp“ aktivieren/deaktivieren. Wenn dieses Feld deaktiviert ist, werden Container ohne „seccomp“-Profil in der Clusterkonfigurationsdatei nicht eingeschränkt ausgeführt. Wenn dieses Feld aktiviert ist, werden diese Container mit dem standardmäßigen „seccomp“-Profil der Containerlaufzeit gesichert. Dieses Feature ist standardmäßig aktiviert. Nach der Clustererstellung kann dieses Feld nur während des Upgrades aktiviert/deaktiviert werden. Weitere Informationen finden Sie unter Container mit seccomp einschränken.
Clusterressource
Optional
Änderungen möglich (nur Upgrade)
clusterSecurity.enableRootlessContainers
Optional. Boolesch (true|false). Root-Bare-Metal-Systemcontainer aktivieren/deaktivieren. Wenn dieses Feld aktiviert ist, werden Bare-Metal-Systemcontainer als Nicht-Root-Nutzer mit einer Nutzer-ID im Bereich 2.000–5.000 ausgeführt. Wenn diese Option deaktiviert ist, werden Bare-Metal-Systemcontainer als Root-Nutzer ausgeführt. Diese Funktion ist standardmäßig aktiviert. Wir raten dringend davon ab, diese Funktion zu deaktivieren, da das Ausführen von Containern als Root-Nutzer ein Sicherheitsrisiko darstellt. Nach der Clustererstellung kann dieses Feld nur während des Upgrades aktiviert/deaktiviert werden. Weitere Informationen finden Sie unter Container nicht als Root-Nutzer ausführen.
Clusterressource
Optional
Änderungen möglich (nur Upgrade)
clusterSecurity.authorization
Optional. Durch die Autorisierung wird der Nutzerzugriff auf den Cluster konfiguriert.
Clusterressource
–
–
clusterSecurity.authorization.clusterAdmin
Optional. Gibt den Clusteradministrator für diesen Cluster an.
Optional. Das Feld gcpAccounts gibt eine Liste von Konten an, denen die rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) von Kubernetes clusterrole/cluster-admin gewährt wird. Konten mit dieser Rolle haben uneingeschränkten Zugriff auf jede Ressource im Cluster in allen Namespaces. Mit diesem Feld werden auch die RBAC-Richtlinien konfiguriert, die es den angegebenen Konten ermöglichen, das Connect-Gateway zu verwenden, um kubectl-Befehle für den Cluster auszuführen. Das ist praktisch, wenn Sie mehrere Cluster verwalten, insbesondere in einer Hybridumgebung mit GKE- und lokalen Clustern.
Dieses Feld enthält ein Array mit Kontonamen. Nutzerkonten und Dienstkonten werden unterstützt. Für Nutzer geben Sie die E-Mail-Adressen ihres Google Cloud-Kontos an. Geben Sie für Dienstkonten die E-Mail-Adressen im folgenden Format an: SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com.
Beispiel:
Wenn Sie einen Cluster zum Hinzufügen eines Kontos aktualisieren, müssen Sie alle Konten (sowohl vorhandene als auch neue Konten) in die Liste aufnehmen, da der Aktualisierungsbefehl die Liste mit den von Ihnen bei der Aktualisierung angegebenen Werten überschreibt.
Dieses Feld gilt nur für Cluster, die Arbeitslasten ausführen können. Sie können beispielsweise gcpAccounts für Administratorcluster nicht angeben.
Clusterressource
Optional
Veränderlich
storage.lvpNodeMounts.path
Erforderlich. String. Geben Sie im Feld path den Hostcomputerpfad an, unter dem bereitgestellte Laufwerke erkannt werden können. Für jede Bereitstellung wird ein lokales PersistentVolume (PV) erstellt. Der Standardpfad ist /mnt/localpv-share. Eine Anleitung zum Konfigurieren der Knotenbereitstellungen finden Sie unter LVP-Knotenbereitstellungen konfigurieren.
Clusterressource
Erforderlich
Nicht veränderbar.
storage.lvpNodeMounts
In diesem Abschnitt wird die Konfiguration (Pfad) für lokale nichtflüchtige Volumes angegeben, die von bereitgestellten Laufwerken unterstützt werden. Sie müssen diese Laufwerke selbst formatieren und bereitstellen. Sie können diese Aufgabe vor oder nach der Clustererstellung ausführen. Weitere Informationen finden Sie unter LVP-Knotenbereitstellungen.
Clusterressource
Erforderlich
Nicht veränderbar.
storage.lvpShare
In diesem Abschnitt wird die Konfiguration für lokale nichtflüchtige Volumes angegeben, die von Unterverzeichnissen in einem freigegebenen Dateisystem unterstützt werden. Diese Unterverzeichnisse werden bei der Clustererstellung automatisch erstellt.
Weitere Informationen finden Sie unter LVP-Freigabe.
Clusterressource
Erforderlich
Nicht veränderbar.
storage.lvpShare.path
Erforderlich. String. Geben Sie im Feld path den Hostcomputerpfad an, in dem Unterverzeichnisse erstellt werden können. Für jedes Unterverzeichnis wird ein lokales PersistentVolume (PV) erstellt. Eine Anleitung zum Konfigurieren Ihrer LVP-Freigabe finden Sie unter LVP-Freigabe konfigurieren.
Clusterressource
Erforderlich
Nicht veränderbar.
storage.lvpShare.numPVUnderSharedPath
Erforderlich. String. Geben Sie die Anzahl der zu erstellenden Unterverzeichnisse unter lvpShare.path an. Der Standardwert ist 5. Eine Anleitung zum Konfigurieren Ihrer LVP-Freigabe finden Sie unter LVP-Freigabe konfigurieren.
Clusterressource
Erforderlich
Nicht veränderbar.
storage.lvpShare.storageClassName
Erforderlich. String. Geben Sie die StorageClass an, die zum Erstellen nichtflüchtiger Volumes verwendet werden soll. Die StorageClass wird während der Clustererstellung erstellt. Der Standardwert ist local-shared. Anleitungen zum Konfigurieren Ihrer LVP-Freigabe finden Sie unter LVP-Freigabe konfigurieren.
Clusterressource
Optional
Nicht veränderbar.
type
Erforderlich. String. Gibt den Clustertyp an. Das Standardbereitstellungsmodell besteht aus einem einzelnen Administratorcluster und einem oder mehreren Nutzerclustern, die vom Administratorcluster verwaltet werden. Anthos-Cluster auf Bare-Metal unterstützt die folgenden Clustertypen:
Admin – Ein Cluster, der zum Verwalten von Nutzerclustern verwendet wird.
Nutzer – Ein Cluster zum Ausführen von Arbeitslasten.
Hybrid – Ein einzelner Cluster für Verwaltung und Arbeitslasten, der auch Nutzercluster verwalten kann.
Standalone – Ein einzelner Cluster, der sich zwar selbst verwalten und Arbeitslasten ausführen, jedoch keine anderen Nutzercluster erstellen oder verwalten kann.
Der Clustertyp wird bei der Clustererstellung angegeben und kann für Aktualisierungen oder Upgrades nicht geändert werden. Weitere Informationen zum Erstellen eines Clusters finden Sie unter Cluster erstellen: Übersicht.
Zulässige Werte: admin | user | hybrid | standalone
Dieser Wert kann nicht für vorhandene Cluster geändert werden.
Clusterressource
Erforderlich
Nicht veränderbar.
name
Erforderlich. String. In der Regel verwendet der Namespace-Name ein Muster von cluster-CLUSTER_NAME, aber das Präfix cluster- ist nicht zwingend erforderlich, da Anthos-Cluster on Bare-Metal Release 1.7.2 verwendet.
Dieser Wert kann nicht für vorhandene Cluster geändert werden.
Namespace-Ressource
Erforderlich
Nicht veränderbar.
clusterName
String. Erforderlich. Der Name des Clusters, dem Sie den Knotenpool hinzufügen. Erstellen Sie die Knotenpoolressource im selben Namespace wie der zugehörige Cluster und verweisen Sie in diesem Feld auf den Clusternamen. Weitere Informationen finden Sie unter Knotenpools in einem Cluster hinzufügen und entfernen.
Optional. Array von IP-Adressen (IPv4). Dadurch wird der Knotenpool für Ihre Worker-Knoten definiert.
NodePool-Ressource
Optional
Veränderlich
nodes.address
Optional. String (IPv4-Adresse). Eine oder mehrere IP-Adressen für die Knoten, die Ihren Pool für Worker-Knoten bilden.
NodePool-Ressource
Optional
Veränderlich
taints
Optional. Objekt. Mit einer Knotenmarkierung können Sie einen Knoten markieren. Dies bewirkt, dass der Planer den Knoten für bestimmte Pods nicht verwendet. Eine Markierung besteht aus einem Schlüssel/Wert-Paar und einem zugehörigen Effekt. Die Werte key und value sind Strings, mit denen Sie die Markierung identifizieren. Der Wert effect gibt an, wie Pods für den Knoten verarbeitet werden. Das Objekt taints kann mehrere Markierungen haben.
Das Label effect kann einen der folgenden Werte haben:
NoSchedule: Ein Pod kann nur dann auf dem Knoten geplant werden, wenn er eine übereinstimmende Toleranz hat.
PreferNoSchedule: Das System vermeidet den Einsatz eines Pods, der die Markierung nicht auf dem Knoten toleriert, aber dies ist nicht erforderlich.
NoExecute: Pods, die die Markierung nicht tolerieren, werden sofort entfernt und Pods, die die Markierung tolerieren, werden nie entfernt.
Bei Anthos-Clustern in Bare-Metal werden Markierungen mit den Knoten des Knotenpools abgeglichen, sofern die Annotation baremetal.cluster.gke.io/label-taint-no-sync nicht auf den Cluster angewendet wird. Weitere Informationen zu Markierungen finden Sie unter Markierungen und Toleranzen.
Beispiel:
taints:-key:statusvalue:testpooleffect:NoSchedule
NodePool-Ressource
Optional
Veränderlich
labels
Optional. Zuordnung (Schlüssel/Wert-Paare).
Labels werden auf die Knoten des Knotenpools abgeglichen, sofern die Annotation baremetal.cluster.gke.io/label-taint-no-sync nicht auf den Cluster angewendet wird. Weitere Informationen zu Labels finden Sie unter Labels und Selektoren.
NodePool-Ressource
Optional
Veränderlich
registryMirrors
Optional. In diesem Abschnitt geben Sie anstelle von Container Registry (gcr.io) einen Registry-Spiegel an, der für die Installation von Clustern verwendet werden soll. Weitere Informationen zur Verwendung eines Registry-Spiegels finden Sie unter Anthos-Cluster on Bare-Metal mit einem Registry-Spiegel installieren.
String. Der Endpunkt des Spiegels, bestehend aus der IP-Adresse und der Portnummer des Registry-Servers. Optional können Sie Ihren eigenen Namespace in Ihrem Registry-Server anstelle des Root-Namespace verwenden. Ohne Namespace ist das Endpunktformat REGISTRY_IP:PORT. Wenn Sie einen Namespace verwenden, hat das Endpunktformat REGISTRY_IP:PORT/v2/NAMESPACE.
/v2 ist erforderlich, wenn ein Namespace angegeben wird.
Das Feld endpoint ist erforderlich, wenn Sie eine Registry-Spiegel angeben. Sie können mehrere Spiegel/Endpunkte angeben.
Optional. String. Pfad der CA-Zertifikatsdatei, wenn Ihr Registrierungsserver ein privates TLS-Zertifikat verwendet. Wenn für Ihre lokale Registry kein privates TLS-Zertifikat erforderlich ist, können Sie dieses Feld weglassen.
Registry-Spiegel
Optional
Veränderlich
registryMirrors.pullCredentialConfigPath
Optional. String. Pfad zur Docker-Befehlszeile-Konfigurationsdatei, config.json. Docker speichert die Authentifizierungseinstellungen in der Konfigurationsdatei. Dieses Feld gilt nur für die Verwendung von Registry-Spiegeln. Wenn Ihr Registrierungsserver keine Docker-Konfigurationsdatei für die Authentifizierung benötigt, können Sie dieses Feld auslassen.
Optional. Ein Array von Domainnamen für Hosts, die lokal für den angegebenen Registry-Spiegel (endpoint) gespiegelt werden. Wenn die Containerlaufzeit Pull-Anfragen für Images von einem bestimmten Host findet, wird zuerst die lokale Registry-Spiegelung überprüft. Weitere Informationen finden Sie unter Cluster aus dem Registry-Spiegel erstellen.
Die von bmctl für Anthos-Cluster on Bare-Metal generierte Clusterkonfigurationsdatei enthält Felder zum Angeben von Pfaden zu Anmeldedaten und Schlüsseldateien im lokalen Dateisystem. Diese Anmeldedaten und Schlüssel werden benötigt, um Ihre Cluster miteinander und mit Ihrem Google Cloud-Projekt zu verbinden.
String. Der Pfad zum Dienstkontoschlüssel der Container Registry. Das Container Registry-Dienstkonto ist ein von Google verwaltetes Dienstkonto, das im Namen von Container Registry agiert, wenn es mit Google Cloud-Diensten interagiert.
Anmeldedaten
Optional
Veränderlich
sshPrivateKeyPath
String. Der Pfad zum privaten SSH-Schlüssel. SSH ist für den Knotenzugriff erforderlich.
Anmeldedaten
Optional
Veränderlich
gkeConnectAgentServiceAccountKeyPath
String. Der Pfad zum Agent-Dienstkontoschlüssel.
Anthos-Cluster auf Bare-Metal verwenden dieses Dienstkonto, um eine Verbindung zwischen Anthos-Clustern in Bare-Metal und Google Cloud herzustellen.
String. Der Pfad zum Dienstkontoschlüssel für die Registrierung
Anthos-Cluster auf Bare-Metal verwendet dieses Dienstkonto, um Ihre Nutzercluster bei Google Cloud zu registrieren.
String. Der Pfad zum Dienstkontoschlüssel des Vorgangs
Anthos-Cluster auf Bare-Metal verwendet das Vorgangsdienstkonto, um sich bei der Operations-Suite von Google Cloud für den Zugriff auf die Logging API und die Monitoring API zu authentifizieren.
Definiert die Konfiguration für den IPv4-CIDR-Bereich. Für die Ressource ClusterCidrConfig muss mindestens eines der Felder ipv4 oder ipv6 angegeben werden.
ClusterCIDRConfig-Ressource
Optional
Nicht veränderbar.
ipv4.cidr
String. Legt den CIDR-Block des IPv4-Knotens fest. Knoten können nur einen Bereich pro Familie haben. Dieser CIDR-Block muss mit dem Pod-CIDR übereinstimmen, das in der Ressource Cluster beschrieben ist.
Beispiel:
ipv4:cidr:"10.1.0.0/16"
ClusterCIDRConfig-Ressource
Erforderlich
Nicht veränderbar.
ipv4.perNodeMaskSize
Integer. Definiert die Maskengröße für den IPv4-CIDR-Block des Knotens. Der Wert 24 wird beispielsweise in die Netzmaske /24 umgewandelt. Achten Sie darauf, dass die CIDR-Blocknetzmaske des Knotens größer ist als die maximale Anzahl von Pods, die vom Kubelet geplant werden kann. Diese ist im Flag --max-pods des Kubelets definiert.
ClusterCIDRConfig-Ressource
Erforderlich
Nicht veränderbar.
ipv6
Definiert die Konfiguration für den IPv6-CIDR-Bereich. Für die Ressource ClusterCidrConfig muss mindestens eines der Felder ipv4 oder ipv6 angegeben werden.
ClusterCIDRConfig-Ressource
Optional
Nicht veränderbar.
ipv6.cidr
String. Legt den CIDR-Block des IPv6-Knotens fest. Knoten können nur einen Bereich pro Familie haben.
Beispiel:
ipv6:cidr:"2620:0:1000:2631:3:10:3:0/112"
ClusterCIDRConfig-Ressource
Erforderlich
Nicht veränderbar.
ipv6.perNodeMaskSize
Integer. Definiert die Maskengröße für den IPv6-CIDR-Block des Knotens. Der Wert 120 wird beispielsweise in die Netzmaske /120 umgewandelt. Achten Sie darauf, dass die CIDR-Blocknetzmaske des Knotens größer ist als die maximale Anzahl von Pods, die vom Kubelet geplant werden kann. Diese ist im Flag --max-pods des Kubelets definiert.
ClusterCIDRConfig-Ressource
Erforderlich
Nicht veränderbar.
nodeSelector.matchLabels
Definiert, für welche Knoten die CIDR-Konfiguration gilt. Ein leerer Knoten-Selektor fungiert standardmäßig als Standard, der für alle Knoten gilt.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2023-08-03 (UTC)."],[],[]]