自定义服务CSD 在不同业务环境下,服务对平台有着不同的诉求,Kubernetes提供自定义资源CRD的轻量化机制。而在实践过程中,发现对于服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。
nload/kustomize/v3.8.1/kustomize_v3.8.1_linux_amd64.tar.gz # 解压并安装 $ tar zxvf kustomize_v3.8.1_linux_amd64.tar.gz $ chmod +x kustomize $ mv kustomize
sidecar方式,为应用监控指标数据注入instance_id字段,用以区分不同实例的指标,并分层分级生成监控仪表盘,图形化展示监控数据。 对接流程 获取OSC规范开发的服务包,如果只有原生的helm或OperatorFramework包,可以参考章节服务包转换进行转换。 在目
基本概念 服务 服务是OSC管理的最大粒度实体,由用户上传的服务包,会抽象成为服务用于统一管理。 实例 服务按用户指定参数部署到具体的Kubernetes集群中,称为服务的一个实例,一个服务可以拥有多个实例。 集群 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均
服务使用者通过已订阅服务创建服务实例。 服务使用者可对服务实例进行编辑、升级、监控等治理操作。 服务使用者可针对不需要的服务实例进行销毁。 图2 商品服务生命周期 私有服务生命周期 华为云租户将服务包上传为私有服务。 华为云租户使用私有服务创建服务实例。 华为云租户可对服务实例进行编辑、升级、监控等治理操作。
即可。 图1 服务部署流程 操作步骤 登录OSC控制台,在左侧导航栏选择"我的服务",在私有服务页面单击“上传服务”。 选择所需要的服务包仓库存储类型。 选择"容器镜像仓库",用户可直接上传服务包。上传到"容器镜像仓库"的服务包,可登录上海一Region容器镜像服务 SWR进行查
下载依赖包 下载JRE:https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz。 下载Apache Kafka二进制包:https://archive.apache.org/dist/kafka/2
Helm服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Helm规范的服务包,Helm服务规范可以参考Helm规范,下面以helm开源服务grafana为例进行详细说明。 接入流程 用户参考附录oscctl工具使用中的链接下载oscctl工具oscctl-22.8
# 访问模式: # ReadWriteOnce 以读写模式 mount 到单个节点; # ReadOnlyMany 以只读模式 mount 到多个节点; # ReadWriteMany 以读写模式 mount 到多个节点。
15集群使用的csi关联的storage class名称是csi-disk。 accessModes: 指定读写模式,v1.15集群版本只支持非共享卷,此字段设置为ReadWriteOnce。 storage:存储容量,单位为Gi。 另外需要指定: everest.io/disk-volume-type:云硬
case ResourceDeployment: rs = &appsv1.Deployment{} } // 设置其 owner 为实例 CR if err = ctrl.SetControllerReference(instance, obj, r.Scheme);
配置表单控件 创建实例应用时,往往涉及大量的参数配置,为方便用户使用,OSC console提供了自动生成表单的能力。 在Kubernetes 1.8中,CRD定义基于OpenAPI v3的验证模式的能力。基于OpenAPI v3能力,可用于自动生成用于创建实例的表单。 控件类型
管理服务插件 登录OSC控制台。 进入“我的服务->我的订阅”页面,卡片模式下会展示当前所有服务的实例个数,单击某一服务查看服务详情。 单击“服务管理”页签,可查看当前服务管理插件的状态,包括插件所在的区域和容器集群。 服务插件状态异常时,可单击操作栏“事件”和“日志”选项,根据
Operator服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl
图1 服务部署流程 操作步骤 查找服务。 登录OSC控制台,可以使用服务目录页面顶部的搜索框,按照服务名称查询所需的服务。 如果不确定服务名,在服务目录页面单击“更多服务”,按照服务类型、应用场景等条件来筛选。OSC提供以下筛选条件,帮助用户快速获取所需服务。 表1 筛选条件
变更实例规格 云原生服务中心OSC的服务来自不同的服务提供商,不同类别的服务实例规格变更方式存在差异,具体请咨询服务提供商,以服务实例的展示界面为准。以Kafka为例,展示如何变更实例规格。 纵向扩容kafka集群 单击服务实例页面右上角的编辑按钮,编辑服务实例的yaml信息。
安装方法一:根据kubebuilder官网提供的go语言版本和节点系统架构下载。 # go env GOOS -- 获取操作系统类型,例如:linux等 # go env GOARCH -- 获取系统架构,例如:arm或amd64等 $ curl -L -o kubebuilder https://go
x-descriptors(可选) -字段能力的UI组件信息。 配置Descriptor控件时,需要确保在csd.yaml中增加的path字段路径,以v1版本为例,需要和crd中的对应的openAPIV3Schema.properties.spec.properties内的path路径一致,否则会出现控件不生效的情况。
HuaweiProvided},分别表示独立服务供应商、开源服务、华为自有服务,仅支持配置一个值。默认值为OpenSource OpenSource 否 type 包类型,取值范围:{helm, operator},仅支持配置一个值,默认值为operator operator 否 containerImage
升级服务实例 服务实例部署时会在容器集群内部创建一个服务插件,由服务插件来管理服务实例,服务插件可以管理多个版本的实例。 如果存在新的服务实例版本,则可以在实例详情界面,单击“升级”按钮,选择所需要升级到的版本。如果升级失败则可以单击“回退”按钮,回退到升级前的版本。 注意事项
您即将访问非华为云网站,请注意账号财产安全