首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多部署规模k8s

多部署规模k8s
EN

Stack Overflow用户
提问于 2019-10-23 19:23:39
回答 3查看 166关注 0票数 0

我已经研究过k8s,但是我没有找到对一个不那么简单的设置的答案。

我有两个应用程序(2个容器)一起工作,但没有关系。

app1接收并过滤数据,然后发送给app2

  1. 我决定让每个申请的deployment; 1.1。(并不是两个容器都驻留在同一个POD中),因为它们不应该共享任何东西--通信发生在标准网络上。 1.2。每一个都可以独立地缩放

-> Q1这种方法正确吗?

因此,我有两个部署对应于这两个应用程序。在deployment1.yamldeployment2.yaml中定义。每一个都可以独立地使用kubectl scale进行缩放。

我的两个部署应该一起工作,因此,在规模方面,我想:

  1. 标度deployment1deployment2

-> Q2是否有一种使用k8s执行多部署规模的方法?

  1. 为新创建的deployment1实例做一些事情,以便它知道deployment2存在的新实例(ip地址等.)。也就是说,我想用deployment2 ip向它发送一些请求。

-> Q3是否有一种方法可以为after-successful-scale提供某种钩子来运行一些代码?例如: bash脚本?如果有-是谁负责的?主节点?一些init容器?

不管3.如何,我也希望deployment1在它启动时从某个地方提取它的配置。或者在启动时以某种方式将文件附加到它。

-> Q4是否有一种动态的方法?deployment1的第一个实例可能具有与第二个实例不同的配置。我知道我可能使用StatefulSets而不是部署,这样我就可以识别唯一的实例。

我想使用一些共享卷/ ConfigMap,这样所有实例都会用它们的实例号读取它们自己的唯一配置。但我也认为有一个更标准的方法来做,所以我问。

我想在web应用程序的琐碎设置中执行这些需求的方法是什么,并认为:

  1. 两个deployments自动缩放时,需要根据一定的触发。
  2. 两个deployments都导出一个LoadBalancer,因此app1总是与app2的LoadBalancer对话--那么deployment1实际上是独立于deployment2的;scale和LoadBalancer都处理负载。

-> Q5认为这对琐碎的情况是正确的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-30 14:28:25

我越看它,我就越直接地理解K8S不是我的需求的答案。

我正在实现一个VNF,所以我需要另一个抽象层。

目前,我正在看OSM,从几个第一眼看上去,它有我所需要的东西。

等我知道更多情况后我会尽力更新的。

票数 0
EN

Stack Overflow用户

发布于 2019-10-23 19:35:26

对于q5:只需创建一个服务,让应用程序在kubernetes集群中交谈,该服务将处理负载平衡(每个请求)。您不需要LoadBalancer类型的服务并使应用程序使用外部IP。

q1-q4:您可以使用kubernetes API (可能还有客户端库)编写自己的操作符。有一个监视API,所以您的猫会自动通知与您的操作员相关的更改,因此您不必轮询。

票数 2
EN

Stack Overflow用户

发布于 2019-10-23 19:53:21

对于1& 2:您可以使用两个部署(A和B )和两个服务( svcA和svcB )来公开豆荚。这样,A就可以简单地使用'svcB‘这个名字来指B。

你真的需要知道是否创建了一个新的pod实例吗?因为如果有多个pod实例正在运行,那么服务svcB将充当负载均衡器,并在B的实例中分配负载。

对于存储配置,请使用ConfigMap,然后在您的部署中安装A和B。然而,这将为所有pods实例提供相同的配置。

如果您确实需要知道您使用的是哪个特定的吊舱,则可以使用有状态集而不是部署。主机名将包括pod id,因此您可以区分不同的实例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58529727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档