4
respostas

[Reclamação] E quem não usa Minikube?????

Não usei o minikube e no meu caso ele não cria um storageclass default, podia ter mais informações de como faz isso de forma manual pra que não usa o minikube....

Uma pena

4 respostas

Oi, Guilherme. Tudo bem?

Qual meio você usou para ter acesso ao cluster? Podemos partir daí para tentar achar uma solução.

Tudo bem Vitor, então eu usei VM's com centOS, fiz a instalação normal, apenas nao usei o minikube para criar o cluster fiz manualmente com 1 controlplane e 2 workers, até agora deu tudo certo, só essa parte do storageclass que não deu certo, ele não cria aquele default que o minikube cria, ai eu queria saber se tem alguma outra forma de replicar ele manualmente, com um yaml por exemplo.

Oi, Guilherme.

Dei uma pesquisada e encontrei a seguinte forma para criar localmente. Depois você vai precisar adaptar para replicar a situação do curso.

Segundo a doc oficial neste link, você deve criar um StorageClass local da seguinte forma:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

Num dos seus Workers, você vai precisar criar um diretório que será usado para os volumes:

mkdir -p /data/volumes/vol1
chmod 777 /data/volumes/vol1

Depois criar um PersistentVolume

apiVersion: v1
kind: PersistentVolume
metadata:
  name: test-local-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: local-storage
  local:
    path: /data/volumes/vol1
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - o-nome-do-seu-worker-onde-criou-o-diretorio-vol1

E pra criar um PVC:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: test-pvc
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 10Gi

E aí referenciar o o PVC criado no StatefulSet.

Usei estes outros 2 links de referência: https://lapee79.github.io/en/article/use-a-local-disk-by-local-volume-static-provisioner-in-kubernetes/ https://vocon-it.com/2018/12/20/kubernetes-local-persistent-volumes/

Espero que te ajude. Bons estudos!

Legal, muito obrigado Vitor funcionou dessa forma!! Só uma ultima dúvida no meu caso que preciso montar 2 volumes no pod obrigatoriamente os 2 pvs precisam apontar para o mesmo node? Por que se eu apontar um PV para cada node o pod não sobe.

Muito obrigado pelo apoio e excelencia, tenha uma ótima semana.