これは未公開の文書です SUSE® Virtual Clusters v1.2.0 (Dev).

APIリファレンス

パッケージ

k3k.io/v1beta1

アドオン

アドオンは、クラスター起動時にデプロイされるYAMLを含むシークレットを指定します。

表示される:

フィールド 説明 デフォルト 検証

secretNamespace string

SecretNamespaceはシークレットのネームスペースです。

secretRef string

SecretRefはシークレットの名前です。

クラスタ

クラスターはk3kによって管理される仮想Kubernetesクラスターを定義します。 これは、バージョン、ノード構成、ネットワーキングを含む仮想クラスターの望ましい状態を指定します。k3kはこれを使用して、これらの仮想クラスターをプロビジョニングおよび管理します。

表示される:

フィールド 説明 デフォルト 検証

apiVersion string

k3k.io/v1beta1

kind string

Cluster

metadata ObjectMeta

`metadata`のフィールドについてはKubernetes APIドキュメントを参照してください。

Specはクラスターの望ましい状態を定義します。

{ }

クラスターリスト

クラスターリストはクラスターリソースのリストです。

フィールド 説明 デフォルト 検証

apiVersion string

k3k.io/v1beta1

kind string

ClusterList

metadata ListMeta

`metadata`のフィールドについてはKubernetes APIドキュメントを参照してください。

items Cluster 配列

ClusterMode

基礎となるタイプ: 文字列

クラスターモードはクラスターの可能なプロビジョニングモードです。

検証: - 列挙: [共有仮想]

表示される:

ClusterPhase

基礎となるタイプ: 文字列

クラスター・フェーズは、クラスターの現在のライフサイクルの高レベルの要約です。

表示される:

ClusterSpec

クラスター仕様は、仮想Kubernetesクラスターの望ましい状態を定義します。

表示される:

フィールド 説明 デフォルト 検証

version string

バージョンは、仮想ノードに使用するK3sのバージョンです。
K3sのバージョン管理規則に従う必要があります(例:v1.28.2-k3s1)。
指定されていない場合、ホストノードのKubernetesバージョンが使用されます。

モードは、クラスターのプロビジョニングモードを指定します:"shared"または"virtual"。
デフォルトは"shared"です。このフィールドは不変です。

shared

列挙: [shared virtual]

servers 整数

サーバーは、サーバー(コントロールプレーン)モードで実行するK3sポッドの数を指定します。
少なくとも1でなければなりません。デフォルトは1です。

1

agents 整数

エージェントは、エージェント(ワーカー)モードで実行するK3sポッドの数を指定します。
0以上でなければなりません。デフォルトは0です。
このフィールドは"shared"モードでは無視されます。

0

clusterCIDR string

ClusterCIDRは、ポッドIPのCIDR範囲です。
"shared"モードでは10.42.0.0/16、"virtual"モードでは10.52.0.0/16がデフォルトです。
このフィールドは不変です。

serviceCIDR string

ServiceCIDRはサービスIPのCIDR範囲です。
"shared"モードでは10.43.0.0/16、"virtual"モードでは10.53.0.0/16がデフォルトです。
このフィールドは不変です。

clusterDNS string

ClusterDNSはCoreDNSサービスのIPアドレスです。
ServiceCIDR範囲内である必要があります。デフォルトは10.43.0.10です。
このフィールドは不変です。

persistence PersistenceConfig

Persistenceはetcdデータを永続化するためのオプションを指定します。
デフォルトは動的永続化で、PersistentVolumeClaimを使用してデータの永続化を提供します。
動的永続化にはデフォルトのStorageClassが必要です。

expose ExposeConfig

ExposeはAPIサーバーを公開するためのオプションを指定します。
デフォルトでは、ClusterIPとしてのみ公開されます。

nodeSelector object (keys:string, values:string)

NodeSelectorはサーバー/エージェントポッドがスケジュールされるノードラベルを指定します。
"shared"モードでは、これもワークロードに適用されます。

priorityClass string

PriorityClassはサーバー/エージェントポッドのpriorityClassNameを指定します。
"shared"モードでは、これもワークロードに適用されます。

tokenSecretRef SecretReference

TokenSecretRefは、ワーカーノードがクラスターに参加するために使用するトークンを含むSecret参照です。
Secretにはデータに「token」フィールドが必要です。

tlsSANs string array

