pod имеет несвязанный немедленный PersistentVolumeClaims ECK (Elasticsearch в Kubernetes) - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь развернуть elasti c на kubernetes https://www.elastic.co/guide/en/cloud-on-k8s/current/index.html на локальном кластере minikube. Я уже установил оператор.

Когда я применяю кластер elasticsearch ниже, я получаю следующую ошибку модуля:

запущен плагин фильтра «VolumeBinding» для данных модуля pod-es- es-default-0 ": pod имеет несвязанные немедленные PersistentVolumeClaims

том / требование:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-data
  labels:
    type: local
spec:
  storageClassName: standard
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

-

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: elasticsearch-data
spec:
  storageClassName: standard
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

эласти c .yml

apiVersion: elasticsearch.k8s.elastic.co/v1beta1
kind: Elasticsearch
metadata:
  name: data-es
spec:
  version: 7.4.2
  nodeSets:
  - name: default
    count: 2
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        storageClassName: standard
        resources:
          requests:
            storage: 10Gi
    config:
      node.master: true
      node.data: true
      node.ingest: true
      node.store.allow_mmap: false
      xpack.security.authc.realms:
        native:
          native1: 
            order: 1
---
apiVersion: kibana.k8s.elastic.co/v1beta1
kind: Kibana
metadata:
  name: data-kibana
spec:
  version: 7.4.2
  count: 1
  elasticsearchRef:
    name: data-es

kubectl get pv c

НАЗВАНИЕ СОСТОЯНИЕ ОБЪЕМ ЕМКОСТЬ РЕЖИМЫ ДОСТУПА ХРАНИТЬ ВРЕМЯ elasticsearch-data Связанные elasticsearch-data 10Gi Стандарт RWO 8m45s elasticsearch-data-data-es-es-default-0 Ожидающий стандарт 7m40s elasticsearch-data-data-es-es-default-1 Ожидаемый стандарт 7 мин. 39 сек.

1 Ответ

3 голосов
/ 14 июля 2020

pod имеет несвязанные немедленные PersistentVolumeClaims

Вышеупомянутая ошибка означает, что нет persistentVolume, который может быть привязан к PersistentVolumeClaim. По умолчанию local-storage на самом деле не создает persistentVolume динамически.

Чтобы использовать динамический c механизм обеспечения класса хранилища local-storage, вам необходимо настроить класс local-storage, чтобы он мог предоставлять persistentVolume. Проверьте это обсуждение. Kubernetes: как лучше всего создать динамический c локальный том для автоматического назначения PV для PVC? .

В качестве альтернативы без использования динамического c механизма предоставления класса хранилища вам нужно создать persistentVolume, используя hostPath, который можно привязать к PersistentVolumeClaim. Но это не рекомендуемое решение для производственного использования. Проверьте это руководство. здесь .

PersistentVolumeClaim будет автоматически создано на основе volumeClaimTemplates в yaml elasti c. Следовательно, вы не должны создавать PersistentVolumeClaim.

Так как nodeSets count равно 2, создается PersistentVolumeClaim. Итак, вам нужно создать два persistentVolume.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-data1
  labels:
    type: local
spec:
  storageClassName: standard
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch-data2
  labels:
    type: local
spec:
  storageClassName: standard
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...