Используется, когда необходимо предоставить доступ к локальной файловой системе. Например, к логам приложений в /var/log. Не поддерживают управление правами доступа или перемаркировку SELinux.
Файлы на хостах доступны для записи только подам, запущенным с правами пользователя root. Если контейнер будет запускаться с правами другого пользователя, вы должны заранее позаботиться об установке необходимых прав на файл или директории.
Если в кубернетес добавляется планирование с учетом ресурсов, volumes типа hostPath не учитываются в таком планировании.
Параметры:
- path – путь к файлу (директории) на сервере.
- Type – тип подключения.
Некоторые значения параметра type:
- DirectoryOrCreate — Если по данному пути ничего не существует, при необходимости будет создан пустой каталог с разрешением 0755, имеющим ту же группу и владельца, что и Kubelet.
- Directory — Каталог должен существовать по указанному пути.
- FileOrCreate — Если по указанному пути ничего не существует, при необходимости будет создан пустой файл с разрешением 0644, имеющим ту же группу и владельца, что и Kubelet.
- File — Файл должен существовать.
Необходимо учитывать, что в случае DirectoryOrCreate и FileOrCreate, должны существовать все директории, указанные в пути к конечному файлу.
Пример подключения volume типа hostPath.
apiVersion: apps/v1 kind: DaemonSet metadata: name: openresty namespace: volumes-sample labels: app: openresty spec: selector: matchLabels: app: openresty template: metadata: labels: app: openresty spec: containers: - name: openresty image: openresty/openresty:centos-rpm env: - name: NGINX_HOST valueFrom: fieldRef: fieldPath: metadata.name ports: - containerPort: 80 name: http protocol: TCP volumeMounts: - name: logs-volume mountPath: /host_logs readOnly: true volumes: - name: logs-volume hostPath: path: /var/log type: Directory
В данном примере том подключается в режиме «только для чтения». Режим определяется параметром readOnly.
<- Оглавление