gpt4 book ai didi

azure - 删除存储类 AKS 上的 'default' 注释不会持续存在

转载 作者:行者123 更新时间:2023-12-02 11:55:21 25 4
gpt4 key购买 nike

我正在尝试在我们的 Azure Kubernetes 服务中设置新的默认存储类。 (1.15.10)。我尝试了一些方法,但这种行为对我来说很奇怪。

我创建了一个新的存储类custom,将其设置为默认存储类,然后从default 存储类中删除 is-default-class。

默认存储类.yml:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: custom
parameters:
cachingmode: ReadOnly
kind: Managed
storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
reclaimPolicy: Delete
volumeBindingMode: Immediate

和命令:

# create new storage class "custom"
kubectl apply -f ./default-storage-class.yml
# set storageclass as new default
kubectl patch storageclass custom -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
# remove default storage class from default
kubectl patch storageclass default -p '{"metadata": {"annotations":{"storageclass.beta.kubernetes.io/is-default-class":"false"}}}'

起初,它似乎工作正常:

$kubectl get sc
custom (default) kubernetes.io/azure-disk 6d23h
default kubernetes.io/azure-disk 14m

但在一分钟内,没有改变任何东西:

$kubectl get sc
custom (default) kubernetes.io/azure-disk 6d23h
default (default) kubernetes.io/azure-disk 16m

我可能在这里遗漏了一些东西,但不知道是什么。

如果我在它没有变回来的那一刻执行kubectl描述sc默认:

storageclass.beta.kubernetes.io/is-default-class=false,storageclass.kubernetes.io/is-default-class=false

过了一会儿:

storageclass.beta.kubernetes.io/is-default-class=true,storageclass.kubernetes.io/is-default-class=false

最佳答案

经过大量测试,发现使默认值变为非默认值的唯一方法是不仅更新 storageclass.beta.kubernetes.io/is-default-class 注释,还更新 kubectl.kubernetes.io/last-applied-configuration 注释以及。

kubectl patch storageclass default -p '{"metadata": {"annotations":{"storageclass.beta.kubernetes.io/is-default-class":"false", "kubectl.kubernetes.io/last-applied-configuration": "{\"allowVolumeExpansion\":true,\"apiVersion\":\"storage.k8s.io/v1beta1\",\"kind\":\"StorageClass\",\"metadata\":{\"annotations\":{\"storageclass.beta.kubernetes.io/is-default-class\":\"false\"},\"labels\":{\"kubernetes.io/cluster-service\":\"true\"},\"name\":\"default\"},\"parameters\":{\"cachingmode\":\"ReadOnly\",\"kind\":\"Managed\",\"storageaccounttype\":\"StandardSSD_LRS\"},\"provisioner\":\"kubernetes.io/azure-disk\"}"}}}'

应用此后,默认 StorageClass 保持非默认状态。

关于azure - 删除存储类 AKS 上的 'default' 注释不会持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62025294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com