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

OpenShift部署apps.yml报Kind=Template错误是否与K8s版本有关

问题结论

你遇到的报错不是单纯由Kubernetes版本导致的,核心是三类配置与环境兼容问题:

核心原因

  1. API版本配置错误
    Template 是OpenShift专属的自定义资源,不属于Kubernetes原生标准API,且在较新版本的OpenShift中,Template已经从原始的v1API组迁移到了独立的template.openshift.io/v1组,你写的apiVersion: v1自然无法被集群识别。
    同样你用到的DeploymentConfig也是OpenShift专属资源,新版本中正确API版本为apps.openshift.io/v1,你填写的v1也不符合规范。
  2. oc客户端与服务端版本严重不兼容
    你本地使用的oc客户端版本为v1.4(对应OpenShift 3.4版本,发布于2017年左右),但集群服务端对应的Kubernetes版本为v1.19(对应OpenShift 4.6版本,和客户端差了6个以上大版本),跨度过大的版本差会导致客户端无法正确识别服务端支持的API资源列表,也会引发资源识别报错。
  3. 资源使用方式错误
    如果你的目标是直接部署Template内包含的应用资源,不能直接用oc apply提交Template文件,需要先通过oc process渲染模板后再提交,否则你只是把Template作为一个配置对象上传到集群,不会生成实际的工作负载。

解决方案

  • 首先升级本地oc客户端,下载和集群版本匹配的oc二进制文件,至少保证大版本差不超过2,解决基础兼容问题。
  • 修正YAML文件中的API版本配置:
# 修正Template的API版本
apiVersion: template.openshift.io/v1
kind: Template
metadata:
  name: app
  annotations:
    description: "App"
objects:
  # 修正DeploymentConfig的API版本
  - apiVersion: apps.openshift.io/v1
    kind: DeploymentConfig
    metadata:
      name: tao-app-deployment
      labels:
        version: appV1
        app: app
    spec:
      replicas: 1
      selector:
        matchLabels:
          version: appV1
          app: tao-app
      updateStrategy:
        type: RollingUpdate
        rollingUpdate:
          maxSurge: 1
          maxUnavailable: 0
      template:
        metadata:
          labels:
            version: tao-appV1
            app: app
        spec:
          containers:
            - name: App
              image: registry.gitlab.tech.domain/path/path_img/app:latest
              imagePullPolicy: Always
              ports:
                - containerPort: 9000
  • 如果需要直接部署模板内的应用,执行命令:
    oc process -f apps.yml | oc apply -f -
  • 如果需要先把Template上传到集群的模板库,执行命令:
    oc apply -f apps.yml
  • 执行前可先运行oc api-resources | grep -E 'template|deploymentconfig'确认集群已经开启了对应的OpenShift专属API组,若没有返回结果需要联系集群管理员开启对应特性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:54:03