Извлечь артефакты диаграммы из выпуска - PullRequest
0 голосов
/ 16 декабря 2018

Это дополнительный вопрос относительно синтаксиса helm get для получения диаграммы выпуска .

Я хотел бы понять, поддерживается ли следующий вариант использования с помощью helm илине:

  1. Алиса создает на своем ноутбуке диаграмму foo, которая хранится в каталоге в файловой системе ноутбука:

    [alice-laptop]$ helm create foo
    # Alice fiddles with contents of foo, like Chart.yaml, templates...
    
  2. Алиса генерирует релиз из foo со своего ноутбука, вызывая экземпляр bar:

    [alice-laptop]$ helm install -n bar foo
    
  3. Алиса входит вОтдых, походы в горы.Хорошо для нее!

  4. Пока ее нет, Бобу предлагается внести некоторые изменения в выпуск bar, а также запустить еще один выпуск tut для безопасной игры.Поэтому Боб хотел бы запустить какую-нибудь команду, чтобы получить chart foo (не только имя, но все артефакты!), Которые использовались во время генерации bar, чтобы внести в них изменения иправильно используйте helm:

    [bob-laptop]$ helm whatever-command-if-possible bar
    # ideally Bob has a `foo' directory now and can fiddle with it...
    
    # ... to make the required changes for release `bar'
    [bob-laptop]$ helm update bar foo
    
    # ... and to install another release `tut'
    [bob-laptop]$ helm install -n tut foo 
    

Боб читает, что get может быть подходящим инструментом для задания whatever-command-if-possible выше, но на самом деле не знает, является ли этоили нет, или если это вообще можно сделать.

1 Ответ

0 голосов
/ 17 декабря 2018

Нет, следующий вариант использования невозможен.

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

Возможно, вы захотите поделиться своими диаграммами с другими раздел

Прежде всего, у Алисы и Боба должен быть общий репозиторий диаграмм .В этом примере они используют общедоступную корзину GCP common-charts .charts-example

Прежде чем уйти в отпуск, после того, как Алиса создаст и закончит работу над графиком (и перед созданием релиза из него), она должна упаковать график.

[alice-laptop]$ helm package foo

Это создаст foo-0.1.0.tgz пакет диаграмм.

Successfully packaged chart and saved it to: C:\home\stack\foo-0.1.0.tgz

Алиса создает индексный файл и загружает пакет и индексный файл в GCP Bucket

[alice-laptop]$ mkdir common-charts
[alice-laptop]$ mv foo-0.1.0.tgz common-charts
[alice-laptop]$ helm repo index common-charts --url https://common-charts.storage.googleapis.com

[alice-laptop]$ gsutil cp common-charts\* gs://common-charts
Copying file://common-charts\foo-0.1.0.tgz [Content-Type=application/x-tar]...
Copying file://common-charts\index.yaml [Content-Type=application/octet-stream]...
\ [2 files][  1.8 KiB/  1.8 KiB]
Operation completed over 2 objects/1.8 KiB.

Пока ее нет, Боб может загрузить foo диаграмму из common-диаграммы хранилище диаграмм, распакуйте его и примените изменения.

[bob-laptop]$ helm repo add common-charts https://common-charts.storage.googleapis.com
[bob-laptop]$ helm search foo
NAME                    CHART VERSION   APP VERSION     DESCRIPTION
common-charts/foo       0.1.0           1.0             A Helm chart for Kubernetes

[bob-laptop]$ helm fetch common-charts/foo --untar
[bob-laptop]$ ls -la
drwxr-xr-x 1 bob 1049089   0 Dec 20 12:15 foo/

Боб также может добавить новые диаграммы в существующее хранилище , и Алиса сможет загрузить их, когда вернется.

...