Рубрики
Uncategorized

Разница между типами томов ementdir и hostpath в Kubernetes

Существует более 20 типов томов.

Есть больше, чем 20 типов томов Kubernetes поддерживает: Типы громкости Kubernetes

В этой статье я опишу различные использование Emptydir и Hostpath типы объема. Каждый из этих томов имеет свой вариант использования и должен использоваться только в этих конкретных случаях.

Пусто

Том UlmentDir сначала создается, когда стручка назначается на узел, и существует до тех пор, пока этот стручок работает на этом узле.

Как говорит имя, это изначально пусто. Все контейнеры в одном и том же стручке могут читать и записывать в одном и том же томе «Пусто».

Когда стручка перезапускается или удаляется, данные в пустоте теряются навсегда.

Некоторые варианты использования для emptydir:

  • Например, для алгоритма сортировки.

  • Когда в памяти необходимо сделать длинные вычисления

  • как кеш

Пример файла конфигурации с стручком, который использует emptyDir:

apiVersion: v1

kind: Pod

metadata:

  name: my-pod

spec:

  containers:

  - image: my-app-image

    name: my-app

    volumeMounts:

    - mountPath: /cache

      name: cache-volume

  volumes:

    - name: cache-volume

      emptyDir: {}

ПРИМЕЧАНИЕ. Том UlmentDir не должен использоваться для постоянных данных (база данных, данные приложения и т. Д.)

Hostpath

Том Hostpath объединяет файл или каталог из файловой системы узла в POD. Вы можете указать, должен ли файл/каталог уже существовать в узле или должен быть создан при запуске POD. Вы можете сделать это, используя атрибут типа в файле конфигурации:

apiVersion: v1

kind: Pod

metadata:

  name: my-pod

spec:

  containers:

  - image: my-app-image

    name: my-app

    volumeMounts:

      - mountPath: /test-pd

        name: test-volume

  volumes:

  - name: test-volume 

    hostPath:

    path: /data  #directory on host

    type: Directory #optional

Тип: каталог Определяет, что каталог уже должен существовать на хосте, поэтому вам придется сначала создать его вручную, прежде чем использовать Hostpath.

Другие значения для Тип являются DirectoryorCreate, File, FileorCreate . Где *Orcreate будет создан динамически, если его еще не существует на хосте.

ПРИМЕЧАНИЕ: Это не То, что понадобится большинству стручков, но оно предлагает мощный люк для некоторых приложений.

Некоторые применения для hostpath:

  • Запуск контейнера, который нуждается в доступе к внутренним деке; Используйте хост /var/lib/docker

  • Запуск Cadvisor в контейнере; Используйте хост /sys

Недостатки использования этого типа тома:

  • Стручки, созданные из одного и того же шаблона стручков, могут вести себя по -разному на разных узлах из -за разных файлов Hostpath/DIR на этих узлах

  • Файлы или каталоги, созданные с помощью hostpath на хосте, доступны для записи только по root. Это означает, что вам либо нужно запустить процесс контейнера как root, либо изменить разрешения на файл на хосте, который будет подлежать записи пользователем, который может привести к вопросам безопасности.

  • Вы должны Не Используйте тип объема HostPath для Statefulsets

► Получить 30% скидка — С этим кодом: udemy_nana_oct2020: Курс Udemy здесьKubernetes 101 : Компактный и простой для чтения комплект электронных книг 🚀 Это удобный способ быстро искать что -то или обновить свои знания на работе и использовать его в качестве чит -листа 😎

Мол, поделиться и следуй за мной 😍 Для большего содержания:

Оригинал: «https://dev.to/techworld_with_nana/difference-between-emptydir-and-hostpath-volume-types-in-kubernetes-286g»