Пользовательский поставщик для класса хранения

#amazon-web-services #azure #kubernetes #kubernetes-helm #persistent-volumes

#amazon-веб-сервисы #azure #kubernetes #kubernetes-рулевой #постоянные тома

Вопрос:

Я работаю над проектом и столкнулся с некоторыми проблемами. Я все еще новичок в Kubernetes и нуждаюсь в некоторой помощи в этом.

Код из конфигурации helm выглядит следующим образом:

 storage:
    storageClass: aws-efs
    provisioner: someCustomName
    pvc:
      logs:
      .........
 

Я не могу разобраться в части поставщика, вместо обычного поставщика storageclass написано какое-то пользовательское имя, например kubernetes.io/azure-file . Итак, это пользовательский поставщик? или это какая-то другая концепция? Пожалуйста, направьте меня!

Я много искал, но ничего не смог получить по этому поводу.

Ответ №1:

Если provisioner имеет префикс kubernetes.io/ like azure-file, это означает, что это внутренний плагин provisioner. Но также допустимо использовать внешний поставщик.

Вы не ограничены указанием «внутренних» поставщиков, перечисленных здесь (имена которых имеют префикс «kubernetes.io » и поставляется вместе с Kubernetes). Вы также можете запускать и указывать внешние поставщики, которые являются независимыми программами, которые соответствуют спецификации, определенной Kubernetes. Авторы внешних поставщиков имеют полную свободу действий в отношении того, где находится их код, как поставляется поставщик, как его нужно запускать, какой объемный плагин он использует (включая Flex) и т. Д. В репозитории kubernetes-sigs / sig-storage-lib-external-provisioner находится библиотека для написания внешних поставщиков, которая реализует основную часть спецификации.

Также узнайте больше о драйвере AWS EFS CSI

Комментарии:

1. Большое спасибо! Это действительно мне очень помогло. Я провел некоторое исследование по внешним провайдерам CSI. Прямо сейчас я хотел бы использовать файлы Azure вместо aws-efs, и у меня также есть плагин azure files CSI в репозитории github. Я хочу спросить, какому подходу я должен следовать, чтобы заменить aws-efs на azurefiles. Я также собираюсь сначала выполнить POC для плагина azurefiles CSI, но я хотел бы знать, двигаюсь ли я в правильном направлении !?

2. А также, зачем использовать внешний поставщик вместо внутреннего поставщика? У нас есть внутренний поставщик azurefiles kubernetes.io/azure-file , так зачем использовать плагин azure files csi?