TLSSANsはK3sサーバー証明書のサブジェクト代替名を指定します。

serverArgs string array

ServerArgsはK3sサーバーポッドのための順序付きキー-バリューペアを指定します。
例: ["--tls-san=example.com"]

agentArgs string array

AgentArgsはK3sエージェントポッドのための順序付きキー-バリューペアを指定します。
Example: ["--node-name=my-agent-node"]

serverEnvs EnvVar array

ServerEnvsはサーバーポッドに設定する環境変数のリストを指定します。

agentEnvs EnvVar array

AgentEnvsはエージェントポッドに設定する環境変数のリストを指定します。

addons Addon 配列

Addonsはクラスター起動時にデプロイする生のYAMLを含むシークレットを指定します。

serverLimit ResourceList

ServerLimitはサーバーノードのリソース制限を指定します。

workerLimit ResourceList

WorkerLimitはエージェントノードのリソース制限を指定します。

mirrorHostNodes ブール値

MirrorHostNodesはホストクラスターからのノードオブジェクトが
仮想クラスターにミラーリングされるかどうかを制御します。

customCAs CustomCAs

CustomCAsはカスタムCA証明書のための証明書/鍵ペアを指定します。

sync SyncConfig

Syncは仮想クラスターからホストクラスターに同期されるリソースタイプを指定します。

{ }

secretMounts SecretMount 配列

SecretMountsはサーバーおよびエージェントポッドにマウントするシークレットのリストを指定します。
各エントリは、シークレットとそのポッド内のマウントパスを定義します。

ConfigMapSyncConfig

ConfigMapSyncConfigは、サービスの同期オプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled ブール値

Enabledは、リソースの同期のオン/オフスイッチです。

true

selector object (keys:string, values:string)

Selectorは、同期されるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースが同期されます。

CredentialSource

CredentialSourceは、資格情報を取得する場所を定義します。 それは、TLSキーペアまたは単一の秘密鍵のいずれかを表すことができます。

表示される:

フィールド 説明 デフォルト 検証

secretName string

秘密は、資格情報のタイプに基づいて特定のキーを含む必要があります:
- TLS証明書ペアの場合(例:ServerCA):tls.crt`および`tls.key
- ServiceAccountToken署名キーの場合:tls.key.

CredentialSources

CredentialSourcesは、TLSキーペアと単一の署名キーの両方を含む、必要なすべての資格情報をリストします。

表示される:

フィールド 説明 デフォルト 検証

serverCA CredentialSource

ServerCAは、server-ca証明書/鍵ペアを指定します。

clientCA CredentialSource

ClientCAは、client-ca証明書/鍵ペアを指定します。

requestHeaderCA CredentialSource

RequestHeaderCAは、request-header-ca証明書/鍵ペアを指定します。

etcdServerCA CredentialSource

ETCDServerCAは、etcd-server-ca証明書/鍵ペアを指定します。

etcdPeerCA CredentialSource

ETCDPeerCAは、etcd-peer-ca証明書/鍵ペアを指定します。

serviceAccountToken CredentialSource

ServiceAccountTokenは、service-account-tokenキーを指定します。

CustomCAs

カスタムCA証明書のための証明書/鍵ペアを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled ブール値

有効にすると、この機能がオンまたはオフになります。

true

ソースは、すべての必要なカスタムCA証明書のソースを定義します。

ExposeConfig

ExposeConfigは、APIサーバーを公開するためのオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

ingress IngressConfig

Ingressは、Ingressを通じてAPIサーバーを公開するためのオプションを指定します。

loadBalancer LoadBalancerConfig

LoadBalancerは、LoadBalancerサービスを通じてAPIサーバーを公開するためのオプションを指定します。

nodePort NodePortConfig

NodePortは、NodePortを通じてAPIサーバーを公開するためのオプションを指定します。

IngressConfig

IngressConfigは、Ingressを通じてAPIサーバーを公開するためのオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

annotations object (keys:string, values:string)

Annotationsは、Ingressに追加するアノテーションを指定します。

ingressClassName string

IngressClassNameは、Ingressに使用するIngressClassを指定します。

IngressSyncConfig

IngressSyncConfigは、サービスのsyncオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled ブール値

Enabledは、リソースのsyncのオン/オフスイッチです。

false

selector object (keys:string, values:string)

Selectorは、syncされるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースがsyncされます。

LoadBalancerConfig

