Esta é uma documentação não divulgada para SUSE® Virtual Clusters v1.2.0 (Dev).

Referência da API

Problemas de

k3k.io/v1beta1

Addon

O addon especifica um Secret contendo YAML a ser implantado na inicialização do cluster.

Aparece em:

Campo Descrição Default Validação

secretNamespace string

SecretNamespace é o namespace do Secret.

secretRef string

SecretRef é o nome do Secret.

Cluster

Cluster define um cluster Kubernetes virtual gerenciado pelo k3k. Especifica o estado desejado de um cluster virtual, incluindo versão, configuração de nós e rede. O k3k usa isso para provisionar e gerenciar esses clusters virtuais.

Aparece em:

Campo Descrição Default Validação

apiVersion string

k3k.io/v1beta1

kind string

Cluster

metadata ObjectMeta

Consulte a documentação da API do Kubernetes para os campos de metadata.

Spec define o estado desejado do Cluster.

{ }

ClusterList

ClusterList é uma lista de recursos Cluster.

Campo Descrição Default Validação

apiVersion string

k3k.io/v1beta1

kind string

ClusterList

metadata ListMeta

Consulte a documentação da API do Kubernetes para os campos de metadata.

items Cluster array

ClusterMode

Tipo subjacente: string

ClusterMode é o modo de provisionamento possível de um Cluster.

Validação: - Enum: [shared virtual]

Aparece em:

ClusterPhase

Tipo subjacente: string

ClusterPhase é um resumo de alto nível do estado atual do ciclo de vida do cluster.

Aparece em:

ClusterSpec

ClusterSpec define o estado desejado de um cluster Kubernetes virtual.

Aparece em:

Campo Descrição Default Validação

version string

Versão é a versão do K3s a ser usada para os nós virtuais.
Deve seguir a convenção de versionamento do K3s (por exemplo, v1.28.2-k3s1).
Se não especificado, a versão do Kubernetes do nó host será usada.

Modo especifica o modo de provisionamento do cluster: "compartilhado" ou "virtual".
Padrão: "compartilhado". Este campo é imutável.

shared

Enum: [compartilhado virtual]

servers integer

Servidores especifica o número de pods K3s a serem executados em modo servidor (plano de controle).
Deve ser pelo menos 1. Padrão: 1.

1

agents integer

Agentes especifica o número de pods K3s a serem executados no modo agente (trabalhador).
Deve ser 0 ou maior. Padrão: 0.
Este campo é ignorado no modo "compartilhado".

0

clusterCIDR string

ClusterCIDR é o intervalo CIDR para IPs de pods.
Padrão: 10.42.0.0/16 no modo compartilhado e 10.52.0.0/16 no modo virtual.
Este campo é imutável.

serviceCIDR string

ServiceCIDR é o intervalo CIDR para IPs de serviços.
Padrão: 10.43.0.0/16 no modo compartilhado e 10.53.0.0/16 no modo virtual.
Este campo é imutável.

clusterDNS string

ClusterDNS é o endereço IP para o serviço CoreDNS.
Deve estar dentro do intervalo ServiceCIDR. Padrão: 10.43.0.10.
Este campo é imutável.

persistence PersistenceConfig

Persistência especifica opções para persistir dados do etcd.
Padrão: persistência dinâmica, que usa um PersistentVolumeClaim para fornecer persistência de dados.
Uma StorageClass padrão é necessária para persistência dinâmica.

expose ExposeConfig

Expose especifica opções para expor o servidor da API.
Por padrão, ele é exposto apenas como um ClusterIP.

nodeSelector object (keys:string, values:string)

NodeSelector especifica rótulos de nó para restringir onde os pods do servidor/agente são agendados.
No modo "compartilhado", isso também se aplica a cargas de trabalho.

priorityClass string

PriorityClass especifica o priorityClassName para pods de servidor/agente.
No modo "compartilhado", isso também se aplica a cargas de trabalho.

tokenSecretRef SecretReference

TokenSecretRef é uma referência de Secret contendo o token usado pelos nós trabalhadores para ingressar no cluster.
O Secret deve ter um campo "token" em seus dados.

