在我的情况下,我有点困惑如何正确地设置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,将其打包到映像中并进行部署。我一个接一个地引用两件事:
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]这里发生什么事情?如果不大惊小怪的话,我就没法让这个工作了。至少可以说,关于员工和如何正确处理事情的教程和文档是稀缺的。
编辑
所以我确实在做:
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所以这是相当混乱的。我还少了什么?
发布于 2021-07-16 20:08:40
您需要将skaffold build构建的图像传送到skaffold deploy中。
skaffold build --file-output=images.json
skaffold deploy --build-artifacts=images.jsonskaffold deploy不构建映像:它只是部署了一组映像。因此,deploy需要知道要部署的映像。
skaffold run将这些步骤组合成一个命令。
https://stackoverflow.com/questions/68414470
复制相似问题