Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Templates 如果声明了卷,则Openshift部署配置模板无法部署pod_Templates_Openshift - Fatal编程技术网

Templates 如果声明了卷,则Openshift部署配置模板无法部署pod

Templates 如果声明了卷,则Openshift部署配置模板无法部署pod,templates,openshift,Templates,Openshift,我有一个OpenShift部署配置模板,它是从工作部署(使用“oc导出”)生成的。原始pod在/data上安装了一个持久卷声明(PVC)。当我尝试使用模板部署时,pod从未启动。如果我从模板中删除所有关于卷和卷装载的内容,pod就会启动。然后我必须手动连接卷。我想能够做这一切从模板虽然。以下是仅显示相关项目的部分模板: apiVersion: v1 kind: Template metadata: name: myapp objects: - apiVersion: v1 kind: D

我有一个OpenShift部署配置模板,它是从工作部署(使用“oc导出”)生成的。原始pod在/data上安装了一个持久卷声明(PVC)。当我尝试使用模板部署时,pod从未启动。如果我从模板中删除所有关于卷和卷装载的内容,pod就会启动。然后我必须手动连接卷。我想能够做这一切从模板虽然。以下是仅显示相关项目的部分模板:

apiVersion: v1
kind: Template
metadata:
  name: myapp
objects:
- apiVersion: v1
  kind: DeploymentConfig
  metadata:
    name: myapp-service
  spec:
    template:
      spec:
        containers:
        - name: myapp-service
          image: my-private-registry/myapp-service:latest
          volumeMounts:
          - mountPath: /data
            name: volume-001
        volumes:
        - persistentVolumeClaim:
            claimName: nfs-pvc
          name: volume-001
使用此模板部署时,部署将等待pod的创建(“状态:容器创建”)。如果将
persistentVolumeClaim
项替换为临时卷声明:

        volumes:
        - emptyDir: {}
          name: volume-001
一开始很好。因此,问题似乎特定于
persistentVolumeClaim
条目。PV和PVC都是预先设置的,如下所示:

> oc get pv
NAME         CAPACITY   ACCESSMODES   STATUS    CLAIM                 REASON    AGE
nfs-pv00     50Gi       RWX           Bound     my-project/nfs-pvc              1h

> oc get pvc
NAME         STATUS    VOLUME     CAPACITY   ACCESSMODES   AGE
nfs-pvc      Bound     nfs-pv00   50Gi       RWX           1h

编辑:另一个数据点(也许我应该从这里开始)是,如果通过选择“附加存储”并指定PVC从openshift控制台(应用程序->部署->我的dc)修改现有部署配置,则会观察到与模板部署相同的行为:新部署启动(由于配置更改)但其关联的pod从未启动。

解决了:我的问题。我发现我在为PV服务而设置的NFS服务器上有一个错误的装载点。一旦我指定了正确的装载点,pod启动正常(好吧,继续下一个问题).

你能从
oc get pvc
中得到什么?如果你对可以使用的持久卷的数量有配额,并且已经申请了配额,那么如果模板的结构需要申请一个新卷,它将处于挂起状态。如果你确实有最大申请卷,但没有使用它们,你应该首先释放它们。我补充道d上面编辑的OP中的输出。我没有看到任何配额的提及,我只有这一个(nfs-pv00)和另一个容器注册表(在不同的项目中)。因此,我认为我没有达到限制。如果这是您设置的群集,则不会有配额。我仅提及配额,以防您使用OpenShift Online developer预览,该预览具有每个用户2个永久卷的配额。