检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建API和Controller 根据以上设计的CR,在项目工程中创建对应的CRD类型: $ kubebuilder create api --group osctest --version v1 --kind Hwfka Create Resource [y/n] y Create
定义API 在设计的CR spec中,包含size、image、storage属性,因此需要修改api/v1/hwfka_types.go中HwfkaSpec和HwfkaStatus部分,为应用定义参数和状态属性。 package v1 import ( corev1 "k8s
对接运维能力(可选) 服务包扩展目录 如何配置监控 对接配置日志 对接实例升级能力 父主题: 服务接入
服务接入 本章节主要介绍如何将一个现有的服务包接入OSC平台,并可以使用OSC附加功能,有效增加自身服务的运维能力。如开发者需要从头开始编写程序制作应用,可以参考附录如何从零开始开发Operator。 OSC平台支持OSC服务规范,开源Helm或Operator-Framewor
如何配置监控 使用前提 对接监控,需要在csd.yaml文件中配置能力插件依赖功能声明,具体参考服务包扩展目录 capabilityRequirements示例 对接原理 开源的Prometheus是目前业界广泛应用的监控指标采集系统,其服务端可作为时间序列数据库,采集客户端应用
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分 当华为云租户需要对各IAM用户进行细粒度权限控制时,要使用到IAM策略。关于策略的详细介绍参见IAM权限管理文档。OSC作为UCS的子服务,其细粒度权限的划分包括UCS FullAccess和UCS ReadOnlyAccess两个系统策略。
准备好待上传的zip或tgz格式的helm/operator-framework/osc规范压缩包以及部署时需要运行的镜像。 服务部署流程 选择对应的仓库存储源,将服务包和镜像包分别上传到OSC以及SWR仓库中,进行部署即可。 图1 服务部署流程 操作步骤 登录OSC控制台,在左侧导航栏选择"我的服务",在私有服务页面单击“上传服务”。
选择“私有服务”页签,单击“上传服务”,显示两种类型的仓库,单击"容器镜像仓库(企业版)"。 在未配置后端仓库实例的存储源时,用户可以单击"配置存储源"按钮,进入配置存储源界面。 如果未在"容器镜像仓库企业版"中创建实例,可以单击"SWR"链接跳转到对应界面进行创建。 单击 “购买企业版实例”进入购买页面,购买仓库实例。
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
服务插件管理 OSC中有服务管理和运维能力两类插件,服务管理插件用来管理服务实例的生命周期,由服务提供商提供,当集群首次部署对应服务实例时,会自动安装对应服务的管理插件。服务运维能力插件由OSC提供,当部署的服务声明了诸如日志、监控等运维能力配置时,集群中如果没有对应的运维能力插件,OSC会自动安装。
如何解决系统插件或服务Operator一直处于安装中 使用场景 Operator-Chef在部署服务插件的过程中会访问Kubernetes提供的相关接口,例如:Create、Update等,在执行各个操作接口时,其超时时间为10秒,如果超过10秒可能会因为插件一直不能够正常部署造
配置表单控件 创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型
权限配置 单租户下多IAM用户使用企业仓库场景如何配置权限? 单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
CRD典型格式 以v1版本为例: apiVersion: apiextensions.k8s.io/v1 # 创建 CRD kind: CustomResourceDefinition metadata: # 名称必须采用复数 <plural-name>.<group>.<domain>
CRD介绍 CRD(CustomResourceDefinition)是一种自定义的Kubernetes资源,在定义CRD后,可通过在集群内创建对应 CR(CustomResource)对应用进行统一管理。格式示例请参见CRD典型格式。 OpenAPI校验 在定义CRD时,需同时