0

skaffold私の場合、正しくセットアップする方法に少し戸惑っています。これが私のものskaffold.yamlです:

apiVersion: skaffold/v2beta17
kind: Config
build:
  tagPolicy:
    gitCommit: {}
  artifacts:
    - image: zero-x/spring-cloud-kubernetes/config-map-it
      custom:
        buildCommand: ./build.sh
  local:
    useDockerCLI: false
    useBuildkit: false
    push: false


deploy:
  helm:
    releases:
      - name: config-map-it
        chartPath: src/main/helm
        artifactOverrides:
          # skaffold will override this with a different tag
          image: zero-x/spring-cloud-kubernetes/config-map-it
        valuesFiles:
          - src/main/helm/values.yaml
        wait: true
        setValues:
          namespace: spring-k8s

build.sh

#!/usr/bin/env bash

# build jar only, no tests, no chart
.././gradlew clean build bootjar -x test -x helmChartBuild --quiet
docker build --quiet --build-arg JAR_FILE='build/libs/*.jar'  -t ${IMAGE} .

${IMAGE}によって提供されskaffoldます。

そのため、最初のものをビルドし、jarそれをイメージにパックしてデプロイする必要があります。次の 2 つのことを順番に呼び出します。

skaffold build // builds the image just fine
skaffold deploy

で失敗します:

 You either need to:
 run [skaffold deploy] with [--images TAG] for each pre-built artifact
 or [skaffold run] instead, to let Skaffold build, tag and deploy artifacts.
 no tag provided for image [zero-x/spring-cloud-kubernetes/config-map-it]

ここで何が起こっているのですか?多くのバッシングがなければ、これを機能させることはできません。控えめに言っても、skaffold と適切に行う方法に関するチュートリアルとドキュメントはほとんどありません。

編集

だから私は実際にやっていた:

kind create cluster --name spring-k8s --wait 5m

その程度まで私はそう思った:

deploy:
   kubeContext: kind-spring-k8s
   helm:
   ...

物事はうまくいくでしょうが、そうではありません。

すべてを最初からやり直して実行すると、次のようになります。

skaffold deploy --file-output=images.json -vdebug

私はそれを見ます:

Tags used in deployment:
 - zero-x/spring-cloud-kubernetes/config-map-it -> zero-x/spring-cloud-kubernetes/config-map-it:78da248b669d2fafacbd144cf22d7251dfde57c664c70a5fd7d53793d9d5efd7
DEBU[0000] Local images can't be referenced by digest.
They are tagged and referenced by a unique, local only, tag instead.
See https://skaffold.dev/docs/pipeline-stages/taggers/#how-tagging-works

またはそれ以降:

helm --kube-context kind-spring-k8s dep build src/main/helm

したがって、これはかなり混乱します。これ以上何が欠けていますか?

4

1 に答える 1