检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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 父主题: 制作流程
vendor目录 名称 文件 描述 类别 必选 监控配置文件 monitor_config.yaml 对接平台的指标采集能力,可配置指标采集的维度,指标名称,指标聚合规则等,详情参考如何配置监控。 文件 否 日志配置文件 log_config.yaml 对接平台的日志采集能力,可配置日志采集路径,详情参考对接配置日志。
1. 使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大,但有时可
表单控件配置组合示例 csd.yaml文件中配置添加如下配置: # 配置表单控件 descriptors: spec: - displayName: Image description: The docker image name and version of
console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型控件分别有string
取服务包的部分描述信息并展示在服务包详情中,因此需要用户在服务包中填写必要的信息,从而保证详情页面展示正常。 根据服务包格式类型,需补充说明内容如下: Helm Chart服务包 Chart服务包其主体描述信息存储在Chart.yaml文件中,其中Chart.yaml文件中有如下几个必填字段内容:
镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构: 单CPU架构:一般制作生成的容器镜像
输出日志文件,OSC服务会将日志文件挂载到外部供AOM采集上报,从而达到对接的效果。 对接流程 获取OSC规范开发的服务包,如果只有原生的helm或OperatorFramework包,可以参考章节服务包转换进行转换。 在目录manifests/vendor下新增配置文件log_config
镜像拉取配置说明 此配置主要针对用户发布的服务包中带有镜像,需要授权给对应的购买用户者下载使用时需要增加的步骤。 用户需要在用户部署的deployment.yaml、statefulset.yaml等包含镜像下载的文件中增加如下配置。 apiVersion: apps/v1 kind:
修改服务包内容 修改lifecycle.yaml文件。该文件包括OSC服务包的生命周期的相关信息,例如:安装方式、安装时需要的集群/命名空间级别权限、日志目录等。 install: clusterPermissions: # 集群级别权限,请按照Kubernetes RABC相关规范填写
可提供链接 或者 文字--> # 许可证 使用说明文件中引用的文件或者文档链接尚未设计,作为后续规划。 父主题: 服务包规范
string = "Deleting" ) 在controllers下创建controllers/resources.go文件,用来生成所需要的资源。在创建StatefulSet的时候,使用volumeClaimTemplates自动创建PVC。 package controllers import
元数据Metadata 元数据文件:{OSC-Package}/metadata.yaml,配置的是服务包的基本信息,包括名称、版本、描述等相关信息。 metadata.yaml样例: name: example-operator version: "1.0.0" appVersion:
安装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文件。 否 公共能力目录 公共能
模板仓库和镜像仓库的后端地址。 名称:填写需要上传的服务包中的名称。 描述:用于描述此服务的相关功能描述等。 模板仓库:用于存储服务包中的operator、helm chart或者osc规范包的模板文件。 镜像仓库:用于存储服务包中的容器镜像。如果用户没有对应的仓库组织,可单击“
create api命令,可以发现在重复下载controller-gen的二进制文件,包括后续使用Makefile去编译operator的二进制文件及打包镜像时,都可能会重复下载使用controller-gen二进制文件,建议提前安装controller-gen二进制,并修改Makef
日志目录 参见样例 否 对于lifecycle文件中配置了upgrade字段的服务包,需要确保该服务operator能够管理的实例版本(由CSD文件中的versionDefinition字段规定)与被升级的operator所能管理的实例版本相兼容,否则会导致上传服务包或升级服务o
statusDescriptor用于描述自定义资源中状态字段的属性,其配置在csd.yaml文件的status字段。statusDescriptors的结构与specDescriptors相似,包括相同的字段。 text x-descriptors: 文本形式公开实例的状态字段。 status: [PATH_TO_THE_FIELD]: