检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 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
集群安装新版本服务包后,crd不会自动更新 使用场景 用户卸载服务包后,crd资源仍会保留;假如要安装新版本服务包,且新版本的crd资源与旧的crd资源同名,需要用户手动删除旧版本crd资源后重新上传新版本的crd资源。 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。
部署场景deployScenes包含部署平台(CCE和UCS)和集群类型两部分: 当部署平台为CCE时:集群类型只支持华为云集群“self”,不设置集群类型表示不限制 当部署平台为UCS时:集群类型支持以下5种,不设置集群类型表示不限制 self partnercloud onpremise
图1 服务部署流程 操作步骤 查找服务。 登录OSC控制台,可以使用服务目录页面顶部的搜索框,按照服务名称查询所需的服务。 如果不确定服务名,在服务目录页面单击“更多服务”,按照服务类型、应用场景等条件来筛选。OSC提供以下筛选条件,帮助用户快速获取所需服务。 表1 筛选条件
8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型 表单控件 表单控件配置组合示例 父主题: 服务接入
管理服务插件 登录OSC控制台。 进入“我的服务->我的订阅”页面,卡片模式下会展示当前所有服务的实例个数,单击某一服务查看服务详情。 单击“服务管理”页签,可查看当前服务管理插件的状态,包括插件所在的区域和容器集群。 服务插件状态异常时,可单击操作栏“事件”和“日志”选项,根据
password(密码输入框):支持密码类型字段输入。 select(下拉框):设置一些可选项,简化用户输入成本。 imagePullPolicy(镜像拉取策略):预置了K8S镜像拉取策略。 k8sResourcePrefix(K8S资源对象):支持设置资源类型并查询展示。 podCount(Pod数量):设置pod数量。
发布服务 OSC负责管理服务包,商品的正式发布需要到华为云云市场卖家中心发布,交付方式选择”容器”,其它信息请参见商品发布说明。 操作步骤 在服务发布页面单击“发布商品”链接进入云市场发布商品界面。 发布服务必须使用通过云市场认证的账号登录,如果没有通过云市场认证的账号,请申请账号,具体请参见云市场计划。
服务使用者通过已订阅服务创建服务实例。 服务使用者可对服务实例进行编辑、升级、监控等治理操作。 服务使用者可针对不需要的服务实例进行销毁。 图2 商品服务生命周期 私有服务生命周期 华为云租户将服务包上传为私有服务。 华为云租户使用私有服务创建服务实例。 华为云租户可对服务实例进行编辑、升级、监控等治理操作。
服务插件误删后应该如何处理? 使用场景 用户在云原生服务中心订阅服务或者上传私有服务后并部署实例,云原生服务中心会自动安装服务插件,用户在后台进行kubectl命令操作时误删除了oc-operator的deployment,导致后续无法继续安装云原生服务。 oc-operator
templates目录 {Helm}/ ├─ Chart.yaml #【必选】包含了chart信息文件,包括api版本、名称、描述、图标、类型、注释 ├─ values.yaml #【必选】参数值文档,为templates下的文档配置参数值 ├─ values.schema
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
Operator服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl
requests: storage: 10Gi storageClassName: csi-disk storageClassName:存储卷动态供应关联的k8s storage class名称;v1.15集群使用的csi关联的storage class名称是csi-disk。
Helm服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Helm规范的服务包,Helm服务规范可以参考Helm规范,下面以helm开源服务grafana为例进行详细说明。 接入流程 用户参考附录oscctl工具使用中的链接下载oscctl工具oscctl-22.8
5.4版本。 服务管理限制 取消订阅会同时清理已创建的实例及实例所在集群的控制组件。 私有服务删除服务包前,先删除已创建的实例,以及实例所在集群的服务管理Operator。 上传同名不同版本的私有服务时,旧版本的服务会被新版本服务覆盖。 生态类型为“Helm”的服务暂不支持版本升级、回退。
对于一个服务,如果是单CPU架构,则只需要配置x86_64或者aarch64之一即可,如果是多CPU架构,则x86_64和aarch64都需配置,osc服务会将两个服务制作成共架构服务包并将最终镜像地址回填到部署文件中。以下分别通过一个Helm服务和Operator服务举例说明,以镜像swr
需要卸载该版本时,先标记为 non-serving storage: false # 再将 storage 设置到可用的版本 - name: v1 served: true storage: true # 基于 openAPIV3Schema 的校验规则
clusterserviceversion.yaml中的配置,在部署服务实例时,拉取镜像会失败。 标识服务来源 OSC提供来自开源、华为自研以及生态伙伴的服务,生态伙伴需要在服务包中固定字段进行标记说明服务来自生态伙伴。 operator服务 以etcd operator为例,etcdoperator
APIs的框架,有如下两种安装方法 。 安装方法一:根据kubebuilder官网提供的go语言版本和节点系统架构下载。 # go env GOOS -- 获取操作系统类型,例如:linux等 # go env GOARCH -- 获取系统架构,例如:arm或amd64等 $ curl -L -o kubebuilder