#kubernetes #kubernetes-helm
#kubernetes #kubernetes-рулевой
Вопрос:
У меня есть модуль postgres, использующий PersistentVolumeClaim для хранения базы данных в режиме ReadWriteOnce.
Обновить модуль с помощью Helm сложно, потому что новый модуль заблокирован до тех пор, пока старый модуль не выпустит требование, а Helm не удалит старый модуль, пока новый модуль не будет готов.
Как обычно решается эта проблема? Кажется, я нигде не могу найти документацию по этому вопросу, и я думаю, что это обычная проблема.
Это мой пвх:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pgdata-claim
spec:
accessModes:
- ReadWriteOnce
storageClassName: standard
resources:
requests:
storage: 20Gi
selector:
matchLabels:
app: postgres
Комментарии:
1. Как вы управляете своим модулем? Поддерживается ли оно развертыванием / набором реплик?
Ответ №1:
В случае, если вы используете режим ReadWriteOnce, я предлагаю использовать «StatefulSet» с «volumeClaimTemplates«, он был успешно протестирован (однако без helm).
В качестве примера, пожалуйста, взгляните на это:
https://kubernetes.io/blog/2019/04/04/kubernetes-1.14-local-persistent-volumes-ga/
Пожалуйста, поделитесь результатами и своими выводами.
Комментарии:
1. К сожалению, GCP не соответствует этой версии K8s.
2. Кажется, что мое лучшее решение — избежать этого требования и просто использовать cloud sql.
3. Не могли бы вы, пожалуйста, предоставить дополнительную информацию: например, @yanivoliver спросил, как он был развернут, и сколько реплик вы используете? Пожалуйста, поделитесь своими файлами yaml.