我有一个OpenShift部署配置模板,我是从一个工作部署生成的(使用" oc export")。原始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
使用此模板部署时,部署会等待创建窗格("状态:容器创建")。如果用短暂的卷声明替换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
编辑:另一个数据点(也许我应该开始)是通过选择"附加从openshift控制台(Applications-> Deployments-> my-dc)修改现有部署配置存储"并且指定PVC时,观察到与模板化部署相同的行为:新部署启动(由于配置更改)但其关联的pod永远不会启动。
答案 0 :(得分:0)
解决:我的坏。我发现我在为服务PV而设置的NFS服务器上有一个错误的挂载点。一旦我指定了正确的安装点,pod就会很好地启动(好吧,无论如何都要解决下一个问题)。