Dies ist eine unveröffentlichte Dokumentation für SUSE® Virtual Clusters v1.2.0 (Dev).

Literatur zu APIs

k3k.io/v1beta1

Add-on

Das Addon gibt ein Secret an, das YAML enthält, das beim Start des Clusters bereitgestellt werden soll.

Erscheint in:

Feld Beschreibung Standard Validation

secretNamespace Zeichenfolge

SecretNamespace ist der Namespace des Secrets.

secretRef Zeichenfolge

SecretRef ist der Name des Secrets.

Cluster

Cluster definiert einen virtuellen Kubernetes-Cluster, der von k3k verwaltet wird. Es gibt den gewünschten Zustand eines virtuellen Clusters an, einschließlich Version, Knotenkonfiguration und Netzwerk. k3k verwendet dies, um diese virtuellen Cluster bereitzustellen und zu verwalten.

Erscheint in:

Feld Beschreibung Standard Validation

apiVersion Zeichenfolge

k3k.io/v1beta1

kind Zeichenfolge

Cluster

metadata ObjectMeta

Siehe die Kubernetes-API-Dokumentation für die Felder von metadata.

Spec definiert den gewünschten Zustand des Clusters.

{ }

ClusterList

ClusterList ist eine Liste von Cluster-Ressourcen.

Feld Beschreibung Standard Validation

apiVersion Zeichenfolge

k3k.io/v1beta1

kind Zeichenfolge

ClusterList

metadata ListMeta

Siehe die Kubernetes-API-Dokumentation für die Felder von metadata.

items Cluster Array

ClusterMode

Unterliegender Typ: Zeichenfolge

ClusterMode ist der mögliche Bereitstellungsmodus eines Clusters.

Validierung: - Enum: [shared virtual]

Erscheint in:

ClusterPhase

Unterliegender Typ: Zeichenfolge

ClusterPhase ist eine hochrangige Zusammenfassung des aktuellen Lebenszyklusstatus des Clusters.

Erscheint in:

ClusterSpec

ClusterSpec definiert den gewünschten Zustand eines virtuellen Kubernetes-Clusters.

Erscheint in:

Feld Beschreibung Standard Validation

version Zeichenfolge

Version ist die K3s-Version, die für die virtuellen Knoten verwendet werden soll.
Sie sollte der K3s-Versionierungskonvention folgen (z. B. v1.28.2-k3s1).
Wenn nicht angegeben, wird die Kubernetes-Version des Hostknotens verwendet.

Modus gibt den Bereitstellungsmodus des Clusters an: "shared" oder "virtuell".
Der Standardwert ist "shared". Dieses Feld ist unveränderlich.

freigegeben

Enum: [shared virtuell]

servers Ganzzahl

Server gibt die Anzahl der K3s-Pods an, die im Server- (Steuerungsebene) Modus ausgeführt werden sollen.
Muss mindestens 1 sein. Der Standardwert ist 1.

1

agents Ganzzahl

Agents gibt die Anzahl der K3s-Pods an, die im Agenten- (Arbeiter) Modus ausgeführt werden sollen.
Muss 0 oder größer sein. Der Standardwert ist 0.
Dieses Feld wird im "shared"-Modus ignoriert.

0

clusterCIDR Zeichenfolge

ClusterCIDR ist der CIDR-Bereich für Pod-IPs.
Der Standardwert ist 10.42.0.0/16 im shared-Modus und 10.52.0.0/16 im virtuellen Modus.
Dieses Feld ist unveränderlich.

serviceCIDR Zeichenfolge

ServiceCIDR ist der CIDR-Bereich für Service-IPs.
Der Standardwert ist 10.43.0.0/16 im shared-Modus und 10.53.0.0/16 im virtuellen Modus.
Dieses Feld ist unveränderlich.

clusterDNS Zeichenfolge

ClusterDNS ist die IP-Adresse für den CoreDNS-Dienst.
Muss im Bereich von ServiceCIDR liegen. Der Standardwert ist 10.43.0.10.
Dieses Feld ist unveränderlich.

persistence PersistenceConfig

