Не удалось использовать hostPath '/ var / lib / docker / container' в качестве тома в Kubernetes - PullRequest
0 голосов
/ 11 сентября 2018

Мне не удалось использовать HostPath /var/lib/docker/containers в качестве тома со следующей ошибкой:

 Error response from daemon: linux mounts: Path /var/lib/docker/containers is 
 mounted on /var/lib/docker/containers but it is not a shared or slave mount.

Вот моя спецификация YAML (примечание: это всего лишь пример для воспроизведения моей проблемы при выполнении сбора журнала):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  namespace: logging
  labels:
    app: test
spec:
  selector:
    matchLabels:
      app : test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
        - name: nginx
          image: nginx:stable-alpine
          securityContext:
            privileged: true
          ports:
          - containerPort : 8003
      volumeMounts:
      - name: docker
        mountPath: /var/lib/docker/containers
        readOnly: true
  volumes:
    - name: docker
      hostPath:
        path: /var/lib/docker/containers

И моя версия kubernetes.

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", 
GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", 
BuildDate:"2018-04-12T14:26:04Z", GoVersion:"go1.9.3", Compiler:"gc", 
Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", 
GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", 
BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", 
Platform:"linux/amd64"}

Очень ценю вашу помощь!

1 Ответ

0 голосов
/ 11 сентября 2018

очень признателен за любую помощь!

Скорее всего, вы столкнулись с проблемой конкретной версии:

/var/lib/docker/containers is intentionally mounted by Docker with private mount
propagation and thus conflicts with Kubernetes trying to mount this directory
as rslave when running the container

Вы должны попробовать с 1.10.3+ гдеэто решено.См. официальный список изменений для kubernetes и проверьте запись, относящуюся к "распространению монтирования по умолчанию".Также проверьте связанный (см. Ошибку) Свободная проблема для более глубокого анализа.

Теперь, с этим сказанным ...

Закаленный комментарий Дэвида с вопросом и осторожностьюСлово остается в силе, и я второй: это довольно удивительно: модуль nginx копается глубоко во внутренности механизма докера (надеюсь, это просто ради минимального воспроизводимого примера или случая сбора журналов, вы знаете, что-то ...) ..Просто убедитесь, что вы точно знаете, что делаете и почему.

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