检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
全域部署 云原生服务中心联合华为云分布式服务UCS,能够将应用部署到华为云集群、多云集群、本地集群、附着集群、伙伴集群五种场景,实现应用的跨云和全域部署。
OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括华为云CCE集群、第三方集群等场景。服务提供商在发布服务时需要提供服务包,服务包中包含部署需要的配置文件以及镜像,并按照OSC可识别的路径放置,保证服务发布中用户可以一键部署。 图1 商品服务生命周期
发布服务 OSC负责管理服务包,商品的正式发布需要到华为云云市场卖家中心发布,交付方式选择”容器”,其它信息请参见商品发布说明。 操作步骤 在服务发布页面单击“发布商品”链接进入云市场发布商品界面。
服务订阅和部署 前提条件 已创建对应的容器基础设施(华为云CCE集群,UCS托管集群),且有足够的节点资源。 约束与限制 支持kubernetes集群1.15以上版本。
huawei email:osc@huawei.com annotations: source: ISV categories: Database architecture: x86_64,aarch64 scenes: CCE # 华为云
创建API和Controller 根据以上设计的CR,在项目工程中创建对应的CRD类型: $ kubebuilder create api --group osctest --version v1 --kind Hwfka Create Resource [y/n] y Create
accessModes: - ReadWriteOnce resources: requests: storage: 3Gi storageClassName: local-pv-immediate volumeMode: Filesystem 使用华为云存储
前置说明 上传商用服务的账号须具有ISV权限,具体申请方式请参见如何加入华为云云市场。
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
1)当deployScenes不为空,该字段不起作用 2)当deployScenes为空时,该字段起作用 - CCE - UCS 否 deployScenes 部署场景deployScenes包含部署平台(CCE和UCS)和集群类型两部分: 当部署平台为CCE时:集群类型只支持华为云集群
控件显示名称 是 description 控件显示描述 是 path 控件对应字段,描述的对象上字段的点分隔路径,例如globalConfig1.field1 是 restriction 如果不同的部署的场景需要不同的控件配置,可配置此字段,支持CCE、UCS两种配置,分别表示云容器引擎和华为云
生命周期Lifecycle 生命周期文件:{OSC-Package}/lifecycle.yaml,描述当前OSC服务包的安装,升级方式信息。 lifecycle.yaml文件样例 ## 描述该OSC服务包的声明周期相关信息 install: strategy: deployment
实现Controller Controller实现背景 在创建Kafka实例时,Kafka-Operator需要创建的Kubernetes资源如下: 1个StatefulSet,包含3个Pod分别启动ZooKeeper; 1个Service,用来暴露ZooKeeper访问地址; 1
对接配置日志 使用前提 对接日志系统,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilitiesrequirements示例。 对接原理 OSC内置了ops-operator插件,通过webhook的方式拦截标签匹配的工作负载(包括Deployment
基本概念 服务 服务是OSC管理的最大粒度实体,由用户上传的服务包,会抽象成为服务用于统一管理。 实例 服务按用户指定参数部署到具体的Kubernetes集群中,称为服务的一个实例,一个服务可以拥有多个实例。 集群 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源
接入规范说明 开源OLM服务(operator-framework)服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在clusterserviceversion.yaml中,具体样例如下: apiVersion: operators.coreos.com/v1alpha1
接入规范说明 开源helm服务支持自定义配置服务场景、支持架构等配置,其描述说明定义在Chart.yaml中,具体样例如下: apiVersion: v1 description: "nginx \n" maintainers: - email: support@rancher.com
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config
打包到package目录 Helm模板或者operator包有两个修改点: 标记服务的来源,即是来源于开源、华为或者生态伙伴; 统一镜像地址,OSC格式包引用lifecycle.yaml及csd.yaml中配置,Helm模板引用values.yaml中的配置,operator引用*
CRD介绍 CRD(CustomResourceDefinition)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时定义基于