StorageClass
Todo Cluster Kubernetes na Magalu Cloud possui um StorageClass padrão, permitindo a configuração de provisionamento de volumes no seu Cluster de maneira dinâmica.
Clique aqui para mais informações sobre as versões de plataforma do produto de Kubernetes.
v3
Na versão v3 de plataforma do do produto de Kubernetes, o StorageClass padrão é nomeada mgc-csi-magalu-sc e suas informações podem ser consultadas com o comando abaixo:
kubectl describe storageclass mgc-csi-magalu-sc
Name: mgc-csi-magalu-sc
IsDefaultClass: Yes
Annotations: meta.helm.sh/release-name=mgc-csi,meta.helm.sh/release-namespace=kube-system,storageclass.kubernetes.io/is-default-class=true
Provisioner: block.csi.magalu.cloud
Parameters: type=cloud_nvme20k
AllowVolumeExpansion: True
MountOptions: <none>
ReclaimPolicy: Retain
VolumeBindingMode: WaitForFirstConsumer
O campo Parameters permite a customização do Volume criado. Vejas as opções de parâmetros para integração com o serviço de Block Storage da Magalu Cloud aqui.
Por padrão, a política de retenção (ReclaimPolicy) de um volume é Retain. Isso implica que, ao deletar um PersistentVolumeClaim (PVC), o volume correspondente no serviço de Block Storage não será removido e estará sujeito a cobranças. Para conhecer outras opções de ReclaimPolicy, consulte a documentação do Kubernetes.
Ao utilizar o valor WaitForFirstConsumer no campo VolumeBindingMode de um PersistentVolumeClaim (PVC), o volume correspondente no serviço de Block Storage na Magalu Cloud não é provisionado imediatamente após a criação do PVC. A criação do volume ocorrerá somente quando um Pod for provisionado. Isso é necessário para que o Kubernetes determine em qual zona de disponibilidade (AZ) o Pod será agendado e, consequentemente, em qual AZ o volume deverá ser criado, visto que volumes só podem ser anexados a máquinas na mesma AZ. Embora a documentação do Kubernetes apresente outras opções para o VolumeBindingMode, o uso de WaitForFirstConsumer é altamente recomendado em ambientes com múltiplas zonas de disponibilidade. Caso seja optado o valor de Immediate, todos os volumes serão criados, por padrão, na zona de disponibilidade a.
Qualquer alteração no StorageClass padrão será sobrescrito. Caso necessário, crie um novo StorageClass com as configurações desejadas.
O StorageClass criado automaticamente pelo produto de Kubernetes da Magalu Cloud é definido como padrão utilizando a Annotation storageclass.kubernetes.io/is-default-class com valor true. Para mais informações, consulte a documentação oficial do Kubernetes.
Caso removida, a Annotation será adicionada novamente ao StorageClass.
v1
Na versão v1 de plataforma do produto de Kubernetes, o StorageClass padrão é nomeada cinder-storageclass e suas informações podem ser consultadas com o comando abaixo:
kubectl describe storageclasses.storage.k8s.io cinder-storageclass
Name: cinder-storageclass
IsDefaultClass: Yes
Annotations: storageclass.kubernetes.io/is-default-class=true
Provisioner: cinder.csi.openstack.org
Parameters: availability=nova,type=cloud_nvme5k
AllowVolumeExpansion: True
MountOptions: <none>
ReclaimPolicy: Delete
VolumeBindingMode: Immediate
Events: <none>