Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 无法在CoreOS上为PetSet创建持久卷声明 尝试使用Kube Solo设置PetSet_Docker_Kubernetes_Coreos_Kube Solo - Fatal编程技术网

Docker 无法在CoreOS上为PetSet创建持久卷声明 尝试使用Kube Solo设置PetSet

Docker 无法在CoreOS上为PetSet创建持久卷声明 尝试使用Kube Solo设置PetSet,docker,kubernetes,coreos,kube-solo,Docker,Kubernetes,Coreos,Kube Solo,在我当地的开发环境中,我与CoreOS建立了Kube Solo。我正在尝试部署一个Kubernetes PetSet,它包含一个持久卷声明模板作为PetSet配置的一部分。此配置失败,所有吊舱均未启动。以下是我的PetSet定义: apiVersion: apps/v1alpha1 kind: PetSet metadata: name: marklogic spec: serviceName: "ml-service" replicas: 2 template: met

在我当地的开发环境中,我与CoreOS建立了Kube Solo。我正在尝试部署一个Kubernetes PetSet,它包含一个持久卷声明模板作为PetSet配置的一部分。此配置失败,所有吊舱均未启动。以下是我的PetSet定义:

apiVersion: apps/v1alpha1
kind: PetSet
metadata:
  name: marklogic
spec:
  serviceName: "ml-service"
  replicas: 2
  template:
    metadata:
      labels:
        app: marklogic
      annotations:
        pod.alpha.kubernetes.io/initialized: "true"
    spec:
      terminationGracePeriodSeconds: 30
      containers:
        - name: 'marklogic'
          image: {ip address of repo}:5000/dcgs-sof/ml8-docker-final:v1
          imagePullPolicy: Always
          command: ["/opt/entry-point.sh", "-l", "/opt/mlconfig.sh"]
          ports:
            - containerPort: 7997
              name: health-check
            - containerPort: 8000
              name: app-services
            - containerPort: 8001
              name: admin
            - containerPort: 8002
              name: manage
            - containerPort: 8040
              name: sof-sdl
            - containerPort: 8041
              name: sof-sdl-xcc
            - containerPort: 8042
              name: ml8042
            - containerPort: 8050
              name: sof-sdl-admin
            - containerPort: 8051
              name: sof-sdl-cache
            - containerPort: 8060
              name: sof-sdl-camel
          env:
            - name: POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          lifecycle:
            preStop:
              exec:
                command: ["/etc/init.d/MarkLogic stop"]
          volumeMounts:
            - name: ml-data
              mountPath: /var/opt/MarkLogic 
  volumeClaimTemplates:
    - metadata:
        name: ml-data
         annotations:
           volume.alpha.kubernetes.io/storage-class: anything
      spec:
        accessModes: [ "ReadWriteMany" ]
        resources:
          requests:
            storage: 1Gi
在Kubernetes仪表板中,我看到以下错误消息:

SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "ml-data-marklogic-0", which is unexpected.
似乎无法创建持久卷声明也会阻止从本地存储库中提取映像。此外,Kubernetes仪表板显示对持久卷声明的请求,但状态一直处于“挂起”状态。 我已经验证了问题是与持久卷声明有关的。如果我从PetSet配置中删除它,部署就会成功

我应该注意到,在此之前我使用的是MiniKube,并且会看到相同的消息,但是一旦图像被拉出来,pod启动,声明就会生效,消息就会消失

我正在使用

  • Kubernetes版本:1.4.0
  • Docker版本:1.12.1(在我的mac上)和1.10.3(在CoreOS虚拟机内)
  • Corectl版本:0.2.8
  • Kube Solo版本:0.9.6

我不熟悉库贝·索洛。

但是,这里的问题可能是您正试图使用一个测试版的功能,该功能对您的环境中的卷没有特定的支持


解决此问题的最佳方法是创建它希望手动查找的持久卷,以便PersistentVolumeClaim可以找到它们。

同样的错误发生在我身上,并在and pull请求中找到了有关以下配置的线索(考虑volumeClaimTemplatesStorageClass

volumeClaimTemplates:
  - metadata:
      name: cassandra-data
      annotations:
        volume.beta.kubernetes.io/storage-class: standard
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi
---
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  namespace: kube-system
  name: standard
  annotations:
    storageclass.beta.kubernetes.io/is-default-class: "true"
  labels:
    kubernetes.io/cluster-service: "true"

provisioner: kubernetes.io/host-path

谢谢这成为了一个故障排除的噩梦,所以我现在已经回到使用Minikube。