检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
{serviceName}-{Version}.zip 服务名+版本号+zip命名 osc部署包,参考《OSC服务开发者指南》章节2.2《服务包规范》转换operator或Helm生成的服务包。 是 operator部署包 {serviceName}-{Version}.zip 服务名+版本号+zip命名 operator部署包,参考Operator
或者直接使用开源Helm、Operator-Framework规范进行开发部署使用。 图1 OSC服务规范场景下开发整体流程图 图2 开源服务规范下开发流程图
服务包制作 以etcd operator 0.9.4版本和etcd helm 6.7.0版本为例,介绍如何制作服务包。 前置检查 约束与说明 制作流程
运维服务和应用。Operator Framework是一套管理Kubernetes有状态应用的开源标准,在Operator的基础上还提供了动态UI、SDK等能力,详情可参考Operator Framework指导。
想使用OSC提供的高级能力,比如监控、日志等运维能力,在Helm或者Operator服务包中添加配置文件,对接平台运维能力,然后再按照制作流程的指导制作服务包。 服务包目录结构约束 服务包镜像名称约束 服务内容说明 镜像拉取配置说明 父主题: 服务包制作
创建服务 使用ISV账号登录OSC控制台,单击左侧导航栏“服务发布”,查看右侧服务发布流程。 单击“创建服务”按钮,在“创建服务”弹框页面填写“名称”、“描述”,并选择模板仓库和镜像仓库的后端地址。 名称:填写需要上传的服务包中的名称。 描述:用于描述此服务的相关功能描述等。 模
点资源。 约束与限制 支持kubernetes集群1.15以上版本。 服务部署流程 首先根据业务需要,明确服务诉求;然后查看服务目录,选择目标服务和规格;最后订阅服务并创建服务实例。 图1 服务部署流程 操作步骤 查找服务。 登录OSC控制台,可以使用服务目录页面顶部的搜索框,按照服务名称查询所需的服务。
storage: 10Gi storageClassName: csi-disk storageClassName:存储卷动态供应关联的k8s storage class名称;v1.15集群使用的csi关联的storage class名称是csi-disk。 accessModes:
一些非面向用户的字段,因此引入了x-descriptors描述符来定义自定义的控件。 x-descriptors描述符主要用于specDescriptors和statusDescriptors定义自定义控件。 specDescriptors: password(密码输入框):支持密码类型字段输入。
订阅服务 subscription SubscribeService 更新订阅 subscription UpdateSubscription 退订 subscription DeleteSubscription 冻结订阅 freeze FreezeSubscription 解冻订阅
car方式,为应用监控指标数据注入instance_id字段,用以区分不同实例的指标,并分层分级生成监控仪表盘,图形化展示监控数据。 对接流程 获取OSC规范开发的服务包,如果只有原生的helm或OperatorFramework包,可以参考章节服务包转换进行转换。 在目录man
requests: {} descriptors descriptor字段用于配置UI控件,提升部署服务的用户体验,对服务参数进行控件增强,包括服务规格spec和服务状态status。该控件为可选项。 descriptors样例: # UI控件 descriptors: spec:
# 由于是第一次部署该服务,不涉及升级 # upgrade: # replaces: 0.0.1 # skips: # - 0.0.2 # skipRange: '>=4.1.0 < 4.1.2' # 该结构体用于运维操作配置,可以不进行配置 # operations:
如果需要对接日志系统,需要确保服务容器内部有输出日志文件,OSC服务会将日志文件挂载到外部供AOM采集上报,从而达到对接的效果。 对接流程 获取OSC规范开发的服务包,如果只有原生的helm或OperatorFramework包,可以参考章节服务包转换进行转换。 在目录man
r-runtime库。 下载源码controller-tools-0.3.0。 构建二进制并安装。 $ unzip controller-tools-0.3.0.zip $ go build -a -o controller-gen cmd/controller-gen/main
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
apiVersion: description: '' type: string kind: description: '' type: string
yaml文件中有如下几个必填字段内容: version: 1.0.0 name: example-helm apiVersion: v1 description: A Helm chart for example. maintainers: - name: huawei email:osc@huawei
开源helm服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在Chart.yaml中,具体样例如下: apiVersion: v1 description: "nginx \n" maintainers: - email: support@rancher.com name: Rancher
range of compatible Kubernetes versions (optional) description: A single-sentence description of this project (optional) type: The type of the chart