Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Demora na criação do volumeclain no Google Cloud

Vi alguns posts antigos aqui no fórum sobre essa questão porque eu também fiquei um bom tempo esperando a conclusão do processo

Então, verificando na console do Google em EVENTOS (no print acima), vi que os volumeclaims estavam aguardando um "consumidor" (Waitforfirstconsumer)

Lendo a documentação, vi que existe este modo, onde o volume só é criado após um Pod requisitar ele e o modo "immediate" (imediato), que segundo a documentação do Kubernetes, https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes?hl=pt-br#waitforfirstconsumer seria o padrão

Até então eu só tinha feito isso no minikube, nos cursos anteriores. Então não sei o motivo de não ter seguido o padrão

Assim, resolvi prosseguir e fiz a criação do wordpress-deployment e do mysql-deployment e a criação e associação dos volumes ocorreu imediatamente

Mais informações https://cloud.google.com/kubernetes-engine/docs/concepts/persistent-volumes?hl=pt-br#waitforfirstconsumer

https://stackoverflow.com/questions/55044486/waitforfirstconsumer-persistentvolumeclaim-waiting-for-first-consumer-to-be-crea

2 respostas
solução!

Olá Carlos,

Pelo que pude entender e pelo que você descreveu, parece que você está enfrentando um comportamento esperado quando se utiliza o modo WaitForFirstConsumer em PersistentVolumeClaims (PVCs) no Kubernetes. Esse modo faz com que a alocação do volume físico (PersistentVolume, ou PV) seja adiada até que um Pod requisite esse PVC, o que pode ser útil para evitar a provisão de volumes em zonas onde eles não serão utilizados.

No entanto, você mencionou que esperava que o comportamento padrão fosse Immediate, onde o volume é provisionado assim que o PVC é criado, independentemente de haver um Pod consumidor ou não. A escolha entre esses dois modos pode ser determinada pela configuração da StorageClass usada para criar o PVC.

Para resolver o problema, você pode verificar a StorageClass que está sendo usada para criar seus PVCs e ajustar a política de volumeBindingMode para Immediate, se necessário. Você pode fazer isso com o seguinte comando:

kubectl get storageclass <nome-da-storageclass> -o yaml

Se você quiser alterar a política de vinculação de volume para Immediate, você terá que editar a StorageClass (isso pode afetar outros PVCs que usam essa StorageClass):

kubectl edit storageclass <nome-da-storageclass>

E então, na seção de parâmetros, altere ou adicione a linha:

volumeBindingMode: Immediate

Lembre-se de que, se você alterar a StorageClass que já está em uso, isso não afetará os PVCs já provisionados, mas afetará os novos PVCs que forem criados.

Se você não quiser ou não puder alterar a StorageClass existente, você pode criar uma nova StorageClass com o modo de vinculação de volume Immediate e usar essa nova classe ao criar seus PVCs.

Por fim, é importante notar que a mudança para o modo Immediate pode ter implicações em termos de disponibilidade e afetar onde seus volumes são provisionados, então avalie se essa mudança faz sentido para o seu caso de uso específico.

Espero ter entendido e conseguido ajudar. Qualquer coisa manda aqui. Bons estudos!

Massa, ajudou demais Renan

Vou fazer uns testes aqui pra ver na prática

Pelo que lembre, esse item não foi abordado nos cursos

Valeu!