Урок 13: Хранение и упаковка — PVC, Helm и GitOps
До сих пор наши Pod'ы были «одноразовыми»: когда их удаляют или перезапускают, любые файлы, записанные внутри них, исчезают. Это нормально для приложения, которое ничего не хранит, но проблема для базы данных. В этом уроке мы познакомимся с тремя инструментами, которые завершают картину. Первый — Pe
Pod — это как маркерная доска, которая стирается каждый раз, когда её выключают; PVC — это USB-накопитель, который остаётся полным. Helm — это коробка с мебелью для самостоятельной сборки, а GitOps говорит: «что записано в блокноте — то и есть реальность».
- PersistentVolumeClaim
- Объект, который запрашивает постоянное хранилище заданного размера. Pod подключается к нему, и данные сохраняются даже после того, как Pod удалён или перезапущен — как внешний жёсткий диск.
- Helm
- Пакетный менеджер для Kubernetes. Он объединяет набор YAML-файлов в один шаблон («chart») с файлом значений (values), который можно настраивать, так что один и тот же пакет устанавливает приложение в нескольких окружениях.
- GitOps
- Способ работы, при котором Git-репозиторий является единственным источником истины о состоянии кластера. Контроллер (например, ArgoCD или Flux) непрерывно сравнивает кластер с репозиторием и автоматически приводит его в соответствие.
- Режим доступа
- Настройка PVC, которая определяет, как можно подключить том. ReadWriteOnce означает, что только один node может писать в него в каждый момент времени — самый распространённый режим для диска одного приложения.
- Значения chart
- Файл (values.yaml), который предоставляет изменяемые значения для Helm chart — например, имя image, число replicas или размер хранилища — так что один и тот же шаблон настраивается под каждое окружение без дублирования YAML.