tlsSANs array de string

TLSSANs especifica nomes alternativos de assunto para o certificado do servidor K3s.

serverArgs array de string

ServerArgs especifica pares de chave-valor ordenados para pods de servidor K3s.
Exemplo: ["--tls-san=example.com"]

agentArgs array de string

AgentArgs especifica pares de chave-valor ordenados para pods de agente K3s.
Exemplo: ["--node-name=my-agent-node"]

serverEnvs EnvVar array

ServerEnvs especifica uma lista de variáveis de ambiente a serem definidas no pod do servidor.

agentEnvs EnvVar array

AgentEnvs especifica uma lista de variáveis de ambiente a serem definidas no pod do agente.

addons Addon array

Addons especifica Secrets contendo YAML bruto para implantar na inicialização do cluster.

serverLimit ResourceList

ServerLimit especifica limites de recursos para nós de servidor.

workerLimit ResourceList

WorkerLimit especifica limites de recursos para nós de agente.

mirrorHostNodes booleano

MirrorHostNodes controla se os objetos de nó do cluster host
são espelhados no cluster virtual.

customCAs CustomCAs

CustomCAs especifica os pares de cert/key para certificados CA personalizados.

sync SyncConfig

Sync especifica os tipos de recursos que serão sincronizados do cluster virtual para o cluster host.

{ }

secretMounts SecretMount array

SecretMounts especifica uma lista de Secrets a serem montados nos pods do servidor e do agente.
Cada entrada define um Secret e seu caminho de montagem dentro dos pods.

ConfigMapSyncConfig

ConfigMapSyncConfig especifica as opções de sincronização para os serviços.

Aparece em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

true

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

CredentialSource

CredentialSource define de onde obter uma credencial. Pode representar um par de chaves TLS ou uma única chave privada.

Aparece em:

Campo Descrição Default Validação

secretName string

O Secret deve conter chaves específicas com base no tipo de credencial:
- Para pares de certificados TLS (por exemplo, ServerCA): tls.crt e tls.key.
- Para a chave de assinatura do ServiceAccountToken: tls.key.

CredentialSources

Fontes de Credenciais lista todas as credenciais necessárias, incluindo pares de chaves TLS e chaves de assinatura únicas.

Aparece em:

Campo Descrição Default Validação

serverCA CredentialSource

ServerCA especifica o par de cert/key do servidor-ca.

clientCA CredentialSource

ClientCA especifica o par de cert/key do client-ca.

requestHeaderCA CredentialSource

RequestHeaderCA especifica o par de cert/key do request-header-ca.

etcdServerCA CredentialSource

ETCDServerCA especifica o par de cert/key do etcd-server-ca.

etcdPeerCA CredentialSource

ETCDPeerCA especifica o par de cert/key do etcd-peer-ca.

serviceAccountToken CredentialSource

ServiceAccountToken especifica a chave do service-account-token.

CustomCAs

CAsPersonalizadas especifica os pares de cert/key para certificados CA personalizados.

Aparece em:

Campo Descrição Default Validação

enabled booleano

Habilitado ativa ou desativa este recurso.

true

Fontes define as fontes para todos os certificados CA personalizados necessários.

ExposeConfig

ExposeConfig especifica opções para expor o servidor da API.

Aparece em:

Campo Descrição Default Validação

ingress IngressConfig

Ingress especifica opções para expor o servidor da API através de um Ingress.

loadBalancer LoadBalancerConfig

LoadBalancer especifica opções para expor o servidor da API através de um serviço LoadBalancer.

nodePort NodePortConfig

NodePort especifica opções para expor o servidor da API através de NodePort.

IngressConfig

IngressConfig especifica opções para expor o servidor da API através de um Ingress.

Aparece em:

Campo Descrição Default Validação

annotations object (keys:string, values:string)

Anotações especifica anotações a serem adicionadas ao Ingress.

ingressClassName string

IngressClassName especifica a IngressClass a ser utilizada para o Ingress.

IngressSyncConfig

IngressSyncConfig especifica as opções de sincronização para serviços.

