Flow 提供了通用的 Kubernetes 部署能力支持,通过内置的 Kubectl 工具将 Kubernetes YAML资源描述文件部署到任意集群中。在原生 Kubectl 的能力基础上, Flow 还内置了动态模板的能力,从而帮助用户可以快速实现容器应用的构建与发布。本文主要介绍了如何通过Flow添加并配置Kubernetes发布任务,以及如何查看部署后的日志。
方案概览
添加部署任务
可以通过两种形式添加部署任务。
创建流水线时,选择包含 Kubernetes 发布的模板。
在流水线中添加空任务,并添加 Kubernetes 发布步骤。
配置部署任务
进入 Kubectl 步骤,进行如下配置:
选择或者新建 Kubernetes集群连接,关于如何新建 Kubernetes 集群连接请参见Kubernetes集群管理。
输入发布的目标命名空间。
输入当前需要部署的YAML路径,并添加需要传递的变量。
在 Kubernetes 资源描述 YAML 文件中,通过${IMAGE} 占位符将 Docker 镜像定义为一个动态变量。
在Kubectl 步骤中传递变量给 YAML文件,在 Kubectl 步骤配置中,点击添加变量,并定义变量名称以及变量来源,即可发布时使用这些变量动态替换 YAML 文件中的占位符。
说明Kubernetes常用资源YAML使用方式,请参见Kubernetes常用资源 YAML 规范参考。
查看部署日志
在配置完成后,运行流水线执行部署任务,即会将源码中对应的 YAML 文件部署到指定的Kubernetes 集群中。
在部署过程中点击日志,可以查看当前的部署过程以及相应记录。
日志输出,如下所示,日志中会包含当前所有扫描到的 YAML 文件,kubectl apply后的标准输出,以及当前变更执行后的所有资源概要信息。
Kubernetes常用资源 YAML 规范参考
工作负载
服务发现与网络
资源类型 | 官方文档链接 |
Service | https://kubernetes.io/docs/concepts/services-networking/service/ |
Ingress | https://kubernetes.io/docs/concepts/services-networking/ingress/ |