LoadBalancerConfigは、LoadBalancerサービスを通じてAPIサーバーを公開するためのオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

serverPort 整数

ServerPortは、タイプがLoadBalancerのときにK3sサーバーが公開されるポートです。
指定されていない場合、デフォルトのhttps 443ポートが割り当てられます。
0または負の値の場合、ポートは公開されません。

etcdPort 整数

ETCDPortは、タイプがLoadBalancerのときにETCDサービスが公開されるポートです。
指定されていない場合、デフォルトのetcd 2379ポートが割り当てられます。
0または負の値の場合、ポートは公開されません。

NodePortConfig

NodePortConfigは、NodePortを通じてAPIサーバーを公開するためのオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

serverPort 整数

ServerPortは、NodePortタイプのときにK3sサーバーが公開される各ノードのポートです。
指定されていない場合、30000から32767の間のランダムなポートが割り当てられます。
範囲外の場合、ポートは公開されません。

etcdPort 整数

ETCDPortは、NodePortタイプのときにETCDサービスが公開される各ノードのポートです。
指定されていない場合、30000から32767の間のランダムなポートが割り当てられます。
範囲外の場合、ポートは公開されません。

PersistenceConfig

PersistenceConfigは、etcdデータを永続化するためのオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

Typeは、永続化モードを指定します。

ダイナミック

storageClassName string

StorageClassNameは、PVCに使用するStorageClassの名前です。
このフィールドは「動的」モードでのみ関連します。

storageRequestSize Quantity

StorageRequestSizeは、PVCの要求サイズです。
このフィールドは「動的」モードでのみ関連します。

2G

PersistenceMode

基礎となるタイプ: 文字列

PersistenceModeは、クラスターのストレージモードです。

表示される:

PersistentVolumeClaimSyncConfig

PersistentVolumeClaimSyncConfigは、サービスのsyncオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled ブール値

Enabledは、リソースのsyncのオン/オフスイッチです。

true

selector object (keys:string, values:string)

Selectorは、syncされるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースがsyncされます。

PodSecurityAdmissionLevel

基礎となるタイプ: 文字列

PodSecurityAdmissionLevelは、名前空間内のポッドに適用されるポリシーレベルです。

Validation: - Enum: [privileged baseline restricted]

表示される:

PriorityClassSyncConfig

PriorityClassSyncConfigは、サービスのsyncオプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled ブール値

Enabledは、リソースの同期のオン/オフスイッチです。

false

selector object (keys:string, values:string)

Selectorは、syncされるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースがsyncされます。

SecretMount

SecretMountは、サーバーまたはエージェントポッドにシークレットをマウントし、カスタム設定、証明書、その他の機密データを利用できるように定義します。

表示される:

フィールド 説明 デフォルト 検証

secretName string

secretNameは、ポッドのネームスペースで使用するシークレットの名前です。
その他の情報: https://kubernetes.io/docs/concepts/storage/volumes#secret

items KeyToPath array

items: 未指定の場合、参照されたデータフィールド内の各キーと値のペアが
Secretは、名前がキーで内容が値のファイルとしてボリュームに投影されます。
キーがファイル名、内容が値となります。指定された場合、リストされたキーは
指定されたパスに投影され、リストされていないキーは投影されません。
存在しません。Secretに存在しないキーが指定された場合、
Secretに存在しないキーが指定された場合、ボリュームのセットアップは、オプションとしてマークされていない場合にエラーとなります。相対的でなければならず、'..'パスを含むことや'..'で始まることはできません。
相対的でなければならず、「..」パスを含むことや「..」で始まることはできません。

defaultMode 整数

defaultModeは任意のフィールドで、作成されたファイルのパーミッションを設定するためのモードビットを指定します。
値は、0000から0777の間の8進数値、または0から511の間の10進数値でなければなりません。
YAMLでは8進数値と10進数値の両方が受け入れられますが、JSONでは10進数値が要求されます。
これはモードビットのための指定です。デフォルトは0644です。
パス内のディレクトリはこの設定の影響を受けません。
これは、ファイルに影響を与える他のオプションと競合する可能性があります。
モードはfsGroupなどの他のファイルモード設定と競合する場合があり、その結果、他のモードビットが設定されることもあります。

optional ブール値

オプションのフィールドは、Secretまたはそのキーが定義される必要があるかどうかを指定します。

