Il s'agit d'une documentation non publiée pour SUSE® Virtual Clusters v1.2.0 (Dev).

Référence API

Paquetages

k3k.io/v1beta1

Addon

L’addon spécifie un Secret contenant du YAML à déployer au démarrage du cluster.

Apparaît Dans:

Champ Description Par défaut Validation

secretNamespace chaîne

SecretNamespace est l’espace de noms du Secret.

secretRef chaîne

SecretRef est le nom du Secret.

Grappe

Cluster définit un cluster Kubernetes virtuel géré par k3k. Il spécifie l’état souhaité d’un cluster virtuel, y compris la version, la configuration des nœuds et le réseau. k3k l’utilise pour provisionner et gérer ces clusters virtuels.

Apparaît Dans:

Champ Description Par défaut Validation

apiVersion chaîne

k3k.io/v1beta1

kind chaîne

Cluster

metadata ObjectMeta

Consultez la documentation de l’API Kubernetes pour les champs de metadata.

La spécification définit l’état souhaité du Cluster.

{ }

ClusterList

ClusterList est une liste de ressources Cluster.

Champ Description Par défaut Validation

apiVersion chaîne

k3k.io/v1beta1

kind chaîne

ClusterList

metadata ListMeta

Consultez la documentation de l’API Kubernetes pour les champs de metadata.

items Cluster tableau

ClusterMode

Type sous-jacent : chaîne

ClusterMode est le mode de provisionnement possible d’un Cluster.

Validation : - Enum : [partagé virtuel]

Apparaît Dans:

ClusterPhase

Type sous-jacent : chaîne

ClusterPhase est un résumé de haut niveau de l’état actuel du cycle de vie du Cluster.

Apparaît Dans:

ClusterSpec

ClusterSpec définit l’état souhaité d’un cluster Kubernetes virtuel.

Apparaît Dans:

Champ Description Par défaut Validation

version chaîne

La version est la version K3s à utiliser pour les nœuds virtuels.
Elle doit suivre la convention de versionnement K3s (par exemple, v1.28.2-k3s1).
Si non spécifié, la version Kubernetes du nœud hôte sera utilisée.

Le mode spécifie le mode de provisionnement du cluster : "partagé" ou "virtuel".
Par défaut, "partagé". Ce champ est immuable.

shared

Enum : [partagé virtuel]

servers entier

Les serveurs spécifient le nombre de pods K3s à exécuter en mode serveur (plan de contrôle).
Doit être d’au moins 1. La valeur par défaut est 1.

1

agents entier

Les agents spécifient le nombre de pods K3s à exécuter en mode agent (travailleur).
Doit être 0 ou plus. La valeur par défaut est 0.
Ce champ est ignoré en mode "partagé".

0

clusterCIDR chaîne

ClusterCIDR est la plage CIDR pour les adresses IP des pods.
La valeur par défaut est 10.42.0.0/16 en mode partagé et 10.52.0.0/16 en mode virtuel.
Ce champ est immuable.

serviceCIDR chaîne

ServiceCIDR est la plage CIDR pour les adresses IP des services.
La valeur par défaut est 10.43.0.0/16 en mode partagé et 10.53.0.0/16 en mode virtuel.
Ce champ est immuable.

clusterDNS chaîne

ClusterDNS est l’adresse IP du service CoreDNS.
Doit être dans la plage ServiceCIDR. La valeur par défaut est 10.43.0.10.
Ce champ est immuable.

persistence PersistenceConfig

La persistance spécifie les options pour la persistance des données etcd.
La valeur par défaut est la persistance dynamique, qui utilise un PersistentVolumeClaim pour fournir la persistance des données.
Une StorageClass par défaut est requise pour la persistance dynamique.

expose ExposeConfig

Expose spécifie les options pour exposer le serveur API.
Par défaut, il n’est exposé qu’en tant que ClusterIP.

nodeSelector objet (clés:string, valeurs:string)

NodeSelector spécifie les étiquettes de nœud pour contraindre où les pods serveur/agent sont planifiés.
En mode "partagé", cela s’applique également aux charges de travail.

priorityClass chaîne

PriorityClass spécifie le priorityClassName pour les pods serveur/agent.
En mode "partagé", cela s’applique également aux charges de travail.

tokenSecretRef SecretReference

TokenSecretRef est une référence Secret contenant le token utilisé par les nœuds de travail pour rejoindre le cluster.
Le Secret doit avoir un champ "token" dans ses données.

