Мы пытаемся настроить локальную среду разработки с несколькими приложениями для микросервисов под Skaffold.Нам удалось сделать это с помощью базового Skaffold, используя (слегка устаревшее) учебное пособие https://github.com/ahmetb/skaffold-from-laptop-to-cloud.. И чтобы Skaffold отправлял изображения в локальный репозиторий без Helm, все, что мне нужно было сделать, это настроить imageName для использования чего-либокак localhost: 5000 / имя_изображения.
Но с Helm, хорошо .... Я установил очень грубую установку Helm (ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я пока не очень знаком с Helm), просто изменив скаффолд YAML для использования Helm и сбросив все .YAMLфайлы развертывания и обслуживания в директории / templates диаграммы Хелма, и это бомбили.
Затем Skaffold успешно создает любые модули, которые полагаются на стандартное внешнее изображение (например, redis), но затем всякий раз, когда что-либо использует изображение, которое будет сгенерировано из локального файла Dockerfile, оно застревает и выдает эту ошибку:
Не удалось получить изображение "localhost: 5000 / k8s-skaffold / php-test": ошибка rpc: code = Unknown desc = Ответ об ошибке от демона: Get http://localhost:5000/v2/: dial tcp [::1]: 5000: connect: соединение отклонено
Насколько я могу судить, эта ошибка возникает, когда мы не инициализировали локальный репозиторий образов Docker - но с версией без Helm,нам не нужно запускать локальный репозиторий изображений, Скаффолд просто делает это волшебство.Что является частью апелляции Скаффолда.
Итак, как нам автоматически заставить Skaffold создать диаграммы Хелма, которые создают и извлекают из локального репозитория?(Как уже отмечалось, это может быть мое незнакомство с Хелмом. Если это так, я приношу свои извинения.)
YAML Skaffold таков:
apiVersion: skaffold/v1beta7
kind: Config
build:
tagPolicy:
sha256: {}
artifacts:
- image: localhost:5000/k8s-skaffold/php-test
context: voting-app/php-test
deploy:
helm:
releases:
- name: php-help-test
chartPath: helm
#wait: true
#valuesFiles:
#- helm-skaffold-values.yaml
values:
image: localhost:5000/k8s-skaffold/php-test
#recreatePods will pass --recreate-pods to helm upgrade
#recreatePods: true
#overrides builds an override values.yaml file to run with the helm deploy
#overrides:
# some:
# key: someValue
#setValues get appended to the helm deploy with --set.
#setValues:
#some.key: someValue
И значения Helm Chart values.yaml по умолчаниюобеспечивается сгенерированной диаграммой.При необходимости я также могу предоставить Dockerfile, но он просто извлекает из этого изображения.