为什么我会收到“未绑定的即时PersistentVolumeClaims"消息,在Minikube上? [英] Why do I get "unbound immediate PersistentVolumeClaims" on Minikube?

查看:2176
本文介绍了为什么我会收到“未绑定的即时PersistentVolumeClaims"消息,在Minikube上?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我收到"pod具有立即绑定的PersistentVolumeClaims",但我不知道为什么.我在macOS上运行minikube v0.34.1. 这是配置:

I get "pod has unbound immediate PersistentVolumeClaims", and I don't know why. I run minikube v0.34.1 on macOS. Here are the configs:

es-pv.yaml

es-pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch
spec:
  capacity:
    storage: 400Mi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/data/elasticsearch/"

es-statefulset.yaml

es-statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: es-cluster
spec:
  serviceName: elasticsearch
  replicas: 3
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      containers:
        - name: elasticsearch
          image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.3
          resources:
            limits:
              cpu: 1000m
            requests:
              cpu: 100m
          ports:
            - containerPort: 9200
              name: rest
              protocol: TCP
            - containerPort: 9300
              name: inter-node
              protocol: TCP
          volumeMounts:
            - name: data
              mountPath: /usr/share/elasticsearch/data
          env:
            - name: cluster.name
              value: k8s-logs
            - name: node.name
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: discovery.zen.ping.unicast.hosts
              value: "es-cluster-0.elasticsearch,es-cluster-1.elasticsearch,es-cluster-2.elasticsearch"
            - name: discovery.zen.minimum_master_nodes
              value: "2"
            - name: ES_JAVA_OPTS
              value: "-Xms256m -Xmx256m"
      initContainers:
        - name: fix-permissions
          image: busybox
          command: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]
          securityContext:
            privileged: true
          volumeMounts:
            - name: data
              mountPath: /usr/share/elasticsearch/data
        - name: increase-vm-max-map
          image: busybox
          command: ["sysctl", "-w", "vm.max_map_count=262144"]
          securityContext:
            privileged: true
        - name: increase-fd-ulimit
          image: busybox
          command: ["sh", "-c", "ulimit -n 65536"]
          securityContext:
            privileged: true
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes: [ "ReadWriteOnce" ]
        storageClassName: "standard"
        resources:
          requests:
            storage: 100Mi

es-svc.yaml

es-svc.yaml

kind: Service
apiVersion: v1
metadata:
  name: elasticsearch
  labels:
    app: elasticsearch
spec:
  selector:
    app: elasticsearch
  clusterIP: None
  ports:
    - port: 9200
      name: rest
    - port: 9300
      name: inter-node

推荐答案

为了使一个卷访问我的许多Pod, accessModes 必须为"ReadWriteMany" .另外,如果每个吊舱都希望有自己的目录,则需要使用 subPath .

In order to make a volume accessed my many pods, the accessModes need to be "ReadWriteMany" . Also if each pod wants to have its own directory then subPath need to be used.

此问题已在注释部分@MichaelBöckling中解决.这是进一步的信息 using-subpath

As the issue was resolved in comment section @Michael Böckling . Here is further information using-subpath

volumeMounts: 
- name: data 
mountPath: /usr/share/elasticsearch/data 
subPath: $(POD_NAME) 

这篇关于为什么我会收到“未绑定的即时PersistentVolumeClaims"消息,在Minikube上?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