|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Visão Geral dos Modelos de Rótulos
Elemental permite especificar modelos de rótulos nas seções spec.machineInventoryLabels e spec.machineInventoryAnnotations dos recursos MachineRegistration.
O formato deles é o canônico key:value usado em rótulos e anotações do Kubernetes.
Esses modelos de rótulos são convertidos em rótulos e anotações reais anexados a cada recurso MachineInventory criado durante a fase de integração da máquina.
Os rótulos e anotações resultantes têm o mesmo key formato do modelo de rótulo.
O value associado é gerado:
-
renderizando o
label template variables(se presente) -
sanitizingo valor resultante (no caso dos rótulos apenas)
|
A funcionalidade de modelagem do Elemental cobre também o campo MachineRegistration Veja a seção Nome da Máquina para mais detalhes. |
Variáveis dos Modelos de Rótulos
A Modelagem de Rótulos do Elemental inclui um conjunto de variáveis predefinidas que podem ser usadas dentro do value dos modelos de rótulos especificados no MachineRegistration.
A sintaxe usada para especificar as variáveis dos modelos de rótulos é:
${ VARFAMILY \/ VARPATH }
onde VARFAMILY define um grupo (família) de variáveis suportadas e VARPATH define o nome da variável real dentro do grupo familiar ao qual pertence.
Atualmente, o Elemental suporta as seguintes famílias de variáveis de modelo:
-
BIOS: ${ BIOS \/ VARPATH }
-
Placa Mãe: ${ Placa Mãe \/ VARPATH }
-
CPU: ${ CPU \/ VARPATH }
-
Chassi: ${ Chassi \/ VARPATH }
-
GPU: ${ GPU \/ VARPATH }
-
Memória: ${ Memória \/ VARPATH }
-
Rede: ${ Rede \/ VARPATH }
-
Produto: ${ Produto \/ VARPATH }
-
Runtime: ${ Runtime \/ VARPATH }
-
Armazenamento: ${ Armazenamento \/ VARPATH }
|
Todas as famílias de variáveis de template (exceto `Random`) estão habilitadas apenas se o campo MachineRegistration estiver definido como Quando o campo As variáveis Aleatórias estão sempre disponíveis, pois são incorporadas no lado do operador. Elas também são especiais, pois são calculadas apenas uma vez: veja a seção Variáveis de Template Aleatórias para mais detalhes. |
As variáveis de template podem ser misturadas com texto estático para formar os rótulos reais atribuídos a (Inventários de Máquinas).
|
Exemplos de Renderização
|
Sanitização
Uma vez que o valor do modelo de etiqueta tenha sido renderizado de acordo com as variáveis do modelo de etiqueta incluídas variáveis do modelo de etiqueta, o valor resultante é sanitized antes de ser atribuído à etiqueta resultante.
O sanitization impõe que o valor da etiqueta contenha apenas letras (maiúsculas ou não), números e os caracteres hífen (-), ponto (.) e sublinhado (_):
Todos os caracteres não incluídos são substituídos por um hífen.
Qualquer caractere no início e no final do valor da etiqueta deve ser uma letra ou um número. Se não for, ele é descartado.
Dois hífens consecutivos são substituídos por um só.
|
Exemplo de Renderização
|
Uso de Modelos de Rótulos
Os Modelos de Rótulos permitem anexar e atualizar automaticamente rótulos e anotações a cada Inventário de Máquinas de host sempre que um host se registra no Elemental Operator.
|
O registro acontece não apenas durante a fase de integração: cada host se registra novamente a cada 30 minutos (e toda vez que reinicia). Durante o novo registro, os Modelos de Rótulos no MachineRegistration são reavaliados e adicionados/atualizados no Inventário de Máquinas. |
Basicamente, existem três casos principais em que os Modelos de Rótulos podem ser úteis:
-
para anexar dados de hardware ao Catálogo Elemental.
-
para adicionar seletores para escolher hosts para Provisionamento de Cluster.
-
para definir um modelo personalizado para os Nomes das Máquinas.
Dados de hardware para o catálogo Elemental
As variáveis dos Modelos de Rótulos podem ser usadas para anexar dados de hardware a cada recurso Inventário de Máquinas (que formam o Catálogo Elemental).
Neste caso, anotações podem ser uma escolha melhor, pois seus valores não são sanitizados.
Seletores para Provisionamento de Cluster
O Label Templates pode ser usado para gerar rótulos utilizados para identificar e selecionar máquinas com propriedades de hardware especiais para formar novos Clusters Kubernetes.
Os rótulos anexados a cada Inventário de Máquinas são elegíveis para seletor para o recurso Modelo Seletor de Inventário de Máquinas (veja a seção provisionamento de Cluster Kubernetes para mais detalhes).
Nomes de Máquinas Personalizados
O nome do host da máquina em integração pode ser especificado usando o campo MachineRegistration spec.machineName.
O valor spec.machineName passa pelos mesmos processos de Label Templates' variables e sanitization reservados para o campo spec.machineInventoryLabels.
|
Há uma diferença notável entre os campos MachineRegistration |
Para mais informações sobre como definir o nome do host para hosts Elemental, veja a seção HowTo/Customize hostname.
|
Exemplo de Renderização
|