检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
制作服务包目录 新建一个文件夹,可任意命名,以etcd服务为例,暂定命名为etcd,在etcd文件夹下创建两个子目录,分别命名为package,images。 etcd | --- package | --- images 父主题: 制作流程
可提供链接 或者 文字--> # 许可证 使用说明文件中引用的文件或者文档链接尚未设计,作为后续规划。 父主题: 服务包规范
create api命令,可以发现在重复下载controller-gen的二进制文件,包括后续使用Makefile去编译operator的二进制文件及打包镜像时,都可能会重复下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makefil
Controller实现 修改controllers/hwfka_controller.go文件为如下内容: func (r *HwfkaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result
生命周期Lifecycle 生命周期文件:{OSC-Package}/lifecycle.yaml,描述当前OSC服务包的安装,升级方式信息。 lifecycle.yaml文件样例 ## 描述该OSC服务包的声明周期相关信息 install: strategy: deployment
logpath: "" 修改metadata.yaml文件。 name: "hwfka-operator" version: "0.0.1" source: ISV 修改manifests/hwfka_crd.yaml文件。该文件为描述operator使用到的自定义资源(CRD),
表单控件类型 1. 使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大
基础控件 OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
表1 资源集合结构 目录或文件名称 描述 必选 xxx_crd.yaml 服务包的资源,例如kafka、redis,一个服务包可以包含一个或者多个具体资源目录。 是,至少一个 xxx_csd.yaml 自定义服务文件,每个csd文件对应于一个crd文件。 否 公共能力目录 公共能
表1 vendor目录 名称 文件 描述 类别 必选 监控配置文件 monitor_config.yaml 对接平台的指标采集能力,可配置指标采集的维度,指标名称,指标聚合规则等,详情参考如何配置监控。 文件 否 日志配置文件 log_config.yaml 对接平台
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion:
根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart.yaml文件中,其中Chart.yaml文件中有如下几个必填字段内容: version: 1.0.0 name: example-helm apiVersion: v1
表单控件配置组合示例 csd.yaml文件中配置添加如下配置: # 配置表单控件 descriptors: spec: - displayName: Image description: The docker image name and version of
购买用户者下载使用时需要增加的步骤。 用户需要在用户部署的deployment.yaml、statefulset.yaml等包含镜像下载的文件中增加如下配置。 apiVersion: apps/v1 kind: Deployment metadata: name: example
logPaths 日志路径或文件 string数组 是 容器内日志路径,可填多个,但不允许存在包含关系。 日志内的路径支持目录和文件 目录:扫描此目录下的所有为log,out,trace结尾的日志并对接 文件:只对接指定的文件 在manifests/xxx_csd.yaml文件中增加引用日志能力的配置。
yaml中的镜像地址,mapping.yaml文件确定OSC在values.yaml或者*.clusterserviceversion.yaml中哪些字段用于配置镜像地址。mapping.yaml有多种不同的字段替换方式,镜像根据实际情况选择对应字段,会将镜像分隔成不同内容回填到配置文件中。 instance:
名称:填写需要上传的服务包中的名称。 描述:用于描述此服务的相关功能描述等。 模板仓库:用于存储服务包中的operator、helm chart或者osc规范包的模板文件。 镜像仓库:用于存储服务包中的容器镜像。如果用户没有对应的仓库组织,可单击“新建组织”跳转到对应页面进行创建。可参考创建组织。 单击“确定”按钮,创建服务完成。