使用Helm Chart代码仓库创建K8s集群服务

更新时间:2025-04-23 02:56:57

本文为您介绍如何使用包含Helm Chart文件的代码仓库来创建计算巢K8s集群服务。

计费说明

计算巢本身不收费,但在部署实例时需要使用云资源,会产生相关的资源费用,请参见云资源计费规则

准备工作

创建包含Helm Chart文件的代码仓库,本文以Forkspring-boot-chart到您的GitHub个人仓库为例。

操作步骤

步骤一:选择创建服务方式

  1. 登录计算巢控制台

  2. 在左侧导航栏中,选择我的服务,并在我的服务页面中选择我创建的服务,然后单击创建新服务

  3. 创建新服务界面,选择通过仓库创建服务同时根据您的实际情况选择仓库平台,本文以GitHub为例。

  4. 单击前往授权,根据指引将代码仓库授权给计算巢服务代码仓库的pullpush权限。

    说明

    如您已授权可跳过该步骤。

    image

步骤二:配置服务信息

  1. 配置代码仓库信息。

    配置项

    配置说明

    配置项

    配置说明

    仓库用户/组织

    您可以选择个人仓库或组织仓库名称。

    仓库名称

    选择您需要导入服务所在的仓库名称。

    仓库分支

    选择仓库下的分支信息。

    选择后,计算巢会自动检测您仓库下的资源描述文件,若未检测到文件信息,则无法进行下一步配置。

    image

  2. 部署配置按实际填写,在环境配置区块下,选择K8s集群,此时软件部署类型仅支持选择Helm Chart,并选择Chart目录,路径为基于源仓库的相对路径。

    image

  3. 配置Chart Values用户部署参数

    说明
    • Chart Values配置允许ISV(独立软件供应商)自定义Chart部署时的参数。覆盖Chartvalues.yaml中的同名设置(类似helm install -f的效果)。简而言之,它提供了一种灵活调整应用部署参数的方法,确保可以针对特定需求进行定制。

    • YAML、JSON格式填写Chart对应的自定义配置,如果存在部署时需要用户填入的参数,例如设置密码,设置Pod数目等,可通过设置用户部署参数的方式来实现,并在Chart Values配置中进行引用。

    本节以允许用户设置Pod副本数为例,在用户部署参数中定义一个KeyReplicaCount的参数,然后在Chart Values配置里通过Ref: ReplicaCount来引用这个参数。这样,部署时就能根据用户指定的ReplicaCount值来决定创建多少个Pod副本。

    image

    YAML
    JSON
    replicaCount:
      Ref:  ReplicaCount
    service:
      port: 8080
      type: LoadBalancer
    {
      "replicaCount": {
        "Ref": "ReplicaCount"
      },
      "service": {
        "port": 8080,
        "type": "LoadBalancer"
      }
    }
  4. 配置输出类型,目前Helm场景提供三种输出类型。

    • Helm Notes:将Chart自带的使用说明显示到服务实例输出中,这种方式需要用户自己去执行相关k8s命令来获取服务访问链接和其他信息,之后才能访问。

      本节内容基于Chart自带的使用说明,该说明位于代码库中的Chart/templates/NOTES.txt文件。

      image

    • 自定义输出命令:允许ISV(独立软件供应商)在 K8s 集群中预先定义并执行特定的命令,将执行结果直接展示给用户以便使用。ISV 需要按照标准 Shell 脚本语法定义命令内容,并通过 kubectl 相关命令获取服务的访问方式。

      spring-boot-chart部署为例,选择自定义输出命令,输入下面的服务输出命令,创建服务实例时可直接输出服务的访问链接。

      export SERVICE_IP=$(kubectl get svc --namespace ${Namespace} spring-boot-chart -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
      echo "Visit URL: http://$SERVICE_IP:8080/"
    • 创建服务后再设置:创建服务以后可以在服务模板里进行设置输出,这种方式更适合对ROS模板比较熟悉以及输出格式比较复杂的情况,可以在服务模板里去定义,会有更高的灵活性。

  5. 单击下一步:基本信息配置,按提示配置参数并单击创建服务

  6. (可选)服务创建完成后,编辑版本设置输出内容。

    说明

    仅当输出类型选择为创建服务后再设置时需要进行此操作。

    1. 进入我的服务,单击目标服务卡片中的编辑版本

      image

    2. 编辑版本页面中,编辑服务部署区块下的模板内容

      您需在ROS模板中自定义Outputs内容,示例如下所示。

      image

    3. 单击保存更新完成编辑。

步骤三:创建服务实例

  1. 进入我的服务,单击目标服务卡片进入服务详情页面。

  2. 服务详情页面,单击服务部署区域中的用户部署链接创建服务实例。

    image

  3. 根据提示填写各项参数,单击下一步:确认订单

    本节以服务商允许用户设置Pod副本数为例,所以需要填写Pod数参数,这个参数的值会通过引用传到Chart Values配置中。image

  4. 确认部署信息,并单击立即创建image

  5. 部署完成后,在我的服务实例中查看实例。

    • Helm Notes:以spring-boot-chart部署为例,输出的Helm Notes如下,用户需要根据Notes指引执行相关命令得到spring-boot-chart的访问方式。

      image

    • 自定义输出命令:以spring-boot-chart部署为例,根据配置的自定义输义的输出命令用户可直接使用。

      image

    • 创建服务后再设置:以(可选)配置自定义输出为例,输出信息如下所示。

      image

后续操作

  1. 测试服务。

    服务保存后,您可以对服务进行自测试,也可以将服务预发布后,分享给指定的客户进行测试。更多信息,请参见测试服务

  2. 审核并发布服务。

    服务测试通过后,再提交审核,计算巢审核通过后即可发布上线。更多信息,请参见发布审核标准上线服务

  • 本页导读
  • 计费说明
  • 准备工作
  • 操作步骤
  • 步骤一:选择创建服务方式
  • 步骤二:配置服务信息
  • 步骤三:创建服务实例
  • 后续操作
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等