Aparece em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

falso

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

LoadBalancerConfig

LoadBalancerConfig especifica opções para expor o servidor da API através de um serviço LoadBalancer.

Aparece em:

Campo Descrição Default Validação

serverPort integer

ServerPort é a porta na qual o servidor K3s é exposto quando o tipo é LoadBalancer.
Se não especificado, a porta padrão https 443 será alocada.
Se 0 ou negativo, a porta não será exposta.

etcdPort integer

ETCDPort é a porta na qual o serviço ETCD é exposto quando o tipo é LoadBalancer.
Se não especificado, a porta padrão etcd 2379 será alocada.
Se 0 ou negativo, a porta não será exposta.

NodePortConfig

NodePortConfig especifica opções para expor o servidor da API através de NodePort.

Aparece em:

Campo Descrição Default Validação

serverPort integer

ServerPort é a porta em cada nó na qual o servidor K3s é exposto quando o tipo é NodePort.
Se não especificado, uma porta aleatória entre 30000-32767 será alocada.
Se estiver fora do intervalo, a porta não será exposta.

etcdPort integer

ETCDPort é a porta em cada nó na qual o serviço ETCD é exposto quando o tipo é NodePort.
Se não especificado, uma porta aleatória entre 30000-32767 será alocada.
Se estiver fora do intervalo, a porta não será exposta.

PersistenceConfig

PersistenceConfig especifica opções para persistir os dados do etcd.

Aparece em:

Campo Descrição Default Validação

O tipo especifica o modo de persistência.

dinâmico

storageClassName string

StorageClassName é o nome da StorageClass a ser usada para o PVC.
Este campo é relevante apenas no modo "dinâmico".

storageRequestSize Quantidade

StorageRequestSize é o tamanho solicitado para o PVC.
Este campo é relevante apenas no modo "dinâmico".

2G

PersistenceMode

Tipo subjacente: string

PersistenceMode é o modo de armazenamento de um Cluster.

Aparece em:

PersistentVolumeClaimSyncConfig

PersistentVolumeClaimSyncConfig especifica as opções de sincronização para os serviços.

Aparece em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

true

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

PodSecurityAdmissionLevel

Tipo subjacente: string

PodSecurityAdmissionLevel é o nível de política aplicado aos pods no namespace.

Validação: - Enum: [privileged baseline restricted]

Aparece em:

PriorityClassSyncConfig

PriorityClassSyncConfig especifica as opções de sincronização para os serviços.

Aparece em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

falso

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

SecretMount

SecretMount define um segredo a ser montado em pods de servidor ou agente, permitindo configurações personalizadas, certificados ou outros dados sensíveis.

Aparece em:

Campo Descrição Default Validação

secretName string

secretName é o nome do segredo no namespace do pod a ser utilizado.
Mais informações: https://kubernetes.io/docs/concepts/storage/volumes#secret

items KeyToPath array

itens: Se não especificado, cada par chave-valor no campo Data do Secret referenciado
O Secret será projetado no volume como um arquivo cujo nome é a
chave e o conteúdo é o valor. Se especificado, as chaves listadas serão
projetadas nos caminhos especificados, e as chaves não listadas não estarão
presentes. Se uma chave for especificada que não está presente no Secret,
a configuração do volume apresentará erro, a menos que seja marcada como opcional. Os caminhos devem ser
relativos e não podem conter o caminho '..' ou começar com '..'.

defaultMode integer

defaultMode é Opcional: bits de modo usados para definir permissões em arquivos criados por padrão.
Deve ser um valor octal entre 0000 e 0777 ou um valor decimal entre 0 e 511.
YAML aceita tanto valores octais quanto decimais, JSON requer valores decimais
para bits de modo. Padrão: 0644.
Diretórios dentro do caminho não são afetados por esta configuração.
Isso pode estar em conflito com outras opções que afetam o arquivo
modo, como fsGroup, e o resultado pode ser outros bits de modo definidos.

optional booleano

campo opcional especifica se o segredo ou suas chaves devem ser definidos

mountPath string

