文档

通过云效实现Knative服务持续交付

更新时间:

Knative提供了简单的应用模型,并且支持流量管理能力,支持根据流量百分比进行灰度发布。通过云效持续交付Knative服务,可以简化应用部署、灰度发布等操作,为应用的持续交付提供基础保障,让专注于业务开发,降低发布成本。本文介绍如何通过云效实现Knative服务持续交付。

前提条件

  • 已创建ACK集群。具体操作,请参见创建Kubernetes托管版集群

  • 已部署Knative。具体操作,请参见部署Knative

  • 已创建ACR镜像仓库。为了能够快速的拉取镜像,建议将ACK集群与ACR放在同一地域。若不在同一地域,请选择VPC公网地址。具体操作,请参见创建个人版实例

操作步骤

步骤一:创建流水线

  1. 登录云效工作台,单击云效产品区域的流水线

  2. 流水线 Flow页面,单击新建流水线。在选择流水线模板对话框,选择如下模板,单击创建。流水线模板创建

步骤二:配置代码源

添加流水线源面板,选择代码源,单击添加。本文选择Flow提供的示例代码源选择代码源

步骤三:配置镜像构建任务

构建区域,单击Java 构建Docker镜像并推送镜像仓库。在编辑面板,配置相关配置项。示例如下所示。

  • 单击镜像构建并推送至阿里云仓库镜像个人版,选择地域仓库,本示例选择的镜像仓库为个人版实例。

  • 标签文本框输入${DATETIME},表示以流水线触发时的时间戳作为镜像的标签,您也可以将分支名或者Tag作为镜像的标签。

  • Dockerfile路径文本框输入Dockerfile构建镜像

任务输出区域,您可以看到该任务输出的变量,这些变量会在后续的任务中引用。

步骤四:配置部署任务

  1. 部署区域,单击Kubernetes发布

  2. 编辑面板,单击任务步骤下的Kubectl发布。单击集群连接右侧的新建连接集群连接

  3. 连接到Kubernetes集群对话框,集群类型选择容器服务集群,选择需要连接的集群,然后单击保存

    如果您没有进行过授权,可以单击去授权,完成集群授权后,再进行集群选择。

  4. 配置YAML路径。本文配置为app-configs/knative

  5. 配置变量。单击变量右边的添加,选择上游任务 制品/镜像 下载地址,输入名称为image,选择镜像的VPC地址作为变量值。

    在运行时,Flow会把YAML路径下所有文件中的${image}都替换成镜像的地址,然后再进行kubectl发布。

步骤五:运行流水线

  1. 单击页面右上方的保存并运行触发流水线。

  2. 在Knative产品页面,查看服务是否部署成功。

    1. 登录容器服务管理控制台
    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Knative

    Knative
  3. 使用以下命令进行验证。

    $ curl -H "Host: spring-boot-knative.default.example.com" http:{访问网关的地址}

    预期输出结果如下所示,表明服务已经部署成功。

    Greetings from Spring Boot! V4

  • 本页导读 (1)
文档反馈