tlsSANs tableau de chaînes

TLSSANs spécifie les noms alternatifs de sujet pour le certificat du serveur K3s.

serverArgs tableau de chaînes

ServerArgs spécifie des paires clé-valeur ordonnées pour les pods serveur K3s.
Exemple : ["--tls-san=example.com"]

agentArgs tableau de chaînes

AgentArgs spécifie des paires clé-valeur ordonnées pour les pods agent K3s.
Exemple : ["--node-name=my-agent-node"]

serverEnvs EnvVar tableau

ServerEnvs spécifie la liste des variables d’environnement à définir dans le pod serveur.

agentEnvs EnvVar tableau

AgentEnvs spécifie la liste des variables d’environnement à définir dans le pod agent.

addons Addon tableau

Addons spécifie des secrets contenant du YAML brut à déployer au démarrage du cluster.

serverLimit ResourceList

ServerLimit spécifie les limites de ressources pour les nœuds serveur.

workerLimit ResourceList

WorkerLimit spécifie les limites de ressources pour les nœuds agents.

mirrorHostNodes booléen

MirrorHostNodes contrôle si les objets de nœud du cluster hôte
sont reflétés dans le cluster virtuel.

customCAs CustomCAs

CustomCAs spécifie les paires de certificats/clés pour les certificats CA personnalisés.

sync SyncConfig

Sync spécifie les types de ressources qui seront synchronisés du cluster virtuel vers le cluster hôte.

{ }

secretMounts SecretMount tableau

SecretMounts spécifie une liste de secrets à monter dans les pods du serveur et de l’agent.
Chaque entrée définit un secret et son chemin de montage dans les pods.

ConfigMapSyncConfig

ConfigMapSyncConfig spécifie les options de synchronisation pour les services.

Apparaît dans:

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

true

selector objet (clés:string, valeurs:string)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

CredentialSource

CredentialSource définit d’où obtenir des informations d’identification. Il peut représenter soit une paire de clés TLS, soit une seule clé privée.

Apparaît Dans:

Champ Description Par défaut Validation

secretName chaîne

Le secret doit contenir des clés spécifiques en fonction du type d’identifiant :
- Pour les paires de certificats TLS (par exemple, ServerCA) : tls.crt et tls.key.
- Pour la clé de signature ServiceAccountToken : tls.key.

CredentialSources

CredentialSources répertorie toutes les informations d’identification requises, y compris les paires de clés TLS et les clés de signature uniques.

Apparaît Dans:

Champ Description Par défaut Validation

serverCA CredentialSource

ServerCA spécifie la paire de certificats/clés server-ca.

clientCA CredentialSource

ClientCA spécifie la paire de certificats/clés client-ca.

requestHeaderCA CredentialSource

RequestHeaderCA spécifie la paire de certificats/clés request-header-ca.

etcdServerCA CredentialSource

ETCDServerCA spécifie la paire de certificats/clés etcd-server-ca.

etcdPeerCA CredentialSource

ETCDPeerCA spécifie la paire de certificats/clés etcd-peer-ca.

serviceAccountToken CredentialSource

ServiceAccountToken spécifie la clé du service-account-token.

CustomCAs

CustomCAs spécifie les paires de certificats/clés pour les certificats CA personnalisés.

Apparaît Dans:

Champ Description Par défaut Validation

enabled booléen

Enabled active ou désactive cette fonctionnalité.

true

Sources définit les sources pour tous les certificats CA personnalisés requis.

ExposeConfig

ExposeConfig spécifie les options pour exposer le serveur API.

Apparaît Dans:

Champ Description Par défaut Validation

ingress IngressConfig

Ingress spécifie les options pour exposer le serveur API via un Ingress.

loadBalancer LoadBalancerConfig

LoadBalancer spécifie les options pour exposer le serveur API via un service LoadBalancer.

nodePort NodePortConfig

NodePort spécifie les options pour exposer le serveur API via NodePort.

IngressConfig

IngressConfig spécifie les options pour exposer le serveur API via un Ingress.

Apparaît Dans:

Champ Description Par défaut Validation

annotations objet (clés:chaîne, valeurs:chaîne)

Annotations spécifie les annotations à ajouter à l’Ingress.

ingressClassName chaîne

IngressClassName spécifie la classe d’Ingress à utiliser pour l’Ingress.

IngressSyncConfig

IngressSyncConfig spécifie les options de synchronisation pour les services.

Apparaît Dans:

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

false

