|
这是尚未发布的文档。 SUSE® Virtual Clusters v1.2.0 (Dev). |
API 参考
k3k.io/v1beta1
附加
附加组件指定一个包含 YAML 的 Secret,在集群启动时部署。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
SecretNamespace 是 Secret 的名称空间。 |
||
|
SecretRef 是 Secret 的名称。 |
群集
集群定义了一个由 k3k 管理的虚拟 Kubernetes 集群。 它指定了虚拟集群的期望状态,包括版本、节点配置和网络。k3k 使用此信息来配置和管理这些虚拟集群。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
请参阅 Kubernetes API 文档以获取 |
||
|
规格定义了集群的期望状态。 |
{ } |
ClusterList
集群列表是集群资源的列表。
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
请参阅 Kubernetes API 文档以获取 |
||
|
ClusterSpec
ClusterSpec 定义了虚拟 Kubernetes 集群的期望状态。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
版本是用于虚拟节点的 K3s 版本。 |
||
|
模式指定集群配置模式:"共享" 或 "虚拟"。 |
shared |
枚举: [共享虚拟] |
|
服务器指定以服务器(控制平面)模式运行的 K3s pod 数量。 |
1 |
|
|
Agents 指定以代理(工作)模式运行的 K3s pod 数量。 |
0 |
|
|
ClusterCIDR 是 pod IP 的 CIDR 范围。 |
||
|
ServiceCIDR 是服务 IP 的 CIDR 范围。 |
||
|
ClusterDNS 是 CoreDNS 服务的 IP 地址。 |
||
|
Persistence 指定持久化 etcd 数据的选项。 |
||
|
Expose 指定暴露 API 服务器的选项。 |
||
|
NodeSelector 指定节点标签,以限制服务器/代理 Pod 的调度位置。 |
||
|
PriorityClass 指定服务器/代理 Pod 的 priorityClassName。 |
||
|
TokenSecretRef是一个包含工作节点用于加入集群的令牌的Secret引用。 |
||
|
TLSSANs指定K3s服务器证书的主题备用名称。 |
||
|
ServerArgs指定K3s服务器Pod的有序键值对。 |
||
|
AgentArgs指定K3s代理Pod的有序键值对。 |
||
|
ServerEnvs指定要在服务器Pod中设置的环境变量列表。 |
||
|
AgentEnvs指定要在代理Pod中设置的环境变量列表。 |
||
|
Addons指定包含原始YAML的 Secret,以便在集群启动时部署。 |
||
|
ServerLimit指定服务器节点的资源限制。 |
||
|
WorkerLimit指定代理节点的资源限制。 |
||
|
MirrorHostNodes 控制来自主集群的节点对象是否被镜像到虚拟集群中 |
||
|
CustomCAs 指定自定义 CA 证书的证书/密钥对。 |
||
|
Sync 指定将从虚拟集群同步到主集群的资源类型。 |
{ } |
|
|
SecretMounts指定要挂载到服务器和代理 Pod 的 Secret 列表。 |
ConfigMapSyncConfig
ConfigMapSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
true |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
CredentialSource
CredentialSource 定义从哪里获取凭证。 它可以表示一个 TLS 密钥对或一个单一的私钥。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Secret 必须包含基于凭证类型的特定键: |
CredentialSources
凭证来源列出了所有必需的凭证,包括 TLS 密钥对和单一签名密钥。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
ServerCA 指定服务器 CA 证书/密钥对。 |
||
|
ClientCA 指定客户端 CA 证书/密钥对。 |
||
|
RequestHeaderCA 指定请求头 CA 证书/密钥对。 |
||
|
ETCDServerCA 指定 etcd 服务器 CA 证书/密钥对。 |
||
|
ETCDPeerCA 指定 etcd 对等 CA 证书/密钥对。 |
||
|
ServiceAccountToken 指定服务账户令牌密钥。 |
自定义 CA
自定义 CA 指定自定义 CA 证书的证书/密钥对。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
启用切换此功能的开或关。 |
true |
|
|
来源定义所有必需的自定义 CA 证书的来源。 |
暴露配置
暴露配置指定暴露 API 服务器的选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Ingress 指定通过 Ingress 暴露 API 服务器的选项。 |
||
|
LoadBalancer 指定用于通过 LoadBalancer 服务公开 API 服务器的选项。 |
||
|
NodePort 指定用于通过 NodePort 公开 API 服务器的选项。 |
IngressConfig
IngressConfig 指定用于通过 Ingress 公开 API 服务器的选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Annotations 指定要添加到 Ingress 的注解。 |
||
|
IngressClassName 指定用于 Ingress 的 IngressClass。 |
IngressSyncConfig
IngressSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
false |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
LoadBalancerConfig
LoadBalancerConfig指定用于通过LoadBalancer服务公开API服务器的选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
ServerPort 是当类型为 LoadBalancer 时 K3s 服务器公开的端口。 |
||
|
ETCDPort 是当类型为 LoadBalancer 时 ETCD 服务公开的端口。 |
NodePortConfig
NodePortConfig 指定用于通过 NodePort 公开 API 服务器的选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
ServerPort 是当类型为 NodePort 时每个节点上 K3s 服务器公开的端口。 |
||
|
ETCDPort 是当类型为 NodePort 时每个节点上 ETCD 服务公开的端口。 |
PersistenceConfig
持久化配置指定用于持久化 etcd 数据的选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
类型指定持久化模式。 |
动态 |
|
|
StorageClassName 是用于 PVC 的 StorageClass 的名称。 |
||
|
StorageRequestSize 是 PVC 请求的大小。 |
2G |
PersistentVolumeClaimSyncConfig
PersistentVolumeClaimSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
true |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
PodSecurityAdmissionLevel
基础类型: 字符串
PodSecurityAdmissionLevel 是应用于命名空间中 Pod 的策略级别。
验证: - 枚举: [特权 基线 受限]
出现在:
PriorityClassSyncConfig
PriorityClassSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
false |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
SecretMount
SecretMount定义一个秘密,以便挂载到服务器或代理Pod中,允许自定义配置、证书或其他敏感数据。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
secretName 是要使用的、位于 Pod 命名空间中的 Secret 的名称。 |
||
|
项目:如果未指定,则引用的 Data 字段中的每个键值对。 |
||
|
defaultMode 是可选的:用于默认设置创建文件权限的模式位。 |
||
|
可选字段,指定是否必须定义 Secret 或其键。 |
||
|
MountPath 是服务器和代理 Pod 内的路径 |
||
|
SubPath 是密钥内的可选路径,用于替代 root 进行挂载。 |
||
|
Role 是将用于挂载密钥的 k3k Pod 类型。 |
枚举:[server agent all] |
SecretSyncConfig
SecretSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
true |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
ServiceSyncConfig
ServiceSyncConfig 指定服务的同步选项。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Enabled 是一个用于同步资源的开关。 |
true |
|
|
Selector 指定将被同步的资源的标签集,如果为空, |
SyncConfig
SyncConfig 将包含应从虚拟集群同步到主集群的资源。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
服务资源同步配置。 |
{ enabled:true } |
|
|
ConfigMaps 资源同步配置。 |
{ enabled:true } |
|
|
Secrets 资源同步配置。 |
{ enabled:true } |
|
|
Ingresses 资源同步配置。 |
{ enabled:false } |
|
|
PersistentVolumeClaims 资源同步配置。 |
{ enabled:true } |
|
|
优先级类资源同步配置。 |
{ enabled:false } |
VirtualClusterPolicy
VirtualClusterPolicy 允许为 clusterpolicy 中的集群定义共同的配置和约束。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
请参阅 Kubernetes API 文档以获取 |
||
Spec 定义了 VirtualClusterPolicy 的期望状态。 |
{ } |
VirtualClusterPolicyList
VirtualClusterPolicyList 是 VirtualClusterPolicy 资源的列表。
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
|
||
|
|
||
|
请参阅 Kubernetes API 文档以获取 |
||
|
VirtualClusterPolicySpec
VirtualClusterPolicySpec 定义了 VirtualClusterPolicy 的期望状态。
出现在:
| 字段 | 说明 | 默认值 | Validation |
|---|---|---|---|
|
Quota 指定了 ClusterPolicy 内集群的资源限制。 |
||
|
Limit 指定将应用于 VirtualClusterPolicy 中所有 Pod 的 LimitRange。 |
||
|
DefaultNodeSelector 指定适用于目标名称空间中所有集群(服务器 + 代理)的节点选择器。 |
||
|
DefaultPriorityClass 指定适用于目标名称空间中所有集群的所有 Pod 的 priorityClassName。 |
||
|
AllowedMode 指定允许的集群配置模式。默认为 "shared"。 |
shared |
枚举: [shared virtual] |
|
DisableNetworkPolicy 指示是否禁用为集群隔离创建默认网络策略。 |
||
|
PodSecurityAdmissionLevel 指定适用于名称空间中 Pod 的 Pod 安全准入级别。 |
枚举:[privileged baseline restricted] |
|
|
Sync 指定将从虚拟集群同步到主集群的资源类型。 |
{ } |