Loading...
Loading...
Compare original and translation side by side
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Verify storage class exists before PVC | CRITICAL | |
| 2 | Check PVC status before pod deployment | HIGH | |
| 3 | Review access modes for multi-pod access | MEDIUM | |
| 4 | Monitor PV reclaim policy | LOW | |
| 优先级 | 规则 | 影响程度 | 工具 |
|---|---|---|---|
| 1 | 创建PVC前验证存储类是否存在 | 严重 | |
| 2 | 部署Pod前检查PVC状态 | 高 | |
| 3 | 检查多Pod访问的访问模式 | 中 | |
| 4 | 监控PV回收策略 | 低 | |
| Task | Tool | Example |
|---|---|---|
| List PVCs | | |
| PVC details | | |
| Storage classes | | |
| List PVs | | |
| 任务 | 工具 | 示例 |
|---|---|---|
| 列出PVC | | |
| PVC详情 | | |
| 存储类列表 | | |
| 列出PV | | |
get_pvcs(namespace="default")
describe_pvc(name="my-pvc", namespace="default")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: standard
""")
kubectl_delete(resource_type="pvc", name="my-pvc", namespace="default")get_pvcs(namespace="default")
describe_pvc(name="my-pvc", namespace="default")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: standard
""")
kubectl_delete(resource_type="pvc", name="my-pvc", namespace="default")get_storage_classes()
kubectl_apply(manifest="""
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
""")get_storage_classes()
kubectl_apply(manifest="""
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
""")get_persistent_volumes()
describe_persistent_volume(name="pv-001")get_persistent_volumes()
describe_persistent_volume(name="pv-001")kubectl_apply(manifest="""
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: my-snapshot
namespace: default
spec:
volumeSnapshotClassName: csi-snapclass
source:
persistentVolumeClaimName: my-pvc
""")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: restored-pvc
spec:
dataSource:
name: my-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
""")kubectl_apply(manifest="""
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: my-snapshot
namespace: default
spec:
volumeSnapshotClassName: csi-snapclass
source:
persistentVolumeClaimName: my-pvc
""")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: restored-pvc
spec:
dataSource:
name: my-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
""")describe_pvc(name="my-pvc", namespace="default")
get_events(namespace="default")
describe_pod(name="my-pod", namespace="default")describe_pvc(name="my-pvc", namespace="default")
get_events(namespace="default")
describe_pod(name="my-pod", namespace="default")