通过云效AppStack环境管理高效部署应用有什么好处?云效应用交付平台 AppStack是一款开发者友好的、以应用为核心的云原生应用交付平台,提供应用编排、环境管理、部署运维、资源管理、应用发布等一站式能力,帮助企业建立应用持续交付整体解决方案,加速企业云原生与 DevOps 转型,提升团队研发效能。
立即体验:devops.aliyun.com/appstack
使用云效应用交付平台 AppStack 新建应用后,可以通过环境管理部署应用。AppStack 在应用创建时为应用预设三套开箱即用的环境:开发环境、测试环境、生产环境,可以修改删除,也可以新建自定义环境使用。
查看环境列表
前提条件
已经新建了一个应用,具体参见 新建应用。
操作步骤
进入 应用-环境,展示当前应用下的所有环境卡片列表。
- 每个环境卡片上展示:环境名称、环境标签、环境最近变更信息、环境当前版本以及环境状态。
- 点击环境卡片上的 立即部署 可以提交新的部署工单,具体操作参见 部署。
- 点击环境卡片可以进入环境详情页面查看环境更多信息。
- 点击环境列表上方 新建环境 可以新建环境,具体操作参见 新建环境。
特殊说明:
在新建应用时,AppStack 为应用预设三套开箱即用的环境:开发环境、测试环境、生产环境,关联资源后即可使用。预设环境可以修改或删除,也可以新建自定义环境使用。
查看三套预设环境
三套环境的名称分别为:开发环境、测试环境、生产环境。
快速设置环境关联资源
鼠标移动到目标环境卡片上,点击 快速设置 打开快速设置弹窗,选择关联 资源 ,点击 确定 即可。
新建环境
- 进入 应用-环境,点击 新建环境,打开新建环境弹窗。
- 填写 环境ID:应用下环境唯一ID,创建后不可修改。支持1-63个小写英文字母、数字或“-”,不能以“-”开头或结尾。
- 填写 环境名称:环境显示名,创建后可在环境设置里按需修改。支持1-64个中英文字符、数字或符号。
- 选择 资源:环境实际部署时使用的集群资源,关联后不可修改。
- 选择 变量组:变量组用于环境部署时动态替换应用编排中占位符引用的变量,关联后可在环境设置里按需修改
- 选择 标签:键值对。可以用于环境等级、环境所属业务线等场景的划分。
- 填写 描述:环境的描述信息。
- 点击 确认 即可新建环境,环境新建成功自动跳转至环境详情页面。
查看环境详情
进入 应用-环境,从环境列表选定目标环境卡片,点击进入环境详情页面。环境详情页面可以查看基础信息、环境部署的具体资源信息、历史记录、环境设置以及环境运维操作入口。
基础信息
- 环境概览:展示当前环境使用的应用编排、变量组、部署组等信息。
- 变更信息:展示环境最近一次的变更信息,包括:变更工单、变更人、变更时间、当前版本等。
- 基本信息:展示环境的基本信息,包括环境的创建人、创建时间、标签、描述信息。
环境资源
可以查看本环境当前部署的所有资源信息,包含的具体资源由应用编排中定义的组件决定,可能包括工作负载、配置、网络、存储等。
工作负载
可以查看本环境下部署的所有工作负载,工作负载是在 Kubernetes 集群上运行的应用程序。截止当前AppStack 仅支持无状态工作负载,即 Deployment,适用于实例完全独立、功能相同的场景,如:nginx、wordpress 等。
可以查看工作负载下的实例信息。
实例IP
实例状态
部署版本
创建时间
容器信息
点击 YAML 可以查看 Deployment 组件的 YAML 信息
点击 详情 可以查看更多Pod信息。
Pod信息
- Pod状态:Pod 的运行状态
- Pod IP:Pod 的 IP
- 所在节点:实例所在节点名称和节点 IP
- 创建时间:实例创建的时间
- 运行时间:实例从启动至今的时间
容器信息
- 容器名称:容器的名称
- 镜像:容器所使用的镜像
- 容器状态:容器的运行状态
- 重启次数:实例从启动至今实例中容器的重启次数之和
关键事件
可以查看Pod的关键事件,包括事件时间、事件原因、事件详细 Message。可以用于辅助 Pod 问题定位。
容器日志
- 可以查看容器的标准输出日志。
- 点击 日志 可以查看容器日志,用于辅助问题定位和排查。
配置
可以查看本环境下的所有配置资源信息,可能包括 ConfigMap 和 Secret。ConfigMap 可以用来将非机密性的数据保存到键值对中,使用时,可以将其用作 Pods 的环境变量、命令行参数或者存储卷中的配置文件。Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 SSH 密钥等。配置将您的环境配置信息和容器镜像解耦,便于应用配置的修改。
ConfigMap
可以查看本环境下的部署的 ConfigMap 组件信息。
- 组件名称:应用编排里定义的组件名称
- 部署状态:组件的部署状态
- 部署版本:最近部署的版本号
- 更新时间:最近部署时间
-
- YAML:点击可以查看 ConfigMap 组件的 YAML 信息。
Secret
可以查看本环境下的部署的 Secret 组件信息。
- 组件名称:应用编排里定义的组件名称
- 部署状态:组件的部署状态
- 部署版本:最近部署的版本号
- 更新时间:最近部署时间
- YAML:点击可以查看 Secret 组件的 YAML 信息。
网络
可以查看本环境下的所有网络资源信息,可能包括 Service 和 Ingress 。Service 可以用来为一组 Pod 提供固定的访问入口,并对这一组 Pod 做负载均衡。Ingress 用来管理集群外部访问集群内部服务的方式,您可以通过 Ingress 资源来配置不同的转发规则,从而达到根据不同的规则设置访问集群内不同的Service 后端 Pod 的目的。
Service
可以查看本环境下的部署的Service组件信息:
- 组件名称:应用编排里定义的组件名称
- 类型:可能为ClusterIP、NodePort、LoadBalancer、Headless Service、ExternalName等,具体由应用编排里定义的Service类型决定
- 集群IP
- 端点:服务映射端点信息
- 部署状态:组件的部署状态
- 部署版本:最近部署的版本号
- 更新时间:最近部署时间
- 点击 YAML ,可以查看 Service 组件的 YAML 信息。
Ingress
可以查看本环境下的部署的 Ingress 组件信息:
组件名称:应用编排里定义的组件名称
路由规则数:组件里定义的路由转发规则数,点击路由规则数,可以查看具体的转发规则:
- 域名
- URL
- 目标服务
- 服务端口
- URL匹配规则
- 部署状态:组件的部署状态
- 部署版本:最近部署的版本号
- 更新时间:最近部署时间
- 点击 YAML 操作,可以查看 Ingress 组件的 YAML 信息。
存储
Kubernetes 抽象了PV(PersistentVolume)和PVC(PersistentVolumeClaim)来定义和使用存储。PV 描述的是持久化存储卷,主要定义的是一个持久化存储在宿主机上的目录,比如一个文件存储的挂载目录。PVC 描述的是 Pod 所希望使用的持久化存储的属性,比如,Volume 存储的大小、可读写权限等等。通常在使用时,可以使用 PV 描述已有的存储资源,然后创建 PVC 使用存储。
PVC
可以查看本环境下的部署的PVC组件信息:
- 组件名称:应用编排里定义的组件名称
- 类型:可读写权限类型,由应用编排里的组件定义,可能为:只读、读写。
- 容量:声明的使用Volume存储的大小
- 部署状态:组件的部署状态
- 部署版本:最近部署的版本号
- 更新时间:最近部署时间
- YAML:点击可以查看 PVC 组件的 YAML 信息
设置环境
- 环境创建完后,你可以通过设置环境功能来修改环境的一些基本信息设置和部署配置设置。
基本设置:可以修改 环境名称、标签、描述。 - 部署设置:可以设置环境关联 资源 和 变量组。注意: 资源 只有首次可设置,环境一旦关联了资源之后不可再修改。
锁定环境
日常研发流程中,经常会有抢占环境进行回归验证或因特殊原因发布窗口关闭的场景,此时可以使用 锁定 环境功能。环境锁定后无法再提交任何运维操作,但不影响已有工单的执行。功能入口:环境详情页面,右上角操作区域后的更多操作里。环境锁定后需由锁定人去解锁环境后才可再次执行变更。
历史记录
环境部署运维中经常需要追溯环境历史,用于问题的定位排查或其他场景。环境管理提供了 历史记录 功能,记录了环境从创建开始的所有修改,包括生成运维工单的 变更记录 ,也包括环境基本信息、配置等元数据信息修改的 操作记录。功能入口:环境详情页面,右上角操作区域 历史记录。
变更记录
展示当前环境下所有运维变更记录,单条变更记录信息包括:
- 变更工单:运维工单名称。
- 类型状态:工单的类型和状态。
- 版本:工单的部署版本。
- 提交信息:工单提交人和提交时间。
操作记录
展示当前环境下所有操作记录,单条操作记录展示:
- 操作标题
- 操作内容
- 操作人
- 操作时间
删除环境
当环境不再使用时可以使用环境删除功能来下线环境。环境删除将释放环境资源,应用将不可对外提供服务,数据不可恢复,请谨慎操作!
删除未部署环境
- 进入环境详情页面,右上角操作区域,点击 删除 按钮,打开 删除环境 二次确认弹窗。
2、点击 确定 删除,将直接清理环境数据,即刻生效。
删除部署过的环境
- 进入环境详情页面,右上角操作区域,点击 删除 按钮,打开新建 删除环境 工单页面。
- 核对环境信息。工单页面将会列出当前环境部署的所有 组件信息,以及环境 最近变更 信息,请仔细核对,确认环境是否不再使用。
- 确认环境不再使用后,输入环境名以确认删除。
- 点击 提交 环境删除工单,跳转环境删除工单详情页面。
- 观察环境删除过程。环境删除工单将按照组件部署逆序来删除本环境下部署的所有组件,组件删除完毕后会在 环境后置清理 节点删除环境数据。特别地,在一些环境资源无法正确清理的场景,可以联系集群负责人手工运维进行环境资源清理,参见 手工运维删除环境。
云效应用交付平台 AppStack是一款开发者友好的、以应用为核心的云原生应用交付平台,提供应用编排、环境管理、部署运维、资源管理、应用发布等一站式能力,帮助企业建立应用持续交付整体解决方案,加速企业云原生与 DevOps 转型,提升团队研发效能。