атрибут hostPath PersistentVolume и spec.capacity.storage - PullRequest
0 голосов
/ 10 апреля 2019

Я использую один главный / узел Kubernetes на виртуальной машине, используя hostPath в качестве постоянного тома для развернутой базы данных Postgres.

Мой PersistentVolume имеет следующие конфигурации:

apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    volume.beta.kubernetes.io/storage-class: postgres
  labels:
    type: local
  name: postgres-storage
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 1Gi
  hostPath:
    path: /data/postgres

Кроме того, у меня есть PersistentVolumeClaim, в настоящее время привязанный к этому объему, запрашивающий всю емкость (spec.resources.requests.storage: 1Gi).

Недавно база данных Postgres превысила *Размер 1014 *, однако, не вызывая никаких проблем:

$ du -hs /data/postgres # Powers of 1024
1.2G    /data/postgres 

$ du -hs /data/postgres --si # Powers of 1000
1.3G    /data/postgres 

Мой вопрос:

  • spec.capacity.storageдействительно имеет значение при использовании тома hostPath, или объем фактически ограничен размером основного раздела?
  • Что должно произойти, когда использование тома превышает его capacity?(то есть, как Kubernetes будет обращаться с этим)

1 Ответ

1 голос
/ 11 апреля 2019

Согласно @ wongma7 на странице GitHub Kubernetes:

это работает так, как задумано, kube не может / не будет использовать возможности PV, поле емкости на PV это просто метка. Это до «Администратор», то есть создатель PV, чтобы точно обозначить его что, когда пользователи создают PVC, которым нужно> = X Gi, они получают то, что они хочу.

Вы можете найти оригинальное обсуждение здесь .

Кроме того, это описано в официальной томе / ресурсах документации:

Нет ограничений на количество места, которое может вместить том emptyDir или hostPath. потреблять , и без изоляции между контейнерами или между модулями.

В будущем мы ожидаем, что тома emptyDir и hostPath будут возможность запросить определенное количество места с помощью ресурса спецификации, а также выбрать тип носителя для использования, для кластеров которые имеют несколько типов носителей.

...