selector objet (clés:chaîne, valeurs:chaîne)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

LoadBalancerConfig

LoadBalancerConfig spécifie les options pour exposer le serveur API via un service LoadBalancer.

Apparaît Dans:

Champ Description Par défaut Validation

serverPort entier

ServerPort est le port sur lequel le serveur K3s est exposé lorsque le type est LoadBalancer.
Si non spécifié, le port https par défaut 443 sera alloué.
Si 0 ou négatif, le port ne sera pas exposé.

etcdPort entier

ETCDPort est le port sur lequel le service ETCD est exposé lorsque le type est LoadBalancer.
Si non spécifié, le port etcd par défaut 2379 sera alloué.
Si 0 ou négatif, le port ne sera pas exposé.

NodePortConfig

NodePortConfig spécifie les options pour exposer le serveur API via NodePort.

Apparaît Dans:

Champ Description Par défaut Validation

serverPort entier

ServerPort est le port sur chaque nœud sur lequel le serveur K3s est exposé lorsque le type est NodePort.
Si non spécifié, un port aléatoire entre 30000-32767 sera alloué.
Si hors de la plage, le port ne sera pas exposé.

etcdPort entier

ETCDPort est le port sur chaque nœud sur lequel le service ETCD est exposé lorsque le type est NodePort.
Si non spécifié, un port aléatoire entre 30000-32767 sera alloué.
Si hors de la plage, le port ne sera pas exposé.

PersistenceConfig

PersistenceConfig spécifie les options pour persister les données etcd.

Apparaît Dans:

Champ Description Par défaut Validation

Le type spécifie le mode de persistance.

dynamique

storageClassName chaîne

StorageClassName est le nom de la classe de stockage à utiliser pour le PVC.
Ce champ n’est pertinent qu’en mode "dynamique".

storageRequestSize Quantité

StorageRequestSize est la taille demandée pour le PVC.
Ce champ n’est pertinent qu’en mode "dynamique".

2G

PersistenceMode

Type sous-jacent : chaîne

PersistenceMode est le mode de stockage d’un cluster.

Apparaît Dans:

PersistentVolumeClaimSyncConfig

PersistentVolumeClaimSyncConfig spécifie les options de synchronisation pour les services.

Apparaît Dans:

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

true

selector objet (clés:string, valeurs:string)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

PodSecurityAdmissionLevel

Type sous-jacent : chaîne

PodSecurityAdmissionLevel est le niveau de politique appliqué aux pods dans l’espace de noms.

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

Apparaît dans :

PriorityClassSyncConfig

PriorityClassSyncConfig spécifie les options de synchronisation pour les services.

Apparaît Dans:

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

false

selector objet (clés:chaîne, valeurs:chaîne)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

SecretMount

SecretMount définit un secret à monter dans les pods du serveur ou de l’agent, permettant des configurations personnalisées, des certificats ou d’autres données sensibles.

Apparaît Dans:

Champ Description Par défaut Validation

secretName chaîne

secretName est le nom du secret dans l’espace de noms du pod à utiliser.
Pour en savoir plus : https://kubernetes.io/docs/concepts/storage/volumes#secret

items KeyToPath tableau

éléments Si non spécifié, chaque paire clé-valeur dans le champ Données du
Secret sera projeté dans le volume sous forme de fichier dont le nom est le
la clé et le contenu sont la valeur. Si spécifié, les clés listées seront
projetées dans les chemins spécifiés, et les clés non listées ne le seront pas
présent. Si une clé est spécifiée qui n’est pas présente dans le Secret,
la configuration du volume générera une erreur à moins qu’elle ne soit marquée comme optionnelle. Les chemins doivent être
relatifs et ne peuvent pas contenir le chemin '..' ou commencer par '..'.

defaultMode entier

defaultMode est optionnel : bits de mode utilisés pour définir les permissions sur les fichiers créés par défaut.
Doit être une valeur octale entre 0000 et 0777 ou une valeur décimale entre 0 et 511.
YAML accepte à la fois des valeurs octales et décimales, JSON nécessite des valeurs décimales
pour les bits de mode. La valeur par défaut est 0644.
Les répertoires dans le chemin ne sont pas affectés par ce paramètre.
Cela pourrait entrer en conflit avec d’autres options qui affectent le fichier
mode, comme fsGroup, et le résultat peut être d’autres bits de mode définis.

optional booléen

le champ optionnel spécifie si le Secret ou ses clés doivent être définis

mountPath chaîne

