Синхронізація вашого репозиторію чартів
Примітка: Цей приклад для хмарного сховища Google (GCS), яке обслуговує репозиторій чартів.
Попередні умови
- Встановіть інструмент gsutil. Ми значною мірою покладаємося на функціональність gsutil rsync.
- Переконайтеся, що у вас є доступ до бінарного файлу Helm.
- Необовʼязково: Ми рекомендуємо встановити версіювання обʼєктів у вашому сховищі GCS, на випадок, якщо ви випадково щось видалите.
Налаштування теки локального репозиторію чартів
Створіть локальну теку, як ми це робили в керівництві з репозиторію чартів, і помістіть ваші упаковані чарти в цю теку.
Наприклад:
$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/
Генерація оновленого файлу index.yaml
Використовуйте Helm для генерації оновленого файлу index.yaml, передавши шлях до теки та URL-адресу віддаленого репозиторію команді helm repo index
, як показано нижче:
$ helm repo index fantastic-charts/ --url https://fantastic-charts.storage.googleapis.com
Це згенерує оновлений файл index.yaml і помістить його в теку fantastic-charts/
.
Синхронізація ваших локальних та віддалених репозиторіїв чартів
Завантажте вміст теки у ваше сховище GCS, запустивши scripts/sync-repo.sh
та передавши назву локальної теки та назву сховища GCS.
Наприклад:
$ pwd
/Users/me/code/go/src/helm.sh/helm
$ scripts/sync-repo.sh fantastic-charts/ fantastic-charts
Getting ready to sync your local directory (fantastic-charts/) to a remote repository at gs://fantastic-charts
Verifying Prerequisites....
Thumbs up! Looks like you have gsutil. Let's continue.
Building synchronization state...
Starting synchronization
Would copy file://fantastic-charts/alpine-0.1.0.tgz to gs://fantastic-charts/alpine-0.1.0.tgz
Would copy file://fantastic-charts/index.yaml to gs://fantastic-charts/index.yaml
Are you sure you would like to continue with these changes?? [y/N]} y
Building synchronization state...
Starting synchronization
Copying file://fantastic-charts/alpine-0.1.0.tgz [Content-Type=application/x-tar]...
Uploading gs://fantastic-charts/alpine-0.1.0.tgz: 740 B/740 B
Copying file://fantastic-charts/index.yaml [Content-Type=application/octet-stream]...
Uploading gs://fantastic-charts/index.yaml: 347 B/347 B
Congratulations your remote chart repository now matches the contents of fantastic-charts/
Оновлення вашого репозиторію чартів
Ви захочете зберегти локальну копію вмісту вашого репозиторію чартів або використати gsutil rsync
для копіювання вмісту вашого віддаленого репозиторію чартів до локальної теки.
Наприклад:
$ gsutil rsync -d -n gs://bucket-name local-dir/ # прапорець -n виконує пробний запуск
Building synchronization state...
Starting synchronization
Would copy gs://bucket-name/alpine-0.1.0.tgz to file://local-dir/alpine-0.1.0.tgz
Would copy gs://bucket-name/index.yaml to file://local-dir/index.yaml
$ gsutil rsync -d gs://bucket-name local-dir/ # виконує дії копіювання
Building synchronization state...
Starting synchronization
Copying gs://bucket-name/alpine-0.1.0.tgz...
Downloading file://local-dir/alpine-0.1.0.tgz: 740 B/740 B
Copying gs://bucket-name/index.yaml...
Downloading file://local-dir/index.yaml: 346 B/346 B
Корисні посилання:
- Документація щодо gsutil rsync
- Керівництво репозиторію чартів
- Документація щодо версіювання обʼєктів та керування паралельністю у хмарному сховищі Google