Persistence gibt Optionen für die Persistierung von etcd-Daten an.
Der Standardwert ist dynamische Persistenz, die einen PersistentVolumeClaim verwendet, um Datenpersistenz bereitzustellen.
Eine Standard-StorageClass ist für die dynamische Persistenz erforderlich.

expose ExposeConfig

Expose gibt Optionen zum Exponieren des API-Servers an.
Standardmäßig wird er nur als ClusterIP exponiert.

nodeSelector object (keys:string, values:string)

NodeSelector gibt Knotenlabels an, um einzuschränken, wo Server-/Agent-Pods geplant werden.
Im "shared"-Modus gilt dies auch für Workloads.

priorityClass Zeichenfolge

PriorityClass gibt den priorityClassName für Server-/Agent-Pods an.
Im "shared"-Modus gilt dies auch für Workloads.

tokenSecretRef SecretReference

TokenSecretRef ist eine geheime Referenz, die das Token enthält, das von Arbeitsknoten verwendet wird, um dem Cluster beizutreten.
Das Secret muss ein "token"-Feld in seinen Daten haben.

tlsSANs Zeichenkettenarray

TLSSANs gibt alternative Namen für das K3s-Serverzertifikat an.

serverArgs Zeichenkettenarray

ServerArgs gibt geordnete Schlüssel-Wert-Paare für K3s-Server-Pods an.
Beispiel: ["--tls-san=example.com"]

agentArgs Zeichenkettenarray

AgentArgs gibt geordnete Schlüssel-Wert-Paare für K3s-Agenten-Pods an.
Example: ["--node-name=my-agent-node"]

serverEnvs EnvVar array

ServerEnvs gibt eine Liste von Umgebungsvariablen an, die im Server-Pod gesetzt werden sollen.

agentEnvs EnvVar array

AgentEnvs gibt eine Liste von Umgebungsvariablen an, die im Agenten-Pod gesetzt werden sollen.

addons Addon array

Addons geben Secrets an, die rohes YAML enthalten, um beim Start des Clusters bereitgestellt zu werden.

serverLimit ResourceList

ServerLimit gibt die Ressourcenlimits für Serverknoten an.

workerLimit ResourceList

WorkerLimit gibt die Ressourcenlimits für Agentenknoten an.

mirrorHostNodes boolescher Datentyp

MirrorHostNodes steuert, ob Knotenobjekte aus dem Host-Cluster
in den virtuellen Cluster gespiegelt werden.

customCAs CustomCAs

CustomCAs gibt die Zertifikat/Schlüssel-Paare für benutzerdefinierte CA-Zertifikate an.

sync SyncConfig

Sync gibt die Ressourcentypen an, die vom virtuellen Cluster in den Host-Cluster synchronisiert werden.

{ }

secretMounts SecretMount array

SecretMounts gibt eine Liste von Geheimnissen an, die in Server- und Agent-Pods eingebunden werden sollen.
Jeder Eintrag definiert ein Geheimnis und seinen Einhängepfad innerhalb der Pods.

ConfigMapSyncConfig

ConfigMapSyncConfig gibt die Synchronisationsoptionen für Dienste an.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolean

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

true

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

CredentialSource

CredentialSource definiert, woher ein Credential bezogen werden kann. Es kann entweder ein TLS-Schlüsselpaar oder ein einzelner privater Schlüssel sein.

Erscheint in:

Feld Beschreibung Standard Validation

secretName Zeichenfolge

Das Geheimnis muss spezifische Schlüssel basierend auf dem Credential-Typ enthalten:
- Für TLS-Zertifikatpaare (z. B. ServerCA): tls.crt und tls.key.
- Für den Signaturschlüssel des ServiceAccountTokens: tls.key.

CredentialSources

CredentialSources listet alle erforderlichen Credentials auf, einschließlich TLS-Schlüsselpaare und einzelner Signaturschlüssel.

Erscheint in:

Feld Beschreibung Standard Validation

serverCA CredentialSource

ServerCA gibt das Server-CA-Zertifikat/Schlüssel-Paar an.

clientCA CredentialSource

