kubectl命令在kubernetes存储类中修补特定属性[关闭]

zi8p0yeb  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(106)

已关闭此问题为not about programming or software development。它目前不接受回答。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
昨天关门了。
Improve this question
我有下面的Kubernetes存储类

Name:            encrypted-gp2
IsDefaultClass:  No
Annotations:     kubectl.kubernetes.io/last-applied-configuration={"allowVolumeExpansion":true,"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"encrypted-gp2"},"parameters":{"encrypted":"true","fsType":"ext4","type":"gp2"},"provisioner":"kubernetes.io/aws-ebs","volumeBindingMode":"WaitForFirstConsumer"}

Provisioner:           kubernetes.io/aws-ebs
Parameters:            encrypted=true,fsType=ext4,type=gp2
AllowVolumeExpansion:  True
MountOptions:          <none>
ReclaimPolicy:         Delete
VolumeBindingMode:     WaitForFirstConsumer
Events:                <none>

现在,我想仅为ReclaimPolicy属性修补此存储类,以便将ReclaimPolicy切换为Retain
我正在寻找一个特定的补丁命令在这种情况下。

mqkwyuun

mqkwyuun1#

这将是简短而简单的一句话:

kubectl patch sc encrypted-gp2 -p '{"ReclaimPolicy":"Retain"}'

但是,类是不可变的,所以你必须创建一个新的:

$ kubectl get sc encrypted-gp2 -o=yaml > sc.yaml

编辑sc.yaml并更改回收策略,然后:

$ kubectl replace -f sc.yaml --force
of1yzvn4

of1yzvn42#

我尝试了以下命令:
kubectl patch sc test-storage-class -p '{"allowVolumeExpansion": true}'
它工作正常,没有影响任何现有的PV、PVC或pod。当它运行正常时,我为我的实际用例执行了以下命令:
kubectl patch sc gp2 -p '{"allowVolumeExpansion": true}'

相关问题