mountPath string

MountPathは、サーバーおよびエージェントポッド内のパスです。
シークレットの内容がマウントされます。

subPath string

SubPathは、ルートの代わりにマウントするためのシークレット内のオプションのパスです。
指定された場合、シークレットから指定されたキーのみがファイルとしてマウントされます。
MountPathで、親ディレクトリは書き込み可能のままです。

role string

Roleは、シークレットをマウントするために使用されるk3kポッドのタイプです。
これは「server」、「agent」、または「all」(両方のため)です。

列挙: [server agent all]

SecretSyncConfig

SecretSyncConfigは、サービスの同期オプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled boolean

Enabledは、リソースの同期のオン/オフスイッチです。

true

selector object (keys:string, values:string)

Selectorは、同期されるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースが同期されます。

ServiceSyncConfig

ServiceSyncConfigは、サービスの同期オプションを指定します。

表示される:

フィールド 説明 デフォルト 検証

enabled boolean

Enabledは、リソースの同期のオン/オフスイッチです。

true

selector object (keys:string, values:string)

Selectorは、同期されるリソースのラベルのセットを指定します。空の場合、
指定されたタイプのすべてのリソースが同期されます。

SyncConfig

SyncConfigは、仮想クラスターからホストクラスターに同期されるべきリソースを含みます。

表示される:

フィールド 説明 デフォルト 検証

サービスリソースの同期設定。

{ enabled:true }

configMaps ConfigMapSyncConfig

ConfigMapsリソースの同期設定。

{ enabled:true }

Secretsリソースの同期設定。

{ enabled:true }

ingresses IngressSyncConfig

Ingressesリソースの同期設定。

{ enabled:false }

persistentVolumeClaims PersistentVolumeClaimSyncConfig

PersistentVolumeClaimsリソースの同期設定。

{ enabled:true }

priorityClasses PriorityClassSyncConfig

PriorityClassesリソースの同期設定。

{ enabled:false }

VirtualClusterPolicy

VirtualClusterPolicyは、クラスター・ポリシー内のクラスターに対して共通の構成と制約を定義するためのものです。

表示される:

フィールド 説明 デフォルト 検証

apiVersion string

k3k.io/v1beta1

kind string

VirtualClusterPolicy

metadata ObjectMeta

`metadata`のフィールドについてはKubernetes APIドキュメントを参照してください。

Specは、VirtualClusterPolicyの望ましい状態を定義します。

{ }

VirtualClusterPolicyList

VirtualClusterPolicyListは、VirtualClusterPolicyリソースのリストです。

フィールド 説明 デフォルト 検証

apiVersion string

k3k.io/v1beta1

kind string

VirtualClusterPolicyList

metadata ListMeta

`metadata`のフィールドについてはKubernetes APIドキュメントを参照してください。

items VirtualClusterPolicy array

VirtualClusterPolicySpec

VirtualClusterPolicySpecは、VirtualClusterPolicyの望ましい状態を定義します。

表示される:

フィールド 説明 デフォルト 検証

Quotaは、クラスター・ポリシー内のクラスターに対するリソース制限を指定します。

Limitは、VirtualClusterPolicy内のすべてのポッドに適用されるLimitRangeを指定します。
デフォルト値と制約(最小値/最大値)を設定するためのものです。

defaultNodeSelector object (keys:string, values:string)

DefaultNodeSelectorは、ターゲットネームスペース内のすべてのクラスター(サーバー + エージェント)に適用されるノードセレクターを指定します。

defaultPriorityClass string

DefaultPriorityClassは、ターゲットネームスペース内のすべてのクラスターのすべてのポッドに適用されるpriorityClassNameを指定します。

allowedMode ClusterMode

AllowedModeは、許可されるクラスターのプロビジョニングモードを指定します。デフォルトは「shared」です。

shared

列挙: [shared virtual]

disableNetworkPolicy boolean

DisableNetworkPolicyは、クラスターの分離のためにデフォルトのネットワークポリシーの作成を無効にするかどうかを示します。

podSecurityAdmissionLevel PodSecurityAdmissionLevel

PodSecurityAdmissionLevelは、ネームスペース内のポッドに適用されるポッドセキュリティの入場レベルを指定します。

列挙: [privileged baseline restricted]

sync SyncConfig

Syncは仮想クラスターからホストクラスターに同期されるリソースタイプを指定します。

{ }