Kubernetes 部署编排
本文主要介绍云效 AppStack 应用 Kubernetes 部署编排操作方法。
选择部署方式
云效 AppStack 应用编排支持 Kubernetes 部署(适用于云原生部署场景)、支持主机部署(适用于传统主机部署场景)、也支持 Kubernetes 和主机混合部署场景(适用于应用由传统主机部署向云原生转型场景)。进入 应用设置-应用编排,选择 Kubernetes 部署 方式。

创建 Kubernetes 部署编排
在 应用设置-应用编排-Kubernetes 部署 处,点击 从模板开始 ,选择企业自定义应用编排模板(详见全局设置 应用编排模板 )或者云效示例模板。 一个应用通常包含 Kubernetes 的工作负载、网络、配置、存储等资源类型。
点击 确定 后,所选模板实例化为当前应用的编排内容(模板仅用于初始化,修改模板不会影响已有应用),进入编排编辑页面。
在应用编排编辑页面,可以对编排内容再次修改。
可以修改 编排组件 名称或描述
可以修改组件 YAML 具体内容
可以添加/删除组件
可以修改 镜像,可以修改 占位符

使用占位符和变量
镜像占位符
支持定义镜像占位符,在部署单时动态输入或者自动注入流水线上游构建阶段产物。
自定义占位符
以添加一个 port 自定义占位符实现多环境在不同端口启动服务场景为例:
第1步:修改YAML内容,在 YAML 编辑区域敲击
{{ .Values.port }}
,定义占位符第2步:点击 提取占位符
第3步:在占位符列表将出现新增的 port 占位符
第4步:在开发环境、测试环境变量组里分别添加 port 变量,取值分别为 8080、8081
第5步:在占位符列表,将 port 占位符取值来源为变量,变量选择 port
点击 保存,编排校验通过后,即完成了一套 K8s 编排在不同环境不同端口号启动服务的配置。开发环境部署时,将 8080 赋值给 containerPort;测试环境部署时,将 8080 赋值给 containerPort。

预置占位符
AppStack 提供预置占位符,帮助简化应用编排配置。
占位符命名空间 | 名称 | 数据类型 | 类型 | 预填值 | 使用说明 |
AppStack | appName | 字符串 | 变量 | ${APPSTACK_APP_NAME} | AppStack 预置占位符,值为当前应用名 |
AppStack | envName | 字符串 | 变量 | ${APPSTACK_ENV_NAME} | AppStack 预置占位符,值为当前环境名称 |
AppStack | image | 对象 | 常量 | -- | AppStack 预置占位符,用于定义镜像, 如 |
AppStack | artifact | 对象 | 变量 | -- | AppStack 预置占位符,用于定义制品, 如 |
添加组件
Kubernetes 应用编排通常对应一到多个组件,可以按需添加多个不同类型的资源组件。
第1步:点击 + 号,添加组件。
第2步:填写组件名称(组件唯一标识)和描述。
第3步:选择组件模板,云效 AppStack 提供 Deployment、ConfigMap、Service、Secret、Ingress、PVC 这六种资源组件模板。也可以选择空模板,自定义编排内容。
点击 确定,编排中会增加新组件,并预填充对应类型的 YAML 文件模板内容,应用按需修改即可。

设置组件部署顺序
Kubernetes 应用编排支持设置组件部署顺序,支持以拖拉拽的方式自定义调整顺序。部署顺序为应用环境部署、回滚时的组件资源下发顺序,组件支持串行部署、并行部署。环境删除时将按部署逆序删除组件资源。

删除组件
点击组件 tab 选中,点击 tab 页上的叉号,保存后即可将组件删除。
编辑组件
点击组件 tab 选中,点击 设置组件 图标,打开设置组件弹窗,可以修改组件名称和描述。
暂存/保存编排
AppStack 每隔数秒会自动暂存编排的修改,也可以点击 暂存 按钮主动进行暂存,暂存并不会真正生效记录一个编排修订版本。
点击 保存 按钮,记录编排修订版本,注意️:编排文件的更新并不会立即生效到应用环境,环境需要在下一次部署后生效新版本的应用编排。