k8s-具有服务依赖性的部署

时间:2019-03-19 05:22:42

标签: kubernetes kubernetes-deployment

我当时正在使用k8s部署-滚动更新,它确实运行良好。 我很想知道当我们有服务依赖性时该如何进行部署!不知道我是否正确解释了我的问题。这只是一个非常高级的场景!

让我们考虑这个例子。我已经部署了2个应用程序,每个都有10个副本,作为服务公开。

Service-A
  Deployment-A
    Pod-A - v1 - (10)

Service-B
  Deployment-B
    Pod-B - v1 - (10)

服务A依赖于B。现在,作为v2版本的一部分,两个应用都需要使用v2。服务B API期望一些附加参数/稍有更改。当我们使用新版本v2升级两个应用程序时,如果服务B在服务A之前启动并运行,则某些请求将失败,因为服务A仍在v1中(升级正在进行中)。我们如何在这里进行部署而不会失败?如果您已经在使用k8,那么您将遵循的最佳做法是什么。

1 个答案:

答案 0 :(得分:2)

Enable Rolling updates in Kubernetes with Zero downtime中的“ Nilesh Jayanandana”所示,您可以检查实现readiness probe是否有助于服务B等待服务A在V2中。

另一种方法是通过Helm程序包,如“ Deploy, Scale and Upgrade an Application on Kubernetes with Helm”中所示,该程序包可以对依赖关系进行建模,然后通过helm update执行滚动升级。

相关问题