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 Persistentvolume (PV) e 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" identifica o Trident como o provisionador usado para essa classe instrui o Trident a provisionar um volume. Por exemplo:
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"
"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 PV e o PVC
A "Persistentvolume" (PV) é um recurso de armazenamento físico provisionado pelo administrador de cluster em um cluster do Kubernetes. O "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 PV e o PVC, você pode montar o volume em um pod.
Manifestos de amostra
Persistentvolume Sample MANIFEST
Este manifesto de exemplo mostra um PV básico de 10Gi que está associado ao StorageClass . basic-csi
apiVersion: v1 kind: PersistentVolume metadata: name: pv-storage labels: type: local spec: storageClassName: basic-csi capacity: storage: 10Gi accessModes: - ReadWriteMany hostPath: path: "/my/host/path"
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: basic-csi
Este exemplo mostra um PVC básico para NVMe/TCP com acesso RWO associado a um StorageClass protection-gold
chamado .
--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-san-nvme spec: accessModes: - ReadWriteOnce resources: requests: storage: 300Mi storageClassName: protection-gold
Crie o PV e o PVC
-
Crie o PV.
kubectl create -f pv.yaml
-
Verifique o estado do PV.
kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv-storage 4Gi RWO Retain Available 7s
-
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