Я пытаюсь установить новый класс хранения по умолчанию в нашем Azure Kubernetes Service. (1.15.10). Я пробовал несколько вещей, но поведение мне кажется странным.
Я создал новый класс хранилища custom
, установил его как класс хранилища по умолчанию, а затем удалил класс is-default из класса хранилища default
.
default-storage-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 describe sc default
через минуту, оно не изменилось обратно:
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