Kubernetes 如何使用skaffold仅重新启动一个服务?

Kubernetes 如何使用skaffold仅重新启动一个服务?,kubernetes,microservices,skaffold,Kubernetes,Microservices,Skaffold,我将Skafold用于基于k8s的微服务应用程序。我输入skaffold dev和skaffold run运行,然后输入skaffold delete重新启动所有微服务 如果我只需要重新启动一项服务,我必须做什么?根据: 每次代码更改时,使用Skafold dev构建和部署应用程序 使用skaffold run构建和部署一次应用程序,类似于CI/CD管道 1。部署您的服务: skaffold run --filename=skaffold_test_1.yaml (此外,您可以有

我将Skafold用于基于k8s的微服务应用程序。我输入
skaffold dev
skaffold run
运行,然后输入
skaffold delete
重新启动所有微服务

如果我只需要重新启动一项服务,我必须做什么?

根据:

  • 每次代码更改时,使用Skafold dev构建和部署应用程序
  • 使用skaffold run构建和部署一次应用程序,类似于CI/CD管道

1。部署您的服务:

    skaffold run --filename=skaffold_test_1.yaml
(此外,您可以有多个工作流配置)

2.更改skaffold工作流配置并运行:

skaffold delete --filename=skaffold_test2.yaml
使用这种方法,在停止skaffold之后,您的部署不会像skaffold dev命令中那样被删除

基本上管理skaffold工作流配置的内容(通过添加或删除其他条目,您可以部署或删除特定的服务)


您可以使用skaffolddev的
--watchimage
标志来限制要监视的工件。这需要一个逗号分隔的图像列表,由artifact.image指定。

非常感谢。正如你所说,我可以删除一个资源。它从主
skaffold dev
终端解除绑定。我像你说的那样运行它,但它没有再次绑定。我不得不重新启动一切不清楚你是什么意思。如果仍然存在问题,请更新问题。主要区别在于
dev
run
的工作方式。在第一个示例中,dev正在监视skaffold文件中的更改,而
run
只执行一次所有任务。因此,您可以运行您的步骤,然后更改skaffold.yaml并执行例如删除一个资源(如上例所述),它将从skaffold.yaml中删除所有清单(正确维护此文件是您的责任)。
apiVersion: skaffold/v1
kind: Config
.
.
.

deploy:
  kubectl:
    manifests:
    - k8s-service1.yaml
#   - k8s-service2.yaml