更新时间:2023-11-15 GMT+08:00
分享

生命周期Lifecycle

生命周期文件:{OSC-Package}/lifecycle.yaml,描述当前OSC服务包的安装,升级方式信息。

  • lifecycle.yaml文件样例
    ## 描述该OSC服务包的声明周期相关信息
    install:
      strategy: deployment
      clusterPermissions:
        - rules:
            - apiGroups:
              - ""
              resources:
              - ""
              verbs:
              - ""
          serviceAccountName: sa
      deployments:
        - name: example-operator
          spec:
            template:
              metadata:
              spec:
    upgrade:
      replaces: 0.0.1
      skips:
        - 0.0.2
        - 0.0.3
      
    
    operations:
      logpath: /var/paas/sys/log/operator/xxx-operator.log
表1 Lifecycle配置

参数名称

参数描述

参数示例

必填

install.strategy

安装方式,目前仅支持deployment方式

deployment

install.clusterPermissions

安装时需要的集群级别的权限

Kubernetes RABC规范

install.deployments

安装时的内容

Kubernetes Deployment规范

upgrade.replaces

升级基线版本

0.0.1

upgrade.skips

可以跳过升级的版本列表

说明:

举例说明:

假设已经发布0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5五个版本,其中0.0.2配置replaces: 0.0.1,0.0.5配置replace: 0.0.1及skips: 0.0.2。

  • 0.0.2和0.0.5版本都配置基线版本为0.0.1,所以已经部署的0.0.1版本可以升级到0.0.2和0.0.5版本。
  • 0.0.5版本因为配置了跳过0.0.2版本并且基线版本为0.0.1,所以已经部署的0.0.2版本无法升级到0.0.5版本,但是可以先将0.0.2版本回退到0.0.1版本后再次升级到0.0.5版本

参见样例

operations

运维操作配置,以注解方式定义

参见样例

operations.logpath

日志目录

参见样例

对于lifecycle文件中配置了upgrade字段的服务包,需要确保该服务operator能够管理的实例版本(由CSD文件中的versionDefinition字段规定)与被升级的operator所能管理的实例版本相兼容,否则会导致上传服务包或升级服务operator失败。具体规则请参见versionDefinition

相关文档