Спинакер: как добавить кастомные бомбы в капсулу спинакера, чтобы можно было развернуть ее с помощью халата?

Я хотел бы предоставить спинакеру заказную спецификацию (спецификацию материалов) так что я могу настроить репозитории в соответствии со своими потребностями. Я новичок в k8s, helm and spinnaker и altought, читая документ, есть некоторые вещи, не совсем понятные, как это сделать ...

Проблема

У меня нет доступа к хранилищу gcs и нет прямого доступа к внешним репозиториям. Поэтому мне нужно настроить artifactSources соответственно

Согласно документу, я думаю, что я должен предоставить настраиваемую бомбу в некотором роде чтобы они читались из файловой системы - поэтому внутри контейнера spinnaker-spinnaker-halyard-0

Мои шаги

Подготовить кластер кубернетов

Я делаю первоначальное развертывание с помощью helm, что-то вроде

helm install stable/spinnaker --name=spinnaker --namespace=spinnaker -f values.yml

После подключения к модулю spinnaker-spinnaker-halyard-0 и запуска

$ kubectl.exe exec -it spinnaker-spinnaker-halyard-0 -n spinnaker bash

Развернуть спинакер

Согласно документу здесь и здесь Я бы сделал что-нибудь вроде

$ hal config version edit --version local:1.11.6
$ hal deploy apply

Что не удается, очевидно, потому что нет локального файла bom

Problems in Global:
! ERROR Unable to retrieve the Spinnaker bill of materials for
  version "local:1.11.6": /home/spinnaker/.hal/.boms/bom/1.11.6.yml (No such file
  or directory)

- Failed to prep Spinnaker deployment

Вопрос: как предоставить заказную спецификацию?

Согласно документу, бомбы должны находиться в определенном каталоге и структуре ${HALCONFIG_DIR}/.boms/boms/${VERSION}.yml

Итак, как мне получить там свой собственный POM? Когда я смотрю на диаграмму штурвала Я не вижу (или не понимаю), как я мог это сделать, например через additional-config-maps


person papanito    schedule 01.03.2019    source источник


Ответы (1)


Я нашел способ, но это делается вручную, работая в контейнере spinnaker-spinnaker-halyard. Я уверен, что есть способ получше ...

Я добавляю кастомную бомбу как additionalConfigMap в values.yml файл

...
  additionalConfigMaps:
    create: true
    data:
      # https://storage.googleapis.com/halconfig/bom
      bom_1.12.4.yml: |
        version: 1.12.4
        timestamp: '2019-03-01 08:06:24'
        services:
          echo:
            version: 2.3.1-20190214121429
            commit: 5db9d437ca7f2fa374dcada17f77bbbb2965bd67
          clouddriver:
            version: 4.3.4-20190301030607
            commit: b5539c47aad309e24428abb8f8303aff45323b43
          deck:
            version: 2.7.4-20190228030607
            commit: dccdd730886a6beb0388e3622581d8da1ed8edbb
          fiat:
            version: 1.3.2-20190128153726
            commit: daf21b24330a5f22866601559aa0f7ac99590274
          front50:
            version: 0.15.2-20190222161456
            commit: 3105e86b8c084ad6ad78507e3a5e5a427f290b99
          gate:
            version: 1.5.2-20190301030607
            commit: b238ab993ab25381ce907260879548ed74a4953f
          igor:
            version: 1.1.1-20190213190226
            commit: 63d06a5c5d55f07443dd60a81035b35cf96238e7
          kayenta:
            version: 0.6.1-20190221030610
            commit: 81d906bf8307143f40fe88f8554baa318de25ef1
          orca:
            version: 2.3.1-20190220030610
            commit: bad45e78566449117b678a3317552cf53d0dd14e
          rosco:
            version: 0.9.0-20190123170846
            commit: 42f81a2501de6d40676d47661579a6106b5c3e8a
          defaultArtifact: {}
          monitoring-third-party:
            version: 0.11.2-20190222030609
            commit: 232c84a8a87cecbc17f157dd180643a8b2e6067a
          monitoring-daemon:
            version: 0.11.2-20190222030609
            commit: 232c84a8a87cecbc17f157dd180643a8b2e6067a
        dependencies:
          redis:
            version: 2:2.8.4-2
          consul:
            version: 0.7.5
          vault:
            version: 0.7.0
        artifactSources:
          debianRepository: https://nexus.intra/repository/spinnaker-releases/
          dockerRegistry: nexus.intra:5000/spinnaker-marketplace
          googleImageProject: marketplace-spinnaker-release
          gitPrefix: https://scm.intra/scm/SPIN/repos

Затем свяжите настраиваемую бомбу в контейнере halyard, настройте версию и запустите развертывание.

mkdir -p ~/.hal/.boms/bom
ln -s /opt/halyard/additionalConfigMaps/bom_1.12.4.yml ~/.hal/.boms/bom/1.12.4.yml
hal config version edit --version local:1.12.4
hal deploy apply
person papanito    schedule 04.03.2019
comment
это то, что я искал. должно быть в официальной документации. - person Rahul Bali; 26.03.2021