You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Kubernetes中部署同一应用多版本的问题及配置报错咨询

问题解答:同一Kubernetes集群部署Java应用多版本及部署错误修复

一、核心疑问解答

1. 能否在同一Namespace下部署第二个版本?

可以。只要保证所有Kubernetes资源(Deployment、Service、ConfigMap等)的名称唯一,Pod的标签不重复,就可以在同一Namespace下并行运行多个版本的应用。比如你配置中第二个Deployment命名为test-helloworld-gkp-v1,与第一个test-helloworld-gkp名称不同,Pod标签app: test-helloworld-gkp-v1也独立,满足要求。

2. 方案选择:同一Namespace vs 不同Namespace vs 其他集群

  • 同一Namespace:适合短期测试、临时并行运行场景,资源管理集中,但需严格避免资源名称冲突,监控/日志需通过标签区分版本。
  • 不同Namespace:更适合长期并行运行的生产场景,隔离性更强,可单独配置权限、资源配额,天然避免资源名称冲突,管理更规范。
  • 其他集群:一般无需考虑,除非当前集群资源不足或有严格的环境隔离要求(如生产与测试集群物理隔离),你的场景同一集群完全满足需求。

二、部署错误修复

你遇到的错误分为两类,逐一解决:

1. API版本不兼容错误

unable to recognize "kube\kustomize\overlays\local": no matches for kind "Service" in version "v1beta1", unable to recognize "kube\kustomize\overlays\local": no matches for kind "Deployment" in version "apps/v1beta1"

  • 原因:Kubernetes已废弃apps/v1beta1(Deployment)和v1beta1(Service)这类旧API版本,当前稳定版本为:
    • Deployment:apps/v1
    • Service:v1
  • 修复:检查kube\kustomize\overlays\local目录下的所有资源文件,将Deployment的apiVersion改为apps/v1,Service的apiVersion改为v1。

2. 资源数量格式错误

Error from server (BadRequest): error when creating "kube\kustomize\overlays\local": Deployment in version "v1" cannot be handled as a Deployment: unable to parse quantity's suffix

  • 原因:第一个Deployment的CPU资源配置中使用了无效后缀625mm,Kubernetes的CPU单位仅支持m(毫核)或核心数(如1代表1核)。
  • 修复:将第一个Deployment中resources.requests.cpu和resources.limits.cpu的625mm改为625m。

3. 其他配置错误

你的第二个Deployment还存在两处问题:

  • apiVersion错误:Deployment没有apps/v2版本,需改为apps/v1;
  • 缩进错误:metadata字段前多了空格,需修正缩进对齐。

修正后的第二个Deployment关键片段:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-helloworld-gkp-v1
spec:
  selector:
    matchLabels:
      app: test-helloworld-gkp-v1
  # 其余配置保持不变

内容的提问来源于stack exchange,提问作者Ananya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:07:02