ClientCA gibt das Client-CA-Zertifikat/Schlüssel-Paar an.

requestHeaderCA CredentialSource

RequestHeaderCA gibt das Request-Header-CA-Zertifikat/Schlüssel-Paar an.

etcdServerCA CredentialSource

ETCDServerCA gibt das ETCD-Server-CA-Zertifikat/Schlüssel-Paar an.

etcdPeerCA CredentialSource

ETCDPeerCA gibt das ETCD-Peer-CA-Zertifikat/Schlüssel-Paar an.

serviceAccountToken CredentialSource

ServiceAccountToken gibt den Schlüssel für das Service-Account-Token an.

CustomCAs

Benutzerdefinierte CAs geben die Zertifikat/Schlüssel-Paare für benutzerdefinierte CA-Zertifikate an.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled schaltet diese Funktion ein oder aus.

true

Quellen definieren die Quellen für alle erforderlichen benutzerdefinierten CA-Zertifikate.

ExposeConfig

ExposeConfig gibt Optionen zum Bereitstellen des API-Servers an.

Erscheint in:

Feld Beschreibung Standard Validation

ingress IngressConfig

Ingress gibt Optionen zum Bereitstellen des API-Servers über ein Ingress an.

loadBalancer LoadBalancerConfig

LoadBalancer gibt Optionen zum Bereitstellen des API-Servers über einen LoadBalancer-Dienst an.

nodePort NodePortConfig

NodePort gibt Optionen zum Bereitstellen des API-Servers über NodePort an.

IngressConfig

IngressConfig legt Optionen fest, um den API-Server über ein Ingress bereitzustellen.

Erscheint in:

Feld Beschreibung Standard Validation

annotations object (keys:string, values:string)

Annotations legt Annotationen fest, die dem Ingress hinzugefügt werden.

ingressClassName Zeichenfolge

IngressClassName legt die IngressClass fest, die für das Ingress verwendet werden soll.

IngressSyncConfig

IngressSyncConfig legt die Synchronisationsoptionen für Dienste fest.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

false

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

LoadBalancerConfig

LoadBalancerConfig legt Optionen fest, um den API-Server über einen LoadBalancer-Dienst bereitzustellen.

Erscheint in:

Feld Beschreibung Standard Validation

serverPort Integer

ServerPort ist der Port, über den der K3s-Server bereitgestellt wird, wenn der Typ LoadBalancer ist.
Wenn nicht angegeben, wird der Standardport https 443 zugewiesen.
Wenn 0 oder negativ, wird der Port nicht bereitgestellt.

etcdPort Integer

ETCDPort ist der Port, über den der ETCD-Dienst bereitgestellt wird, wenn der Typ LoadBalancer ist.
Wenn nicht angegeben, wird der Standardport etcd 2379 zugewiesen.
Wenn 0 oder negativ, wird der Port nicht bereitgestellt.

NodePortConfig

NodePortConfig legt Optionen fest, um den API-Server über NodePort bereitzustellen.

Erscheint in:

Feld Beschreibung Standard Validation

serverPort Integer

ServerPort ist der Port auf jedem Knoten, über den der K3s-Server bereitgestellt wird, wenn der Typ NodePort ist.
Wenn nicht angegeben, wird ein zufälliger Port zwischen 30000-32767 zugewiesen.
Wenn außerhalb des Bereichs, wird der Port nicht bereitgestellt.

etcdPort Integer

ETCDPort ist der Port auf jedem Knoten, über den der ETCD-Dienst bereitgestellt wird, wenn der Typ NodePort ist.
Wenn nicht angegeben, wird ein zufälliger Port zwischen 30000-32767 zugewiesen.
Wenn außerhalb des Bereichs, wird der Port nicht bereitgestellt.

PersistenceConfig

PersistenceConfig legt Optionen für die Persistierung von etcd-Daten fest.

Erscheint in:

Feld Beschreibung Standard Validation

Der Typ gibt den Persistenzmodus an.

dynamisch

storageClassName Zeichenfolge

StorageClassName ist der Name der StorageClass, die für das PVC verwendet werden soll.
Dieses Feld ist nur im "dynamischen" Modus relevant.

storageRequestSize Quantity

StorageRequestSize ist die angeforderte Größe für das PVC.
Dieses Feld ist nur im "dynamischen" Modus relevant.

2 G

PersistenceMode

Unterliegender Typ: Zeichenfolge

Der Persistenzmodus ist der Speichermodus eines Clusters.

Erscheint in:

PersistentVolumeClaimSyncConfig

PersistentVolumeClaimSyncConfig legt die Synchronisationsoptionen für Dienste fest.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

true

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

PodSecurityAdmissionLevel

Unterliegender Typ: Zeichenfolge

PodSecurityAdmissionLevel ist das Richtlinienniveau, das auf die Pods im Namespace angewendet wird.

Validierung: - Enum: [privileged, baseline, restricted]

Erscheint in:

PriorityClassSyncConfig

PriorityClassSyncConfig legt die Synchronisationsoptionen für Dienste fest.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

false

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

SecretMount

SecretMount definiert ein Geheimnis, das in Server- oder Agent-Pods eingebunden werden soll, um benutzerdefinierte Konfigurationen, Zertifikate oder andere sensible Daten zu ermöglichen.

Erscheint in:

Feld Beschreibung Standard Validation

secretName Zeichenfolge

secretName ist der Name des Geheimnisses im Namespace des Pods, das verwendet werden soll.
Weitere Informationen: https://kubernetes.io/docs/concepts/storage/volumes#secret

items KeyToPath array

Elemente Wenn nicht angegeben, wird jedes Schlüssel-Wert-Paar im Datenfeld des referenzierten
Das Geheimnis wird als Datei in das Volume projiziert, dessen Name der
Schlüssel und der Inhalt ist der Wert. Wenn angegeben, werden die aufgelisteten Schlüssel
in die angegebenen Pfade projiziert, und nicht aufgelistete Schlüssel werden nicht
vorhanden sein. Wenn ein Schlüssel angegeben wird, der im Geheimnis nicht vorhanden ist,
Das Volume-Setup führt zu einem Fehler, es sei denn, es ist als optional markiert. Pfade müssen
relativ sein und dürfen den '..'-Pfad nicht enthalten oder mit '..' beginnen.

defaultMode Ganzzahl

defaultMode ist Optional: Modusbits, die standardmäßig zur Festlegung von Berechtigungen für erstellte Dateien verwendet werden.
Muss ein oktaler Wert zwischen 0000 und 0777 oder ein dezimaler Wert zwischen 0 und 511 sein.
YAML akzeptiert sowohl oktale als auch dezimale Werte, JSON erfordert dezimale Werte
für Modusbits. Der Standardwert ist 0644.
Verzeichnisse innerhalb des Pfades sind von dieser Einstellung nicht betroffen.
Dies könnte in Konflikt mit anderen Optionen stehen, die die Datei
Modus, wie fsGroup, und das Ergebnis kann andere Modusbits gesetzt werden.

optional boolescher Datentyp

Optionales Feld gibt an, ob das Secret oder seine Schlüssel definiert sein müssen

mountPath Zeichenfolge

MountPath ist der Pfad innerhalb des Servers und der Agent-Pods, wo die
Inhalte des Secrets gemountet werden.

subPath Zeichenfolge

SubPath ist ein optionaler Pfad innerhalb des Secrets, der anstelle des Wurzelverzeichnisses gemountet werden kann.
Wenn angegeben, wird nur der angegebene Schlüssel aus dem Secret als Datei
am MountPath gemountet, wobei das übergeordnete Verzeichnis beschreibbar bleibt.

role Zeichenfolge

Role ist der Typ des k3k-Pods, der verwendet wird, um das Secret zu mounten.
Dies kann 'server', 'agent' oder 'all' (für beide) sein.

Enum: [server agent all]

SecretSyncConfig

SecretSyncConfig spezifiziert die Synchronisationsoptionen für Dienste.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

true

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

ServiceSyncConfig

ServiceSyncConfig spezifiziert die Synchronisationsoptionen für Dienste.

Erscheint in:

Feld Beschreibung Standard Validation

enabled boolescher Datentyp

Enabled ist ein Ein/Aus-Schalter für die Synchronisation von Ressourcen.

true

selector object (keys:string, values:string)

Selector gibt eine Menge von Labels der Ressourcen an, die synchronisiert werden sollen; wenn leer,
werden alle Ressourcen des angegebenen Typs synchronisiert.

SyncConfig

SyncConfig enthält die Ressourcen, die vom virtuellen Cluster in den Host-Cluster synchronisiert werden sollen.

Erscheint in:

Feld Beschreibung Standard Validation

Konfiguration der Synchronisation von Dienstressourcen.

{ enabled:true }

configMaps ConfigMapSyncConfig

Konfiguration der Synchronisation von ConfigMap-Ressourcen.

{ enabled:true }

Konfiguration der Synchronisation von Secret-Ressourcen.

{ enabled:true }

ingresses IngressSyncConfig

Konfiguration der Synchronisation von Ingress-Ressourcen.

{ enabled:false }

persistentVolumeClaims PersistentVolumeClaimSyncConfig

Konfiguration der Synchronisation von PersistentVolumeClaims-Ressourcen.

{ enabled:true }

priorityClasses PriorityClassSyncConfig

Konfiguration der Synchronisation von PriorityClasses-Ressourcen.

{ enabled:false }

VirtualClusterPolicy

VirtualClusterPolicy ermöglicht die Definition gemeinsamer Konfigurationen und Einschränkungen für Cluster innerhalb einer Clusterrichtlinie.

Erscheint in:

Feld Beschreibung Standard Validation

apiVersion Zeichenfolge

k3k.io/v1beta1

kind Zeichenfolge

VirtualClusterPolicy

metadata ObjectMeta

Siehe die Kubernetes-API-Dokumentation für die Felder von metadata.

Spec definiert den gewünschten Zustand der VirtualClusterPolicy.

{ }

VirtualClusterPolicyList

Die VirtualClusterPolicyList ist eine Liste von VirtualClusterPolicy-Ressourcen.

Feld Beschreibung Standard Validation

apiVersion Zeichenfolge

k3k.io/v1beta1

kind Zeichenfolge

VirtualClusterPolicyList

metadata ListMeta

Siehe die Kubernetes-API-Dokumentation für die Felder von metadata.

items VirtualClusterPolicy array

VirtualClusterPolicySpec

Die VirtualClusterPolicySpec definiert den gewünschten Zustand einer VirtualClusterPolicy.

Erscheint in:

Feld Beschreibung Standard Validation

Die Quota gibt die Ressourcenlimits für Cluster innerhalb einer Clusterrichtlinie an.

Das Limit gibt den LimitRange an, der auf alle Pods innerhalb der VirtualClusterPolicy angewendet wird.
um Standardwerte und Einschränkungen (min/max) festzulegen.

defaultNodeSelector object (keys:string, values:string)

Der DefaultNodeSelector gibt den Knotenauswahlmechanismus an, der auf alle Cluster (Server + Agent) im Ziel-Namespace angewendet wird.

defaultPriorityClass Zeichenfolge

Die DefaultPriorityClass gibt den priorityClassName an, der auf alle Pods aller Cluster im Ziel-Namespace angewendet wird.

allowedMode ClusterMode

Der AllowedMode gibt den erlaubten Cluster-Bereitstellungsmodus an. Der Standardwert ist "shared".

freigegeben

Enum: [shared virtual]

disableNetworkPolicy boolescher Datentyp

DisableNetworkPolicy gibt an, ob die Erstellung einer standardmäßigen Netzzwerkrichtlinie zur Cluster-Isolierung deaktiviert werden soll.

podSecurityAdmissionLevel PodSecurityAdmissionLevel

Das PodSecurityAdmissionLevel gibt das Pod-Sicherheitszulassungsniveau an, das auf die Pods im Namespace angewendet wird.

Enum: [privileged baseline restricted]

sync SyncConfig

Sync gibt die Ressourcentypen an, die vom virtuellen Cluster in den Host-Cluster synchronisiert werden.

{ }