Используется, когда необходимо предоставить доступ к локальной файловой системе. Например, к логам приложений в /var/log. Не поддерживают управление правами доступа или перемаркировку SELinux.
Файлы на хостах доступны для записи только подам, запущенным с правами пользователя root. Если контейнер будет запускаться с правами другого пользователя, вы должны заранее позаботиться об установке необходимых прав на файл или директории.
Если в кубернетес добавляется планирование с учетом ресурсов, volumes типа hostPath не учитываются в таком планировании.
Параметры:
Некоторые значения параметра type:
Необходимо учитывать, что в случае 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.