检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建Operator项目 背景 Operator是Kubernetes的扩展软件,通过定制资源管理应用和其他组件,实现一定自动运维能力。可以在不改动Kubernetes源码的情况下,通过一个或多个Operator来扩展集群能力,遵照自身业务需求、场景等灵活开发,节省运维成本。流程
集群安装新版本服务包后,crd不会自动更新 使用场景 用户卸载服务包后,crd资源仍会保留;假如要安装新版本服务包,且新版本的crd资源与旧的crd资源同名,需要用户手动删除旧版本crd资源后重新上传新版本的crd资源。 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。
创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例
Kubernetes队列正在处理,可以从集群中查到该同名资源),但是实际集群中没有该资源或者服务实例(Kubernetes队列将其删除)。所以在集群自身机制的时间差内,可能产生云原生服务中心界面显示该服务实例状态为运行中,但是实际集群中并不存在该服务实例。 此类情况发生在工作负载过多,并且网络之间通信不稳定的场景下。
OSC console依据crd.yaml文件可以自动生成Operator的创建表单。crd.yaml文件中的properties(openAPIV3Schema.properties.spec.properties)对象会自动映射到对应的UI组件。 目前提供的基础类型控件分别有
实例回收相关资源。 服务插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装。当服务包中声明了运维能力的相关配置,服务部署时,集群中被依赖的插件如果没有安装,OSC会自动安装。用户可以在插件创建好之后查看插件的事件、日志等,当插件异常时,用户可以重建插件进行恢复。
1. 使用默认crd.yaml文件自动生成表单 由CRD中定义的openAPIV3Schema字段规定CR中可配置的参数以及这些参数的类型、范围,应用在创建CR的时候通过YAML文件指定这些参数。 2. 使用自定义csd.yaml文件生成表单 自动生成的创建表单已经很强大,但有时可
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
使用Kubebuilder,可通过在API结构的属性上定义Markers,自动生成CRD中的spec.validation.openAPIV3Schema,即基于OpenAPI的校验规则,以便校验用户创建的CR中字段值的合法性。如上述设置size属性的最小值和最大值: // +kub
如何清理集群中OSC冗余插件数据 使用场景 用户使用OSC平台部署了相关OSC服务后,因为自身原因需要将集群中的OSC等插件信息清理掉,可以参考此章节进行处理。 使用前提 确保集群可以执行kubectl命令,以避免无法执行清理命令。 操作步骤 登录kubernetes集群后台节点
如何解决系统插件或服务Operator一直处于安装中 使用场景 Operator-Chef在部署服务插件的过程中会访问Kubernetes提供的相关接口,例如:Create、Update等,在执行各个操作接口时,其超时时间为10秒,如果超过10秒可能会因为插件一直不能够正常部署造成一直处于安装中的状态。其根本原因是因为网络不稳定导致
API properties: # ... type: object 在Kubernetes中创建CRD时,将自动创建其对应的Kubernetes API,为RESTful endpoint形式,在namespace或cluster范围内可以访问其进行CRUD操作。
如果服务包中有日志相关配置文件,云原生服务中心会自动对接华为云AOM提供日志相关能力,并且在页面上可以浏览相关日志。如果没有显示日志,则可以先进行如下的检查。 单击左上角,搜索应用运维管理 AOM进入AOM的页面。 检查集群中的ICAgent是否安装,如果没有安装则需要手动安装。
服务插件误删后应该如何处理? 使用场景 用户在云原生服务中心订阅服务或者上传私有服务后并部署实例,云原生服务中心会自动安装服务插件,用户在后台进行kubectl命令操作时误删除了oc-operator的deployment,导致后续无法继续安装云原生服务。 oc-operator
的生命周期,由服务提供商提供,当集群首次部署对应服务实例时,会自动安装对应服务的管理插件。服务运维能力插件由OSC提供,当部署的服务声明了诸如日志、监控等运维能力配置时,集群中如果没有对应的运维能力插件,OSC会自动安装。 用户申请CIE公测并审批通过,才能开通运维能力插件。 日
图1 系统插件 OSC提供的运维能力依赖一些能力插件,这些插件无需用户安装,当有声明了相关运维能力的服务部署时,容器集群中如果没有被依赖的插件,OSC将会自动安装。OSC系统插件是通过CCE插件来安装部署和管理。插件状态依赖CCE的插件实例状态。 如果您需要修改或者升级OSC插件
服务Operator资源被误删后,删除实例失败时如何清理? 集群安装新版本服务包后,crd不会自动更新 如何确保容器镜像仓库允许创建至少一个组织? 如何解决界面显示运行中,但是实际集群中并没有该服务实例问题
在定义CRD时,需同时定义基于OpenAPI的校验规则,其中包含创建CR时的字段及取值范围,以便校验用户创建的CR中字段值的合法性。使用Kubebuilder,可通过在API中定义Marker,自动生成spec.validation.openAPIV3Schema。 CRD字段说明 group,一般为组织名称,如:osctest。
证的账号,请申请账号,具体请参见云市场计划。 在“发布商品”页面商品接入类型选择“容器”,填写商品信息。 在选择资产时,选择OSC服务已经注册的资产类。 单击“提交”按钮提交商品上架申请,等待云市场运营人员的审批。 您可以在云市场“卖家中心->商品管理->我的申请”里查看商品的审批状态。
会在“我的服务->我的订阅”界面查看到已订阅的服务列表。 商用服务订阅时会跳转到云市场界面,选定规格付费完成后,会自动生成订阅记录。当前云市场暂不支持付费完成后自动跳转到OSC,因此需要手动切回至OSC的“我的服务->服务订阅”界面。 部署服务。 在“我的服务->我的订阅”界面查找已订阅目标服务,单击“创建实例”。