1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/AliyunContainerService-external-storage

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 00:18 03efb5d

Внешние хранилища

Build Status

GoDoc

Go Report Card

Внешние провайдеры

В этом репозитории хранятся внешние провайдеры, поддерживаемые сообществом, а также вспомогательная библиотека для их создания. Каждый провайдер находится в своём собственном каталоге, поэтому для получения информации о том, как его использовать, перейдите в его каталог и ознакомьтесь с документацией. Библиотека находится в каталоге lib.

Что такое внешний провайдер?

Внешний провайдер — это динамический провайдер PV, код которого находится вне дерева Kubernetes. В отличие от встроенных динамических провайдеров, которые работают как часть контроллера менеджера Kubernetes, внешние могут быть развёрнуты и обновлены независимо.

Внешние провайдеры работают так же, как встроенные динамические провайдеры PV. Объект StorageClass может указать экземпляр внешнего провайдера в качестве своего provisioner, как и встроенные провайдеры. Затем экземпляр будет следить за PersistentVolumeClaims, запрашивающими StorageClass, и автоматически создавать для них PersistentVolumes. Для получения дополнительной информации о работе динамического обеспечения см. документацию или этот блог.

Как использовать библиотеку

import (
  "github.com/kubernetes-incubator/external-storage/lib/controller"
)

Вам необходимо реализовать интерфейс Provisioner, затем передать свою реализацию в ProvisionController и запустить контроллер. Контроллер отвечает за принятие решения о вызове методов Provision или Delete вашей реализации. Интерфейс и контроллер определены в указанном выше пакете.

Вы захотите импортировать конкретную версию библиотеки, чтобы обеспечить совместимость с определёнными версиями Kubernetes и избежать критических изменений. Этот репозиторий будет помечен в соответствии с версией библиотеки (отдельные провайдеры должны будут самостоятельно определять версии, например, указывая на Docker Hub и используя теги Docker), поэтому, чтобы отслеживать выпуски, перейдите на страницу релизов этого репозитория.

Обратите внимание, что, поскольку вашему провайдеру также необходимо зависеть от client-go, а сама библиотека зависит от определённой версии client-go, чтобы избежать конфликта зависимостей, вы должны убедиться, что используете ту же версию client-go, что и библиотека. Вы можете проверить, от какой версии client-go зависит библиотека, посмотрев её glide.yaml.

Всю документацию, включая полное руководство по написанию внешнего провайдера с использованием библиотеки, демонстрирующее вышеизложенное, см. здесь.

Стратегия интеграции с client-go

Эта библиотека интегрирована с основной веткой client-go master. Как только основная ветка client-go master будет содержать новую версию зависимостей vendor client-go, зависимости этой библиотеки будут обновлены до вершины основной ветки client-go master.

План развития

Февраль

  • Завершить структуру репозитория, процесс выпуска и т. д.

Сообщество, обсуждение, вклад и поддержка

Узнайте, как взаимодействовать с сообществом Kubernetes на странице сообщества.

Связаться с сопровождающими этого проекта можно:

  • Slack: #sig-storage

Kubernetes Incubator

Это проект инкубатора Kubernetes. Проект был создан 15 ноября 2016 года (как nfs-provisioner). Команда инкубатора проекта:

— Спонсор: Клейтон Чемпион: Jan (@jsafrane) и Brad (@childsb).

SIG: sig-storage.

Code of conduct

Участие в сообществе Kubernetes регулируется Кодексом поведения Kubernetes.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/AliyunContainerService-external-storage.git
git@api.gitlife.ru:oschina-mirror/AliyunContainerService-external-storage.git
oschina-mirror
AliyunContainerService-external-storage
AliyunContainerService-external-storage
master