簡體   English   中英

Kubernetes PetSet - 持久卷的創建失敗

[英]Kubernetes PetSet - FailedCreate of persistent volume

我正在嘗試按照文檔中的描述設置 Kubernetes PetSet。 當我創建 PetSet 時,我似乎無法將持久卷聲明綁定到持久卷。 這是我用於定義 PetSet 的 Yaml 文件:

apiVersion: apps/v1alpha1
kind: PetSet
metadata:
  name: 'ml-nodes'
spec:
  serviceName: "ml-service"
  replicas: 1
  template:
    metadata:
      labels:
        app: marklogic
        tier: backend
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      containers:
        - name: 'ml'
          image: "192.168.201.7:5000/dcgs-sof/ml8-docker-final:v1"
          imagePullPolicy: Always
          ports:
            - containerPort: 8000
              name: ml8000
              protocol: TCP
            - containerPort: 8001
              name: ml8001
            - containerPort: 7997
              name: ml7997
            - containerPort: 8002
              name: ml8002
            - containerPort: 8040
              name: ml8040
            - containerPort: 8041
              name: ml8041
            - containerPort: 8042
              name: ml8042
          volumeMounts:
            - name: ml-data
              mountPath: /data/vol-data
          lifecycle:
            preStop:
              exec:
                # SIGTERM triggers a quick exit; gracefully terminate instead
                command: ["/etc/init.d/MarkLogic stop"]
      volumes:
        - name: ml-data
          persistentVolumeClaim:
            claimName: ml-data 
      terminationGracePeriodSeconds: 30
  volumeClaimTemplates:
    - metadata:
        name: ml-data
        annotations:
          volume.alpha.kubernetes.io/storage-class: anything
      spec:
        accessModes: [ "ReadWriteOnce" ]
        resources:
          requests:
            storage: 2Gi

如果我對我創建的 PetSet 進行“描述”,我會看到以下內容:

Name:           ml-nodes
Namespace:      default
Image(s):       192.168.201.7:5000/dcgs-sof/ml8-docker-final:v1
Selector:       app=marklogic,tier=backend
Labels:         app=marklogic,tier=backend
Replicas:       1 current / 1 desired
Annotations:        <none>
CreationTimestamp:  Tue, 20 Sep 2016 13:23:14 -0400
Pods Status:        0 Running / 1 Waiting / 0 Succeeded / 0 Failed
No volumes.
Events:
  FirstSeen LastSeen    Count   From        SubobjectPath   Type        Reason          Message
  --------- --------    -----   ----        -------------   --------    ------          -------
  33m       33m     1   {petset }           Warning     FailedCreate        pvc: ml-data-ml-nodes-0, error: persistentvolumeclaims "ml-data-ml-nodes-0" not found
  33m       33m     1   {petset }           Normal      SuccessfulCreate    pet: ml-nodes-0

我正在嘗試在本地機器上的 minikube 環境中運行它。 不知道我在這里錯過了什么???

minikube 上有一個未解決的問題 目前 minikube 中的持久卷配置支持似乎尚未完成。

為了使其與本地存儲一起使用,它需要控制器管理器上的以下標志,並且目前在 minikube 上未啟用。

--enable-hostpath-provisioner[=false]:在沒有雲提供商的情況下運行時啟用 HostPath PV 配置。 這允許測試和開發配置功能。 HostPath 配置不受任何支持,不能在多節點集群中工作,並且不應用於測試或開發以外的任何其他用途。

參考: http : //kubernetes.io/docs/admin/kube-controller-manager/

對於本地開發/測試,如果您在設置環境變量后使用hack/local_up_cluster.sh啟動本地集群,它將起作用:

export ENABLE_HOSTPATH_PROVISIONER=true 

您應該能夠在最新版本的 minikube 中使用 PetSets,因為它使用 kubernetes v1.4.1 作為默認版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM