1
resposta

[Dúvida] Volumes em Deployments

Tentei criar um deployment com os dois containers descritos na aula, porém tomo erro ao tentar criar o volume dentro do template.

template>spec>volumes

1 resposta

Olá Matheus. Tudo bem?

A criação de volumes em um Deployment é bastante similar à criação em um Pod. No entanto, é importante garantir que a estrutura YAML esteja correta. Aqui está um exemplo básico de como você pode definir volumes dentro de um Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: meu-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: minha-aplicacao
  template:
    metadata:
      labels:
        app: minha-aplicacao
    spec:
      containers:
      - name: nginx-container
        image: nginx:latest
        volumeMounts:
        - mountPath: /caminho/no/container
          name: meu-volume
      - name: jenkins-container
        image: jenkins/jenkins:lts
        volumeMounts:
        - mountPath: /caminho/no/container
          name: meu-volume
      volumes:
      - name: meu-volume
        hostPath:
          path: /caminho/no/host
          type: Directory

Alguns pontos a verificar:

  1. Verfique a indentação está correta, pois o YAML é sensível a espaços. Os volumes devem estar definidos dentro de spec.template.spec.volumes.

  2. Dentro de cada container, você deve especificar volumeMounts para indicar onde o volume será montado no container.

  3. No exemplo acima, estou usando hostPath, mas dependendo do seu ambiente, você pode precisar de outro tipo de volume, como PersistentVolumeClaim.

  4. Se estiver usando hostPath, certifique-se de que o caminho especificado realmente existe no seu host.

Se o erro persistir, recomendo verificar os logs do Kubernetes para mensagens de erro mais detalhadas, usando kubectl describe deployment <nome-do-seu-deployment>.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!