MountPath est le chemin dans les pods du serveur et de l’agent où le
contenu du secret sera monté.

subPath chaîne

SubPath est un chemin optionnel dans le secret à monter au lieu de la racine.
Lorsque spécifié, seule la clé spécifiée du secret sera montée en tant que fichier
à MountPath, en gardant le répertoire parent modifiable.

role chaîne

Le rôle est le type du pod k3k qui sera utilisé pour monter le secret.
Cela peut être 'serveur', 'agent' ou 'tous' (pour les deux).

Enum : [serveur agent tous]

SecretSyncConfig

SecretSyncConfig spécifie les options de synchronisation pour les services.

Apparaît dans :

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

true

selector objet (clés:string, valeurs:string)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

ServiceSyncConfig

ServiceSyncConfig spécifie les options de synchronisation pour les services.

Apparaît dans :

Champ Description Par défaut Validation

enabled booléen

Enabled est un interrupteur marche/arrêt pour la synchronisation des ressources.

true

selector objet (clés:string, valeurs:string)

Selector spécifie un ensemble d’étiquettes des ressources qui seront synchronisées, si vide
alors toutes les ressources du type donné seront synchronisées.

SyncConfig

SyncConfig contiendra les ressources qui doivent être synchronisées du cluster virtuel au cluster hôte.

Apparaît dans :

Champ Description Par défaut Validation

Configuration de synchronisation des ressources de services.

{ enabled:true }

configMaps ConfigMapSyncConfig

Configuration de synchronisation des ressources de ConfigMaps.

{ enabled:true }

Configuration de synchronisation des ressources de secrets.

{ enabled:true }

ingresses IngressSyncConfig

Configuration de synchronisation des ressources d’Ingresses.

{ enabled:false }

persistentVolumeClaims PersistentVolumeClaimSyncConfig

Configuration de synchronisation des ressources de PersistentVolumeClaims.

{ enabled:true }

priorityClasses PriorityClassSyncConfig

Configuration de synchronisation des ressources de PriorityClasses.

{ enabled:false }

VirtualClusterPolicy

VirtualClusterPolicy permet de définir des configurations et des contraintes communes pour les clusters au sein d’une clusterpolicy.

Apparaît dans :

Champ Description Par défaut Validation

apiVersion chaîne

k3k.io/v1beta1

kind chaîne

VirtualClusterPolicy

metadata ObjectMeta

Consultez la documentation de l’API Kubernetes pour les champs de metadata.

Spec définit l’état souhaité de la VirtualClusterPolicy.

{ }

VirtualClusterPolicyList

VirtualClusterPolicyList est une liste de ressources VirtualClusterPolicy.

Champ Description Par défaut Validation

apiVersion chaîne

k3k.io/v1beta1

kind chaîne

VirtualClusterPolicyList

metadata ListMeta

Consultez la documentation de l’API Kubernetes pour les champs de metadata.

items VirtualClusterPolicy array

VirtualClusterPolicySpec

VirtualClusterPolicySpec définit l’état souhaité d’une VirtualClusterPolicy.

Apparaît dans :

Champ Description Par défaut Validation

Quota spécifie les limites de ressources pour les clusters au sein d’une clusterpolicy.

Limit spécifie le LimitRange qui sera appliqué à tous les pods au sein de la VirtualClusterPolicy
pour définir des valeurs par défaut et des contraintes (min/max)

defaultNodeSelector objet (clés:string, valeurs:string)

DefaultNodeSelector spécifie le sélecteur de nœuds qui s’applique à tous les clusters (serveur + agent) dans l’espace de noms cible.

defaultPriorityClass chaîne

DefaultPriorityClass spécifie le priorityClassName appliqué à tous les pods de tous les clusters dans l’espace de noms cible.

allowedMode ClusterMode

AllowedMode spécifie le mode de provisionnement de cluster autorisé. Par défaut, "shared".

shared

Enum : [partagé virtuel]

disableNetworkPolicy booléen

DisableNetworkPolicy indique s’il faut désactiver la création d’une stratégie réseau par défaut pour l’isolation des clusters.

podSecurityAdmissionLevel PodSecurityAdmissionLevel

PodSecurityAdmissionLevel spécifie le niveau d’admission de sécurité des pods appliqué aux pods dans l’espace de noms.

Enum : [privilégié de base restreint]

sync SyncConfig

Sync spécifie les types de ressources qui seront synchronisés du cluster virtuel vers le cluster hôte.

{ }