MountPath é o caminho dentro dos pods do servidor e do agente onde o
conteúdo do segredo será montado.

subPath string

SubPath é um caminho opcional dentro do segredo para montar em vez da raiz.
Quando especificado, apenas a chave especificada do segredo será montada como um arquivo
em MountPath, mantendo o diretório pai gravável.

role string

Role é o tipo do pod k3k que será usado para montar o segredo.
Isso pode ser 'servidor', 'agente' ou 'todos' (para ambos).

Enum: [servidor agente todos]

SecretSyncConfig

SecretSyncConfig especifica as opções de sincronização para serviços.

Apresenta em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

true

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

ServiceSyncConfig

ServiceSyncConfig especifica as opções de sincronização para serviços.

Apresenta em:

Campo Descrição Default Validação

enabled booleano

Enabled é um interruptor de ligar/desligar para sincronizar recursos.

true

selector object (keys:string, values:string)

Selector especifica um conjunto de rótulos dos recursos que serão sincronizados; se estiver vazio
então todos os recursos do tipo dado serão sincronizados.

SyncConfig

SyncConfig conterá os recursos que devem ser sincronizados do cluster virtual para o cluster host.

Apresenta em:

Campo Descrição Default Validação

Configuração de sincronização de recursos de serviços.

{ enabled:true }

configMaps ConfigMapSyncConfig

Configuração de sincronização de recursos de ConfigMaps.

{ enabled:true }

Configuração de sincronização de recursos de segredos.

{ enabled:true }

ingresses IngressSyncConfig

Configuração de sincronização de recursos de Ingresses.

{ enabled:false }

persistentVolumeClaims PersistentVolumeClaimSyncConfig

Configuração de sincronização de recursos de PersistentVolumeClaims.

{ enabled:true }

priorityClasses PriorityClassSyncConfig

Configuração de sincronização de recursos de PriorityClasses.

{ enabled:false }

VirtualClusterPolicy

VirtualClusterPolicy permite definir configurações e restrições comuns para clusters dentro de uma política de cluster.

Apresenta em:

Campo Descrição Default Validação

apiVersion string

k3k.io/v1beta1

kind string

VirtualClusterPolicy

metadata ObjectMeta

Consulte a documentação da API do Kubernetes para os campos de metadata.

Spec define o estado desejado da VirtualClusterPolicy.

{ }

VirtualClusterPolicyList

VirtualClusterPolicyList é uma lista de recursos de VirtualClusterPolicy.

Campo Descrição Default Validação

apiVersion string

k3k.io/v1beta1

kind string

VirtualClusterPolicyList

metadata ListMeta

Consulte a documentação da API do Kubernetes para os campos de metadata.

items VirtualClusterPolicy array

VirtualClusterPolicySpec

VirtualClusterPolicySpec define o estado desejado de uma VirtualClusterPolicy.

Apresenta em:

Campo Descrição Default Validação

Quota especifica os limites de recursos para clusters dentro de uma política de cluster.

Limit especifica o LimitRange que será aplicado a todos os pods dentro da VirtualClusterPolicy
para definir padrões e restrições (min/max)

defaultNodeSelector object (keys:string, values:string)

DefaultNodeSelector especifica o seletor de nós que se aplica a todos os clusters (servidor + agente) no Namespace de destino.

defaultPriorityClass string

DefaultPriorityClass especifica o priorityClassName aplicado a todos os pods de todos os clusters no Namespace de destino.

allowedMode ClusterMode

AllowedMode especifica o modo de provisionamento de cluster permitido. Padrão: "shared".

shared

Enum: [shared virtual]

disableNetworkPolicy booleano

DisableNetworkPolicy indica se deve desabilitar a criação de uma política de rede padrão para isolamento de cluster.

podSecurityAdmissionLevel PodSecurityAdmissionLevel

PodSecurityAdmissionLevel especifica o nível de admissão de segurança de pod aplicado aos pods no namespace.

Enum: [privileged baseline restricted]

sync SyncConfig

Sync especifica os tipos de recursos que serão sincronizados do cluster virtual para o cluster host.

{ }