hostPath как том в кубернетес - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь настроить hostPath как том в kubernetes. Я вошел на сервер VM, откуда обычно использую такие команды kubernetes, как kubectl.

Ниже находится стручок:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: helloworldanilhostpath
spec:
  replicas: 1
  template:
    metadata:
      labels:
        run: helloworldanilhostpath
    spec:
      volumes:
        - name: task-pv-storage
          hostPath:
            path: /home/openapianil/samplePV
            type: Directory
      containers:
      - name: helloworldv1
        image: ***/helloworldv1:v1
        ports:
        - containerPort: 9123
        volumeMounts:
         - name: task-pv-storage
           mountPath: /mnt/sample

На сервере VM я создал папку "/ home / openapianil / samplePV", и в ней есть файл. Имеет файл sample.txt.

как только я пытаюсь создать это развертывание. это не происходит с ошибкой -
Предупреждение FailedMount 28s (x7 через 59 с) kubelet, aks-nodepool1-39499429-1 MountVolume.SetUp не удалось выполнить для тома «task-pv-storage»: сбой проверки типа hostPath: / home / openapianil / samplePV не является каталогом.

Может кто-нибудь, пожалуйста, помогите мне разобраться в проблеме здесь.

1 Ответ

0 голосов
/ 24 апреля 2018
Тома типа

hostPath относятся к каталогам на узле (ВМ / машина), где запланирован запуск вашего модуля (в данном случае aks-nodepool1-39499429-1).Так что вам нужно создать этот каталог хотя бы на этом узле.

Чтобы убедиться, что ваш Pod последовательно запланирован на этот конкретный узел, вам нужно установить spec.nodeSelector в PodTemplate:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: helloworldanilhostpath
spec:
  replicas: 1
  template:
    metadata:
      labels:
        run: helloworldanilhostpath
    spec:
      nodeSelector:
        kubernetes.io/hostname: aks-nodepool1-39499429-1
      volumes:
        - name: task-pv-storage
          hostPath:
            path: /home/openapianil/samplePV
            type: Directory
      containers:
      - name: helloworldv1
        image: ***/helloworldv1:v1
        ports:
        - containerPort: 9123
        volumeMounts:
         - name: task-pv-storage
           mountPath: /mnt/sample

В большинстве случаевплохая идея использовать этот тип громкости;Существуют некоторые особые случаи использования, но, скорее всего, вы не один из них!

Если вам по какой-то причине требуется локальное хранилище, то несколько лучшим решением будет использование localPersistentVolumes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...