Как сохранить данные хранилища SQL в запущенном экземпляре? - PullRequest
1 голос
/ 28 марта 2019

Я пытаюсь сократить расходы на запуск кластера kubernetes на Google Cloud Platform.

Я переместил свой пул узлов в вытесняемые экземпляры виртуальных машин.У меня есть 1 модуль для Postgres и 4 узла для веб-приложений.Для Postgres я создал StorageClass, чтобы сделать данные постоянными.

Удивительно, но, возможно, нет, все данные хранилища были стерты через день.

Как сделать определенный узел в GCP не вытесняемым?Или не могли бы вы посоветовать, что делать в такой ситуации?

Ответы [ 3 ]

1 голос
/ 28 марта 2019

Полагаю, я нашел решение.

  1. Создайте диск в gcloud с помощью:
gcloud compute disks create --size=10GB postgres-disk
gcloud compute disks create --size=[SIZE] [NAME]
Удалить любые StorageClasses, PV, PVC Настроить файл развертывания:
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
  name: postgres
spec:
  serviceName: postgres
  selector:
    matchLabels:
      app: postgres
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
        role: postgres
    spec:
      containers:
        - name: postgres
          image: postgres
          env:
            ...
          ports:
            ...
          # Especially this part should be configured!
          volumeMounts:
            - name: postgres-persistent-storage
              mountPath: /var/lib/postgresql
      volumes:
        - name: postgres-persistent-storage
          gcePersistentDisk:
            # This GCE PD must already exist.
            pdName: postgres-disk
            fsType: ext4
0 голосов
/ 28 марта 2019

Вы можете сделать определенный узел не вытесняемым в кластере Google Kubernetes Engine, как указано в официальной документации .

Шаги по настройке кластера как с вытесняемыми, так и с не вытесняемыми пулами узлов:

  1. Создание кластера. В консоли GCP перейдите на Kubernetes Engine -> Создать кластер и настройте кластер так, как вам нужно.
  2. На этой странице конфигурации в разделе Пулы узлов нажмите Добавить пул узлов . Введите число узлов по умолчанию и новый пул.
  3. Чтобы сделать один из пулов приоритетным, нажмите кнопку Advance edit под именем пула, установите флажок Включить вытесняемые узлы (бета) и сохраните изменения.
  4. Нажмите Создать.

Тогда вы, вероятно, захотите запланировать определенные модули только на не выгружаемых узлах. Для этого вы можете использовать ноды портящих .

0 голосов
/ 28 марта 2019

Вы можете использовать управляемый сервис от имени GCP GKE google kubernetes cluster.

и данные хранилища стерты, причина изменения класса хранения может не сохранить политику и PVC.

лучше использовать управляемый сервис, я думаю, и я предпочитаю

...