parsing skaffold config: ошибка синтаксического анализа конфигурационного файла skaffold

Итак, я пытаюсь автоматизировать процесс сборки и отправки докеров, а также процесс развертывания kubectl apply, и для этого я создал файл конфигурации skaffold в основной папке следующим образом:

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
  kubectl:
    manifests:
      - ./infra/k8s/*
build:
  local:
    push: false
  artifacts:
    - image: xyz/client
      context: client
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.js'
            dest: .
    - image: xyz/comments
      context: comments
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '*.js'
            dest: .
    - image: xyz/event-bus
      context: event-bus
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '*.js'
            dest: .
    - image: xyz/moderation
      context: moderation
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '*.js'
            dest: .
    - image: xyz/posts
      context: posts
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '*.js'
            dest: .
    - image: xyz/query
      context: query
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '*.js'
            dest: .

И когда я пытаюсь использовать команду skaffold dev в папке, я получаю следующую ошибку:

parsing skaffold config: error parsing skaffold configuration file

person Ishan Joshi    schedule 19.03.2021    source источник


Ответы (3)


Артефакты используют context: для ссылки на исходные местоположения.

Я думаю, вы, должно быть, используете старую версию Skaffold. Более новые версии Skaffold предоставляют более подробную информацию:

parsing skaffold config: unable to parse config: yaml: unmarshal errors:
  line 4: field content not found in type v2alpha3.Artifact
  line 12: field content not found in type v2alpha3.Artifact
  line 20: field content not found in type v2alpha3.Artifact
  line 28: field content not found in type v2alpha3.Artifact
  line 36: field content not found in type v2alpha3.Artifact
  line 44: field content not found in type v2alpha3.Artifact

Вы можете попробовать Cloud Code для IntelliJ и VS Code или онлайн Cloud Shell Editor, который предоставляет skaffold.yaml помощь в редактировании, включая выделение ошибок в файле.

person Brian de Alwis    schedule 19.03.2021

У вас content не context в ключе под - image: измените это, и он должен работать.

person DanBonehill    schedule 25.03.2021
comment
на самом деле я установил content на context, тогда он тоже показывает то же самое. - person Ishan Joshi; 26.03.2021

У меня сработал этот рабочий процесс:

  1. Изменена первая строка на: apiVersion: skaffold / v2beta17
  2. Сначала выполните 'skaffold init'
  3. Выполнить sakffold dev

Я рекомендую проверить эту документацию: https://skaffold.dev/docs/workflows/

person Nati Kamusher    schedule 19.06.2021