检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
安装Kubebuilder 环境准备 已安装go v1.16+。 已安装make。 已安装docker 17.03+。 已安装Kubernetes v1.15.0+ 。 已安装kustomize,安装方法请参见安装 kustomize。 已安装controller-gen,安装方
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
资源集合 {OSC-Package}/manifests,用于存放自定义资源文件以及公共能力配置,不同资源用目录进行划分。 资源集合结构: {OSC-Package}/ ├─ metadata.yaml ├─ manifests/ #【必选】资源集合
必选 监控配置文件 monitor_config.yaml 对接平台的指标采集能力,可配置指标采集的维度,指标名称,指标聚合规则等,详情参考如何配置监控。 文件 否 日志配置文件 log_config.yaml 对接平台的日志采集能力,可配置日志采集路径,详情参考对接配置日志。 文件
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
CR被误删后,页面删除实例失败时应如何处理? 商用服务预上架失败,报"缺少必要的服务提供者的联系信息" 服务Operator资源被误删后,删除实例失败时如何清理? 集群安装新版本服务包后,crd不会自动更新 如何确保容器镜像仓库允许创建至少一个组织? 如何解决界面显示运行中,但是实际集群中并没有该服务实例问题
然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下: 安装Kubebuilder 构建Operator 实现Operator 父主题: 如何从零开始开发Operator
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
hwfka-operator-sa strategy: deployment # 现在operator部署仅适用deployment资源进行部署 # 由于是第一次部署该服务,不涉及升级 # upgrade: # replaces: 0.0.1 # skips: #
如果不同的部署的场景需要不同的控件配置,可配置此字段,支持CCE、UCS两种配置,分别表示云容器引擎和华为云UCS场景 否 x-descriptors 控件类型,具体参考配置表单控件了解相关配置 是 versionDefinition 实例版本定义配置是在csd文件中配置versionDefinition。
上传商用服务的账号须具有ISV权限,具体申请方式请参见如何加入华为云云市场。 使用商用服务发布的账号需要在上海一region下创建一个OBS桶,桶创建要求如下: 表1 OBS桶创建参数说明 参数 值 说明 区域 上海一 只能选上海一,不能选其它区域,OSC虽然是Global服务,但本身部署在上海一。 默认加密 关闭
查看服务实例日志 服务提供商可以根据自身业务情况,配置所需要采集的业务日志,以便进行问题定位定界。如服务对接了日志采集功能,则在云原生服务中心实例详情界面会展示“日志”页签。用户单击“日志”页签可以查看日志内容。 查看服务实例日志功能仅支持CCE集群。 父主题: 服务实例日常操作
用户可以修改实例的运行配置。 实例删除 当实例承载的业务生命周期结束,用户可以删除实例回收相关资源。 服务插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装。当服务包中声明了运维能力的相关配置,服务部署时,集群中被依赖的插件如果没有安装,OSC会自动安装。用户可以在插件创
查看监控信息 云原生服务中心OSC内置了Prometheus监控能力,服务提供商可以按照自身业务情况,配置所需要展示的服务指标,指标详情查看服务介绍或咨询服务提供商。 以Kafka为例,监控指标分为实例、Broker、Topic三个维度进行展示。 查看监控信息功能仅支持CCE集群。
应提供者,因此要求用户在软件包中进行描述。 操作步骤 上传服务包为helm服务包格式,需要在Chart.yaml文件中增加维护者信息,具体配置如下所示,参考更多。 version: A SemVer 2 version (required) kubeVersion: A SemVer
#【必选】部署包目录 │ ├─{serviceName}-{Version}.zip #【必选】开源operator部署包或者转换后的osc格式部署包 │ └─{serviceName}-{Version}.tgz #【必选】Helm部署包
集群安装新版本服务包后,crd不会自动更新 使用场景 用户卸载服务包后,crd资源仍会保留;假如要安装新版本服务包,且新版本的crd资源与旧的crd资源同名,需要用户手动删除旧版本crd资源后重新上传新版本的crd资源。 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。
如何解决系统插件或服务Operator一直处于安装中 使用场景 Operator-Chef在部署服务插件的过程中会访问Kubernetes提供的相关接口,例如:Create、Update等,在执行各个操作接口时,其超时时间为10秒,如果超过10秒可能会因为插件一直不能够正常部署造成一直处于安装中的状态。其根本原因是因为网络不稳定导致