Personalize os nomes e rótulos dos volumes.
Com o Trident, você pode atribuir nomes e rótulos significativos aos volumes que criar. Isso ajuda você a identificar e mapear facilmente os volumes aos seus respectivos recursos do Kubernetes (PVCs). Você também pode definir modelos no nível do backend para criar nomes de volume e rótulos personalizados; quaisquer volumes que você criar, importar ou clonar seguirão os modelos.
Antes de começar
Suporte para nomes e rótulos de volume personalizáveis:
-
Operações de criação, importação e clonagem de volumes.
-
No caso do driver ontap-nas-economy, apenas o nome do volume Qtree está em conformidade com o modelo de nome.
-
No caso do driver ontap-san-economy, apenas o nome LUN está em conformidade com o modelo de nome.
Limitações
-
Os nomes de volume personalizáveis são compatíveis apenas com drivers ONTAP locais.
-
Os nomes de volume personalizáveis não se aplicam a volumes existentes.
Principais comportamentos dos nomes de volume personalizáveis
-
Se ocorrer uma falha devido a uma sintaxe inválida em um modelo de nome, a criação do backend falhará. No entanto, se a aplicação do modelo falhar, o volume será nomeado de acordo com a convenção de nomenclatura existente.
-
O prefixo de armazenamento não se aplica quando um volume é nomeado usando um modelo de nome da configuração do backend. Qualquer valor de prefixo desejado pode ser adicionado diretamente ao modelo.
Exemplos de configuração de backend com modelo de nome e rótulos
É possível definir modelos de nomes personalizados no nível raiz e/ou no nível do pool.
{
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "ontap-nfs-backend",
"managementLIF": "<ip address>",
"svm": "svm0",
"username": "<admin>",
"password": "<password>",
"defaults": {
"nameTemplate": "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.volume.RequestName}}"
},
"labels": {
"cluster": "ClusterA",
"PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"
}
}
{
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "ontap-nfs-backend",
"managementLIF": "<ip address>",
"svm": "svm0",
"username": "<admin>",
"password": "<password>",
"useREST": true,
"storage": [
{
"labels": {
"labelname": "label1",
"name": "{{ .volume.Name }}"
},
"defaults": {
"nameTemplate": "pool01_{{ .volume.Name }}_{{ .labels.cluster }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
}
},
{
"labels": {
"cluster": "label2",
"name": "{{ .volume.Name }}"
},
"defaults": {
"nameTemplate": "pool02_{{ .volume.Name }}_{{ .labels.cluster }}_{{ .volume.Namespace }}_{{ .volume.RequestName }}"
}
}
]
}
Exemplos de modelos de nome
Exemplo 1:
"nameTemplate": "{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ .config.BackendName }}"
Exemplo 2:
"nameTemplate": "pool_{{ .config.StoragePrefix }}_{{ .volume.Name }}_{{ slice .volume.RequestName 1 5 }}""
Pontos a considerar
-
No caso de importações em volume, os rótulos são atualizados somente se o volume existente possuir rótulos em um formato específico. Por exemplo:
{"provisioning":{"Cluster":"ClusterA", "PVC": "pvcname"}}. -
No caso de importações de volumes gerenciados, o nome do volume segue o modelo de nome definido no nível raiz na definição do backend.
-
O Trident não suporta o uso de um operador de fatiamento com o prefixo de armazenamento.
-
Se os modelos não resultarem em nomes de volume exclusivos, o Trident acrescentará alguns caracteres aleatórios para criar nomes de volume exclusivos.
-
Se o nome personalizado para um volume econômico do NAS exceder 64 caracteres, o Trident nomeará os volumes de acordo com a convenção de nomenclatura existente. Para todos os outros drivers ONTAP , se o nome do volume exceder o limite de nomes, o processo de criação do volume falhará.