应用升级属性变更规则
应用市场的应用可以进行升级, 升级时每个属性都会按一定的规则进行变更. 本文将会介绍应用升级时, 各属性的变更规则.
属性变更规则概览
| 属性 | 级别 | 规则 |
|---|---|---|
| 组件 | 应用 | 新增, 更新 |
| 插件 | 应用 | 新增 |
| 配置组 | 应用 | 新增 |
| K8s 资源 | 应用 | 新增 |
| 镜像 | 组件 | 更新 |
| 启动命令 | 组件 | 更新 |
| 环境变量 | 组件 | 新增 |
| 组件连接信息 | 组件 | 新增 |
| 端口 | 组件 | 新增, 更新 |
| 存储 | 组件 | 新增 |
| 配置文件 | 组件 | 新增, 更新 |
| 健康检测探针 | 组件 | 新增, 更新, 删除 |
| 监控图表 | 组件 | 新增, 更新 |
| 监控点 | 组件 | 新增, 更新 |
| HTTP 访问策略 | 组件 | 新增 |
| 标签 | 组件 | 新增 |
| 插件 | 组件 | 新增 |
| 组件依赖关系 | 组件 | 新增, 删除 |
| 存储依赖关系 | 组件 | 新增, 删除 |
| Kubernetes 属性 | 组件 | 新增, 更新 |
上表为整个应用升级属性变更的概览, 每个属性的详细说明, 请看下文:
应用级属性
组件
组件的变更规则是: 增加, 更新.
源应用新增了组件, 升级时也会创建新的组件. 源应用修改了组件属性, 升级时会更新对应的属性. 但是, 源应用删除了组件, 升级时不会删除对应的组件.
插件
插件的变更规则是: 新增. 当源应用新增了一个插件, 而当前应用所在团队无对应类型的插件时, 升级过程会在团队中新增该插件. 不会更新或删除插件.
配置组
配置组由配置组, 配置项和生效组件组成. 它们的规则是新增.
源应用新增了配置组, 升级时也会新增对应配置组. 但是, 源应用更新或删除了配置组, 那么升级时配置组不会发生变化, 即不会更新或删除已有配置组.
K8s 资源
K8s 资源为用户自行通过 Yaml 文件创建的集群资源. 它们的规则是新增.
源应用新增了 K8s 资源, 升级时也会新增对应K8s 资源. 但是, 源应用更新或删除了 K8s 资源, 那么升级时 K8s 资源不会发生变化, 即不会更新或删除已有K8s 资源.
组件级属性
镜像
镜像的变更规则是: 更新. 每次升级时, 如果源组件镜像有变化, 升级时会更新当前组件的镜像.
启动命令
启动命令的变更规则是: 更新. 每次升级时, 如果源组件启动命令有变化, 升级时会`更新当前组件的启动命令.
环境变量
环境变量的变更规则是: 新增. 源组件新增了环境变量, 升级时会新增对应的环境变量. 但是, 源组件更新或删除了组件的环境变量, 升级时不会更新或删除对应的环境变量.
组件连接信息
组件连接信息的变更规则是: 新增. 源组件新增了组件连接信息, 升级时会新增对应的组件连接信息. 但是, 源组件更新或删除了组件连接信息, 升级时不会更新或删除对应的组件连接信息.
特别地, 如果组件连接信息是根据组件端口生成, 即 XXX_HOST 和 XXX_PORT, 那么该连接信息会根据应用的治理模式, 端口别名和内部域名重新生成.
如果端口别名是 mysql, 生会生成连接信息为 MYSQL_HOST 和 MYSQL_PORT
如果治理模式是内置 ServiceMesh 模式, 则 XXX_HOST 的值为 127.0.0.1. 如果治理模式是Kubernetes 原生 Service 模式, 则 XXX_HOST 的值为 内部域名.
端口
端口的变更规则是: 新增, 更新. 源组件新增了端口, 升级时也会为组件新增对应端口. 源组件更新了端口, 升级时也会更新组件对应的端口; 但是, 只会更新端口的 协议, 端口别名, 打 开端口. 也就是说, 不会更新端口的内部域名, 端口号, 也不会关闭已打开的端口. 另外, 如果源组件删除了端口, 升级时不会删除组件对应的端口.
存储
端口的变更规则是: 新增. 源组件新增了存储, 升级时也会为组件新增对应存储. 不会更新或删除存储.
如果存储所需的存储驱动不存在于当前集群, 那么会用默认的共享存储去替换源存储驱动.
配置文件
配置文件的变更规则是: 新增, 更新. 源组件新增了配置文件, 升级时也会为组件新增对应配置文件. 源组件更新了某个配置文件的内容, 升级时会更新组件对应的配置文件内容; 但是不会更新配置文件的名称和路径, 只更新内容. 也不会删除配置文件.
健康检测探针
健康检测探针的变更规则是: 新增, 更新, 删除. 源组件新增健康检测探针, 升级时会为组件新增对应探针. 源组件更新健康检测探针, 升级时会为组件更新对应探针. 源组件删除健康检测探针, 升级时会为组件删除对应探针.