Skaffold 用于部署已经构建的现有镜像

问题描述

我有一个用例,我使用 Github Actions 构建一次镜像到 Github 容器存储库。然后我想使用 Skaffold 将已经构建的镜像部署到多个 Kubernetes 集群。构建和部署需要分开,所以我们不使用 Skaffold 来构建,而只是为了部署。


apiVersion: skaffold/v2beta4
kind: Config
Metadata:
  name: svc-one
build:
  local:
    push: true
    useDockerCLI: true
  artifacts:
    - image: registry.digitalocean.com/xyz/svc-one
      docker:
        dockerfile: Dockerfile <-- instead of this use existing built image from github

deploy:
  kubectl:
    manifests:
      - k8s/deployment.yaml

解决方法

如果您不想构建,则您的 export const propsArray = data.properties.map( datum => ({ key: Math.floor(Math.random() * 1234),author: datum.value,comment: datum.group,rate: datum.type,}) ); 中不需要构建部分。只需更新该清单中的图像。

,

因为我不能发表评论,只是为了澄清 user140547 在说什么。在您的 skaffold.yaml 文件中,它现在看起来像这样

apiVersion: skaffold/v2beta4
kind: Config
metadata:
  name: svc-one

deploy:
  kubectl:
    manifests:
      - k8s/deployment.yaml

然后在您的 deployment.yaml 文件中,您只需包含图像名称

spec:
    spec:
      containers:
        - image: (yourImageNamefromGitHubOrWherever)