Ошибка NFS PV в Kubernetes с металами из руля - PullRequest
0 голосов
/ 29 сентября 2018

Я развернул Kubernetes на голом выделенном сервере, используя conjure-up kubernetes в Ubuntu 18.04 LTS.Это также означает, что узлы являются контейнерами LXD.

Мне нужны постоянные тома для Elasticsearch и MongoDB, и после некоторых исследований я решил, что самым простым способом заставить это работать в моем развертывании был ресурс NFS.Я создал общий ресурс NFS в хост-системе со следующей конфигурацией:

/ srv / volume 127.0.0.1 (rw) 10.78.69. * (Rw, no_root_squash)

10.78.69.* представляется мостовой сетью, используемой Kubernetes, по крайней мере, глядя на ifconfig, в которой больше ничего нет.

Затем я приступил к созданию двух папок, / srv / volume / 1 и / srv / volume./ 2 Я создал два PV из этих папок с этой конфигурацией для первой (вторая аналогична):

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elastic-pv1
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /srv/volumes/1
    server: 10.78.69.1

Затем я развернул таблицу управления Elasticsearch (https://github.com/helm/charts/tree/master/incubator/elasticsearch), и он создал две заявкикоторые успешно связываются с моими PV.

Проблема заключается в том, что впоследствии контейнеры, похоже, сталкиваются с ошибками:

Ошибка: не удалось запустить контейнер "sysctl": Ошибка ответа от демона: linuxУстройства спецификации времени выполнения: lstat /dev/.lxc/proc/17848/fdinfo/24: такой файл или каталог отсутствуют: сбой при перезапуске контейнера не удалось

Представление модулей

Просмотр утверждений о постоянном объеме

Я застрял здесь.Я попытался найти ошибку, но мне не удалось найти решение этой проблемы.

Раньше, прежде чем я установил разрешенный IP-адрес в /etc/exports на 10.78.69.*, Kubernetes сказал бы мне, что он получил «отказано в доступе» от сервера NFS при попытке монтирования, поэтому я предполагаю, что теперь монтирование прошло успешно, так какошибка исчезла.

РЕДАКТИРОВАТЬ:

Я решил очистить развертывание руля и повторить попытку, на этот раз с другим типом хранилища, тома локального хранилища.Я создал их, следуя инструкциям Canonical, и я знаю, что они работают, потому что я настроил один для MongoDB таким образом, и он отлично работает.

Конфигурация для развертывания шлема эластичного поиска изменилась, так как теперь я должен установить сходство дляузлы, на которых были созданы постоянные тома:

values.yaml:

data:
    replicas: 1,
    nodeSelector:
        elasticsearch: data
master:
    replicas: 1,
    nodeSelector:
        elasticsearch: master
client:
    replicas: 1,
cluster:
    env: {MINIMUM_MASTER_NODES: "1"}

Я развернул с помощью

helm install --name site-search -f values.yaml инкубатор / эластичный поиск

Это единственные изменения, однако эластичный поиск по-прежнему вызывает те же проблемы.

Дополнительная информация:

kubectl version:

Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T18:02:47Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T17:53:03Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

Изображение эластичного поиска является стандартным изображением в таблице управления:

docker.elastic.co /asticsearch /asticsearch-oss: 6.4.1

Журналы различных модулей (основной, клиентский, данные) пусты.Ошибка та же.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Я смог решить эту проблему, запустив sysctl -w vm.max_map_count=262144 самостоятельно на хост-машине и удалив контейнер инициализации "sysctl", который пытался сделать это безуспешно.

0 голосов
/ 03 октября 2018

Это выглядит как часто встречающаяся проблема и наблюдается в различных средах и конфигурациях.Однако совершенно неясно, что именно является причиной.Не могли бы вы предоставить более подробную информацию о ваших версиях программного обеспечения, фрагментах журнала и т. Д.?

...