Volumes
On this page
- O que são Volumes?
- O que são Volumes Efêmeros?
- O que são Volumes Persistentes?
- O que é o StorageClass?
- Criando um StorageClass
- O que é o PersistentVolume?
- Criando um PersistentVolume
- AccessModes
- persistentVolumeReclaimPolicy
- Path
- PersistentVolume com NFS
- O que é o PersistentVolumeClaim?
- Criando um PersistentVolumeClaim
- Criando um Deployment com um PersistentVolumeClaim
O que são Volumes?
Volumes são diretórios que são montados dentro do Pod. Eles podem ser usados para persistir e/ou compartilhar dados. Quando falamos de Kubernetes, existem dois tipos de volumes: volumes efêmeros e volumes persistentes.
O que são Volumes Efêmeros?
Volumes efêmeros são volumes que são criados e destruídos junto com o Pod. Por exemplo, se você tem um Pod com dois containers, um container pode escrever dados em um volume efêmero e o outro container pode ler esses dados.
O que são Volumes Persistentes?
Volumes persistentes são volumes que são criados e destruídos independentemente do Pod. Por exemplo, se você tem um Pod com dois containers, um container pode escrever dados em um volume persistente e o outro container pode ler esses dados. Se o Pod for destruído e recriado, o volume persistente ainda existirá e os dados ainda estarão disponíveis.
O que é o StorageClass?
O StorageClass é um objeto do Kubernetes que permite que você defina diferentes tipos de armazenamento para diferentes tipos de necessidades. Por exemplo, você pode ter um StorageClass para armazenamento SSD e outro para armazenamento HDD. O StorageClass também permite que você defina diferentes tipos de provisionadores de armazenamento. Por exemplo, você pode ter um provisionador de armazenamento para armazenamento local e outro para armazenamento em nuvem.
Criando um StorageClass
O que é o PersistentVolume?
O PersistentVolume é um objeto do Kubernetes que representa um volume físico, como um disco rígido, que está disponível para uso. O PersistentVolume é criado pelo administrador do cluster e pode ser usado por qualquer usuário do cluster.
Criando um PersistentVolume
AccessModes
O AccessModes é um campo do PersistentVolume que define como o volume pode ser montado. Existem três tipos de AccessModes:
- ReadWriteOnce: O volume pode ser montado como leitura e escrita por um único nó.
- ReadOnlyMany: O volume pode ser montado como somente leitura por muitos nós.
- ReadWriteMany: O volume pode ser montado como leitura e escrita por muitos nós.
persistentVolumeReclaimPolicy
O persistentVolumeReclaimPolicy é um campo do PersistentVolume que define o que acontece com o volume quando o PersistentVolumeClaim é excluído. Existem três tipos de persistentVolumeReclaimPolicy:
- Retain: O volume não é excluído e deve ser excluído manualmente.
- Delete: O volume é excluído.
- Recycle: O volume é limpo e pode ser usado novamente.
Path
O Path é um campo do PersistentVolume que define o caminho do volume. Alguns exemplos de caminhos são:
- csi: O volume é um volume CSI (Container Storage Interface).
- fc: O volume é um volume Fibre Channel.
- hostPath: O volume é um volume local (for single node testing only; WILL NOT WORK in a multi-node cluster; consider using local volume instead).
- iscsi: O volume é um volume iSCSI (SCSI over IP).
- local: O volume é um volume local.
- nfs: O volume é um volume NFS (Network File System).
PersistentVolume com NFS
Compartilhando um diretório do host com NFS:
O que é o PersistentVolumeClaim?
O PersistentVolumeClaim é um objeto do Kubernetes que representa uma solicitação de armazenamento, é usado para solicitar um PersistentVolume. O Kubernetes tentará encontrar um PersistentVolume que corresponda ao PersistentVolumeClaim, se não conseguir encontrar um PersistentVolume que corresponda ao PersistentVolumeClaim, ele criará um PersistentVolume.