小白求问: k8s 能生成相同 pod 的不同版本吗?

2020-10-09 11:29:19 +08:00
 JJstyle

我们一般一个 pod 一个服务,但是有时候需要同一服务的不同版本共存,k8s 能做到这点吗?谢谢!

4376 次点击
所在节点    Kubernetes
14 条回复
sniperking1234
2020-10-09 11:45:36 +08:00
使用 istio
tomy0608
2020-10-09 11:55:08 +08:00
这个情况用两个 deployment 实现吧
wxsm
2020-10-09 14:00:54 +08:00
A/B 版本用相同的 label 就可以了,用同一个 service 作为入口。
ManjusakaL
2020-10-09 14:05:02 +08:00
@sniperking1234 这个事情关 istio 啥关系。。一个简单地灰度而已。。。

起两个不同的 Pod,然后 Service 走同一个 label 关联就行
sniperking1234
2020-10-09 14:13:05 +08:00
@ManjusakaL 那只能是 50%-50%的流量吧,感觉很不灵活。不知道楼主场景是什么,想要一步到位还是用 istio 省事
zhenjiachen
2020-10-09 14:23:07 +08:00
我也在找,应该就只能用两个 deployment 了,没有其它的办法
wxsm
2020-10-09 14:37:14 +08:00
@sniperking1234 你确定?只能 50%-50%? A 部署 10 个 pod,B 部署 5 个,还是 50%?
sniperking1234
2020-10-09 14:47:42 +08:00
@wxsm 起两个不同的 Pod,然后 Service 走同一个 label 关联就行

这不是 50%-50%?
wxsm
2020-10-09 14:52:00 +08:00
@sniperking1234 乖乖,谁跟你说 pod 只能起两个。。人家楼上都一大堆说两个 deployment 的了,一个 deployment 里面想起几个 pod 不是随你?
ManjusakaL
2020-10-09 14:52:33 +08:00
@sniperking1234 只是举个例啊,你要是整数比例就用两个 deployment 控制不同的 replica

你要是细粒度的控制流量,用个 APISIX 这种 Ingress 都比直接 istio 轻量啊

也没多大还起个 istio,可能最后 envoy 耗的资源都比业务多。Mesh 不是这么玩的
sniperking1234
2020-10-09 14:59:01 +08:00
@wxsm 我一开始就是回复这句话,"起两个不同的 Pod,然后 Service 走同一个 label 关联就行",在这个场景下,只能是 50%-50%的流量,貌似我这个回复 @的也不是你,你想杠就杠吧。
sniperking1234
2020-10-09 15:00:18 +08:00
@ManjusakaL APISIX 不了解,貌似只能是当网关使用吧,集群内调用应该就不行了。所以不知道 lz 的业务场景,我这也只是提个解决的方案。
ManjusakaL
2020-10-09 15:01:34 +08:00
@sniperking1234 嗯,实际上 istio 坑也挺多的,,一般不建议轻易上(可能 lz 基础的服务都还没收口)
LanLiang
2021-03-16 14:24:34 +08:00
OpenKruise 可以达到效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/713259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX