openshift - 为什么某些 OpenShift 命令会特殊处理 PersistentVolumeClaims
问题描述
为什么 OpenShift 3.10 中的范围oc get all
(和oc delete all --all
)不包括类型的组件PersistentVolumeClaim
?需要单独的oc get pvc
(and oc delete pvc --all
)。
特殊对待这些物品有什么特别的原因吗?(显然它们只是在某些方面是特殊的;例如,应用程序模板可以很正常地与其他组件一起创建它们。)
更新类型的组件Secret
也可能以类似的方式和出于类似的原因进行特殊处理。我能想到的一个原因是这些组件通常可能比应用程序具有更长的生命周期。
解决方案
我现在已经得出结论(也从收到的评论中),行为旨在防止意外删除亲爱的持久存储,其生命周期可能大大超过单个(版本)应用程序。
因此,我现在稍微重构了应用程序模板。到目前为止,一个模板(YAML 文件)负责创建所有组件(机密除外)。这导致了一种“不平衡”的情况,需要一个oc new-app --template=app
创建应用程序,但需要两个oc delete
s (oc delete all --selector app=...
和oc delete pvc --selector app=..
) 完全删除。将模板拆分为新的“平衡”排列后app.yaml
,yaml.yaml
如下所示:
# create app (including its persistent storage)
oc new-app --template=app
oc new-app --template=pvc
# delete app (including its persistent storage)
oc delete all --selector app=...
oc delete pvc --selector app=...
我仍然将秘密排除在此范围之外,并预先创建它们oc create secret
。
推荐阅读
- python - 通过添加数字使数组连续子序列
- apache-spark - 我们如何在 pyspark 中使用带有 dataframe API 而不是 SQL 的窗口函数(例如以 dense_rank 为例)?
- firebase - React-firebase-hooks 或 app.auth() 方法无法使用 Next js
- ethereum - 如何计算在 Uniswap V3 中增加流动性的存款金额
- node.js - npm express-session 无法获取值或为空
- css - 通过内联样式动态设置背景 Div 图像时不显示 | Next.js
- javascript - React - 使用 useRef 进行优化(性能)
- mongodb - 第一次使用 MongoDB + Docker - 从 docker compose 设置
- google-apps-script - 创建一个循环以从 api 收集数据并将数据发送到 Google 表格
- regex - 正则表达式与提取 IIS 站点 ID 不匹配