有没有办法让skaffold dev
完全跳过图像构建,包括初始图像构建?我有一个预构建的映像。我只想让skaffold部署K8s部署YAML文件并将本地文件同步到它。我找不到如何做到这一点的工作示例。最接近的是这个,但它假设了一个初始的图像构建。
skaffold dev --auto-build=false
静态生成。
我的skaffold.yaml
apiVersion: skaffold/v2beta26
kind: Config
build:
artifacts:
- image: gcr.io/my-project/my-repo
context: .
sync:
infer: ["**/*"]
deploy:
kubectl:
manifests:
- skaffold/*.yaml
skaffold dev --auto-build=false --default-repo gcr.io/my-project
Listing files to watch...
- gcr.io/my-project/my-repo
Generating tags...
- gcr.io/my-project/my-repo -> gcr.io/my-project/my-repo:v0.7.4-182-gb47cd3b5-dirty
Checking cache...
- gcr.io/my-project/my-repo: Not found. Building
Starting build...
Building [gcr.io/my-project/my-repo]...
更新:在Ubuntu虚拟机上使用skaffold v1.35.0,部署到通过谷歌云控制台创建的远程GKE集群版本1.20.10-GKE.1600。在谷歌容器注册表(gcr.io(中存储图像。
Skafold的build.local.tryImportMissing: true
设置将导致Skafold使用已标记的图像(如果该图像已存在(。在上面的例子中,Skafold会查找gcr.io/my-project/my-repo:v0.7.4-182-gb47cd3b5-dirty
。
您可以将tryImportMissing
和skaffold dev --tag {fixed-tag}
参数组合起来,覆盖标记策略以指定固定标记。
skaffold dev
还支持--auto-build=false --auto-deploy=false
,以避免重新构建和重新部署更改后的映像。