检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
附录 如何从零开始开发Operator OSC扩展说明 Operator代码示例 安装Controller
"k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types"
OpenAPI校验 在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。
# 基于 openAPIV3Schema 的校验规则 validation: openAPIV3Schema: description: Memcached is the Schema for the Memcacheds API properties:
权限配置 单租户下多IAM用户使用企业仓库场景如何配置权限? 单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分
制作流程 制作服务包目录 放置镜像到images目录 打包到package目录 替换镜像地址配置 父主题: 服务包制作
服务包规范 本规范主要面向对象为初次开发的服务以及想要使用OSC平台提供的附加能力进行规范转换的服务。 如果开发者已有或仅想使用Helm/Operator-Framework规范的服务,可以直接参考章节开源服务包规范。 OSC服务包介绍 元数据Metadata 资源集合Manifests
Operator规范 Operator包含三类核心文件: 软件包清单:package.yaml 集群服务版本:csv.yaml 自定义资源:crd.yaml # Opeartor结构 {Operator-Package} ├─ xxx.package.yaml
服务接入 本章节主要介绍如何将一个现有的服务包接入OSC平台,并可以使用OSC附加功能,有效增加自身服务的运维能力。如开发者需要从头开始编写程序制作应用,可以参考附录如何从零开始开发Operator。 OSC平台支持OSC服务规范,开源Helm或Operator-Framewor
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
制作服务包 创建服务包模板 修改服务包内容 生成服务包 父主题: 如何从零开始开发Operator
表单控件 基础控件 自定义控件 父主题: 配置表单控件
创建存储 通过在集群中创建PVC的方式创建存储,典型的创建方式如下: EVS云硬盘 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-evs-auto-example namespace: default
schema: openAPIV3Schema: description: HelmRelease is the Schema for the helmreleases API properties: apiVersion:
挂载存储 在Kubernetes中,通过PersistentVolume(PV)方式挂载存储,典型的步骤如下: 创建PV,为集群提供存储服务。 apiVersion: v1 kind: PersistentVolume metadata: name: mypv1 annotations:
yaml文件中增加引用日志能力的配置。 apiVersion: osc.io/v1beta1 kind: CustomServiceDefinition metadata: name: helmrelease-csd spec: CRDRef: apiVersion: apiextensions
OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型控件分别有st
downloading k8s.io/component-base v0.22.1 go: downloading k8s.io/apiextensions-apiserver v0.22.1 Update dependencies: go mod tidy go: downloading
io/kustomize/kyaml v0.10.21 go: downloading k8s.io/api v0.22.2 go: downloading k8s.io/apiextensions-apiserver v0.22.2 # 复制二进制文件到指定目录,方便后期使用 $ cp bin/kubebuilder
类型 按照服务功能进行分类,目前有“全部”、“运行时”、“流媒体&消息”、“集成交付”、“数据库”、“日志”、“监控”、“大数据”、“开发工具”、“网络”、“安全”、“AI/机器学习”、“其他”。 架构 服务支持的架构类型,当前分为“全部”、“X86_64”、“ARM”。 交付方式