如何在Openshift中扩展存储?

如何在Openshift中扩展存储?,openshift,Openshift,Openshift容器平台包含存储部分,我们可以在其中管理可用存储列表。但是,无法使用UI编辑存储。唯一可用的操作是删除。可用的文档没有描述扩展存储的简单操作 如何在Openshift中扩展存储?是否使用allowVolumeExpansion:true创建StorageClass?如果要扩展现有的PV/PVC,需要通过StorageClass使用PV/PVC。请参阅此处:了解更多详细信息 allowVolumeExpansion: true apiVersion: storage.k8s.io

Openshift容器平台包含存储部分,我们可以在其中管理可用存储列表。但是,无法使用UI编辑存储。唯一可用的操作是删除。可用的文档没有描述扩展存储的简单操作


如何在Openshift中扩展存储?

是否使用allowVolumeExpansion:true创建StorageClass?如果要扩展现有的PV/PVC,需要通过StorageClass使用PV/PVC。请参阅此处:了解更多详细信息

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard-testing
:

您是否使用allowVolumeExpansion:true创建StorageClass?如果要扩展现有的PV/PVC,需要通过StorageClass使用PV/PVC。请参阅此处:了解更多详细信息

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard-testing
:

如果无法调整StorageClass以指定allowVolumeExpansion:true,则唯一的其他选项是创建新的、更大的PV并迁移数据

这可能通过脚本实现自动化。假设只有RWO卷可用,这将需要最少的停机时间,因为该卷一次只能连接到一个卷

!/usr/bin/env bash 用法:script.sh 示例:script.sh postgresql postgresql数据5Gi set-e 部署=1美元 PVCCLAIMNAME=$2 DEPLOYMENTVOLUMENAME=$3 PVCSIZE=4美元 RANDOM_ID=$uuidgen | awk-F-“{print tolower$2}” oc运行pv迁移-image=registry.redhat.io/rhel7/rhel-tools-replications=0-tail-f/dev/null oc set volume deploymentconfig pv migration-add-t pvc-name=old pv-claim name=$PVCCLAIMNAME-mount path=/old pv path oc set volume deploymentconfig pv migration-add-t pvc-name=new pv-claim name=${PVCCLAIMNAME}${RANDOM_ID}-mount path=/new pv path-claim mode=ReadWriteOnce-claim size=$PVCSIZE oc scale deploymentconfig$DEPLOYMENT-副本=0 oc scale deploymentconfig pv迁移-副本=1 等待吊舱 而[[-z$oc get pods-l deploymentconfig=pv migration-o jsonpath='{.items[?@.status.phase==Running].metadata.name}'|cut-d-f 1]] 做 回波等待pv迁移吊舱 睡眠1 完成 oc exec$oc get pods-l deploymentconfig=pv迁移-o jsonpath='{.items[?@.status.phase==Running].metadata.name}'| cut-d-f 1-rsync-avxHAX-no-t-progress/old pv path//new pv path/ oc delete deploymentconfig pv迁移-宽限期=0-强制 oc set volume deploymentconfig$DEPLOYMENT-add-name=$DEPLOYMENTVOLUMENAME-claim name=${PVCCLAIMNAME}${RANDOM_ID}-覆盖 oc scale deploymentconfig$DEPLOYMENT-副本=1 回音完成
如果您无法调整StorageClass以指定allowVolumeExpansion,则在

上发布了一份社区指南,其中包含此信息和更多信息:如果您无法调整StorageClass以指定allowVolumeExpansion,则唯一的其他选项是创建一个新的、更大的PV并迁移数据

这可能通过脚本实现自动化。假设只有RWO卷可用,这将需要最少的停机时间,因为该卷一次只能连接到一个卷

!/usr/bin/env bash 用法:script.sh 示例:script.sh postgresql postgresql数据5Gi set-e 部署=1美元 PVCCLAIMNAME=$2 DEPLOYMENTVOLUMENAME=$3 PVCSIZE=4美元 RANDOM_ID=$uuidgen | awk-F-“{print tolower$2}” oc运行pv迁移-image=registry.redhat.io/rhel7/rhel-tools-replications=0-tail-f/dev/null oc set volume deploymentconfig pv migration-add-t pvc-name=old pv-claim name=$PVCCLAIMNAME-mount path=/old pv path oc set volume deploymentconfig pv migration-add-t pvc-name=new pv-claim name=${PVCCLAIMNAME}${RANDOM_ID}-mount path=/new pv path-claim mode=ReadWriteOnce-claim size=$PVCSIZE oc scale deploymentconfig$DEPLOYMENT-副本=0 oc scale deploymentconfig pv迁移-副本=1 等待吊舱 而[[-z$oc get pods-l deploymentconfig=pv migration-o jsonpath='{.items[?@.status.phase==Running].metadata.name}'|cut-d-f 1]] 做 回波等待pv迁移吊舱 睡眠1 完成 oc exec$oc get pods-l deploymentconfig=pv迁移-o jsonpath='{.items[?@.status.phase==Running].metadata.name}'| cut-d-f 1-rsync-avxHAX-no-t-progress/old pv path//new pv path/ oc delete deploymentconfig pv迁移-宽限期=0-强制 oc set volume deploymentconfig$DEPLOYMENT-add-name=$DEPLOYMENTVOLUMENAME-claim name=${PVCCLAIMNAME}${RANDOM_ID}-覆盖 oc scale deploymentconfig$DEPLOYMENT-副本=1 回音完成
这里有一个社区指南,其中包含此信息和更多信息,请访问

首先,谢谢。这似乎是个好办法。但是,您知道是否可以在不涉及存储类定义的情况下执行此操作吗?不幸的是,由于权限/策略的原因,我无法编辑它。不幸的是,如果您没有群集管理员或存储管理员角色来配置allowVolumeExpansion:对于新的storageclass,则可能无法扩展PV/PVC。在移除现有PVC后,您可以再次创建更大的PVC。首先,谢谢。这似乎是个好办法。但是,您知道是否可以在不涉及存储类定义的情况下执行此操作吗?不幸的是,由于许可/政策,我无法
不编辑它。不幸的是,如果您没有群集管理员或存储管理员角色来配置allowVolumeExpansion:true与new storageclass,那么恐怕无法扩展PV/PVC。移除现有PVC后,您可以再次创建更大的PVC。