Criei um deployment com 3 replicas php-apache para acessar uma aplicação em Laravel. Como criar PersistentVolumeClaim para a pasta "storage" do laravel? pois percebi que storageClassName for do-block-storage não pode ter mais do que uma réplica.
Criei um deployment com 3 replicas php-apache para acessar uma aplicação em Laravel. Como criar PersistentVolumeClaim para a pasta "storage" do laravel? pois percebi que storageClassName for do-block-storage não pode ter mais do que uma réplica.
Olá, Mauro.
Tudo bem?
O storageClassName do-block-storage, que você está usando, provavelmente está tentando criar um volume de bloco, que não pode ser compartilhado entre várias réplicas de um pod.
Uma solução para o seu problema seria tentar usar um tipo de armazenamento que suporte o acesso ReadWriteMany (RWX), que permite que o volume seja lido e escrito por muitos nós. No caso da Digital Ocean, você pode usar o storageClassName nfs-client.
Aqui está um exemplo de como você pode definir seu PersistentVolumeClaim:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: laravel-storage-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
Este PersistentVolumeClaim solicita um volume que suporte o acesso ReadWriteMany e usa o storageClassName nfs-client. Você pode ajustar o tamanho do armazenamento conforme necessário.
Depois de criar o PersistentVolumeClaim, você pode montá-lo na pasta "storage" do seu pod Laravel da seguinte maneira:
apiVersion: apps/v1
kind: Deployment
metadata:
name: laravel-deployment
spec:
replicas: 3
template:
spec:
containers:
- name: laravel-container
image: php-apache
volumeMounts:
- name: laravel-storage
mountPath: /path/to/laravel/storage
volumes:
- name: laravel-storage
persistentVolumeClaim:
claimName: laravel-storage-pvc
Neste exemplo, o volume laravel-storage é montado na pasta "storage" do Laravel no seu container.
Espero ter entendido e conseguido ajudar. Qualquer dúvida manda aqui de novo. Bons estudos.