volumes: hostPath

Используется, когда необходимо предоставить доступ к локальной файловой системе. Например, к логам приложений в /var/log. Не поддерживают управление правами доступа или перемаркировку SELinux.

Файлы на хостах доступны для записи только подам, запущенным с правами пользователя root. Если контейнер будет запускаться с правами другого пользователя, вы должны заранее позаботиться об установке необходимых прав на файл или директории.

Если в кубернетес добавляется планирование с учетом ресурсов, volumes типа hostPath не учитываются в таком планировании.

Ссылка на API.

Параметры:

Некоторые значения параметра 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.