Configurar uma classe de armazenamento e PVC
Configure um objeto Kubernetes StorageClass e crie a classe de storage para instruir o Trident a provisionar volumes. Crie um PersistentVolumeClaim (PVC) que use o Kubernetes StorageClass configurado para solicitar acesso ao PV. Em seguida, pode montar o PV num pod.
Crie uma classe de armazenamento
Configurar um objeto Kubernetes StorageClass
O "Objeto Kubernetes StorageClass" objeto identifica o Trident como o provisionador usado para essa classe e instrui o Trident sobre como provisionar um volume. Use este exemplo para configurar o Storageclass para volumes usando NFS (consulte a seção Atributo Trident abaixo para obter a lista completa de atributos):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
provisioningType: "thin"
snapshots: "true"
Use este exemplo para configurar o Storageclass para volumes usando iSCSI:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
provisioningType: "thin"
snapshots: "true"
Para provisionar volumes NFSv3 no AWS Bottlerocket, adicione o necessário mountOptions
à classe de armazenamento:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
mountOptions:
- nfsvers=3
- nolock
"Objetos Kubernetes e Trident"Consulte para obter detalhes sobre como as classes de armazenamento interagem com os PersistentVolumeClaim
parâmetros e para controlar como o Trident provisiona volumes.
Crie uma classe de armazenamento
-
Esse é um objeto do Kubernetes, então use
kubectl
para criá-lo no Kubernetes.kubectl create -f storage-class-ontapnas.yaml
-
Agora você deve ver uma classe de armazenamento Basic-csi no Kubernetes e no Trident, e o Trident deve ter descoberto os pools no back-end.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Crie o PVC
Um "PersistentVolumeClaim" (PVC) é um pedido de acesso ao Persistentvolume no cluster.
O PVC pode ser configurado para solicitar o armazenamento de um determinado tamanho ou modo de acesso. Usando o StorageClass associado, o administrador do cluster pode controlar mais do que o Persistentvolume e o modo de acesso, como desempenho ou nível de serviço.
Depois de criar o PVC, você pode montar o volume em um pod.
Manifestos de amostra
PersistentVolumeClaim amostra manifestos
Estes exemplos mostram opções básicas de configuração de PVC.
Este exemplo mostra um PVC básico com acesso RWX associado a um StorageClass basic-csi
chamado .
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
Este exemplo mostra um PVC básico para iSCSI com acesso RWO que está associado a uma StorageClass denominada protection-gold
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Criar PVC
-
Crie o PVC.
kubectl create -f pvc.yaml
-
Verifique o estado do PVC.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
"Objetos Kubernetes e Trident"Consulte para obter detalhes sobre como as classes de armazenamento interagem com os PersistentVolumeClaim
parâmetros e para controlar como o Trident provisiona volumes.
Atributos do Trident
Esses parâmetros determinam quais pools de storage gerenciado pelo Trident devem ser utilizados para provisionar volumes de um determinado tipo.
Atributo | Tipo | Valores | Oferta | Pedido | Suportado por |
---|---|---|---|---|---|
1 |
cadeia de carateres |
hdd, híbrido, ssd |
Pool contém Mídia desse tipo; híbrido significa ambos |
Tipo de material especificado |
ONTAP-nas, ONTAP-nas-economy, ONTAP-nas-FlexGroup, ONTAP-san, SolidFire-san |
ProvisioningType |
cadeia de carateres |
fino, grosso |
O pool é compatível com esse método de provisionamento |
Método de provisionamento especificado |
thick: all ONTAP; thin: all ONTAP & SolidFire-san |
BackendType |
cadeia de carateres |
ONTAP-nas, ONTAP-nas-economy, ONTAP-nas-FlexGroup, ONTAP-san, SolidFire-san, gcp-cvs, azure-NetApp-files, ONTAP-san-economy |
Pool pertence a este tipo de backend |
Back-end especificado |
Todos os drivers |
instantâneos |
bool |
verdadeiro, falso |
O pool é compatível com volumes com snapshots |
Volume com instantâneos ativados |
ONTAP-nas, ONTAP-san, SolidFire-san, gcp-cvs |
clones |
bool |
verdadeiro, falso |
O pool é compatível com volumes de clonagem |
Volume com clones ativados |
ONTAP-nas, ONTAP-san, SolidFire-san, gcp-cvs |
criptografia |
bool |
verdadeiro, falso |
O pool é compatível com volumes criptografados |
Volume com encriptação ativada |
ONTAP-nas, ONTAP-nas-economy, ONTAP-nas-flexgroups, ONTAP-san |
IOPS |
int |
número inteiro positivo |
O pool é capaz de garantir IOPS nessa faixa |
Volume garantido estas operações de entrada/saída por segundo |
SolidFire-san |
1: Não suportado pelos sistemas ONTAP Select