检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义服务CSD 在不同业务环境下,服务对平台有着不同的诉求,Kubernetes提供自定义资源CRD的轻量化机制。而在实践过程中,发现对于服务能力如服务依赖、服务访问、服务部署、监控日志等公共能力欠缺。 因此围绕CRD自研CSD,通过声明式配置CRD的能力引用,增强服务治理能力。
安装Controller 安装 kustomize 基于模板生成YAML文件,下载kustomize二进制压缩包:https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.8.1/kustomize_v3
operator: hwfka-operator spec: # initContainers 如果有需要可添加 containers: - name: hwfka-operator
化运维。 核心特性 指定部署平台:选择服务可部署的应用平台,支持云容器引擎、华为云UCS应用部署平台。 声明式对接平台运维能力:在服务包中添加运维能力对应的配置文件,无需修改业务代码,就能对接监控、日志、弹性伸缩等运维能力。 服务编排:可指定服务之间的拓扑依赖关系。 兼容社区规范:全面兼容Helm和Operator
服务包镜像名称约束 镜像目录存放部署目录中需要使用到的镜像文件,镜像文件以tar格式存储。镜像文件命名规范只允许包含大小写字母、数字、下划线、中划线及点,且不能以下划线、中划线及点结尾。 images目录下存放服务运行所需的容器镜像,根据服务实际情况确定支持单CPU架构还是多CPU架构:
约束与限制 集群限制 使用OSC部署服务前,您需要创建或已有一个可用的CCE集群,并确保集群版本在v1.15及以上。 上传私有服务限制 每次最多只能添加5个服务包。 服务包大小不能超过4MB。 支持三种服务包打包压缩格式 Operator服务:支持遵循OpenShift包格式,以社区的op
表单控件配置组合示例 csd.yaml文件中配置添加如下配置: # 配置表单控件 descriptors: spec: - displayName: Image description: The docker image name and version of
对接平台的日志采集能力,可配置日志采集路径对接配置日志。 文件 否 是 参考如下步骤可以进行扩展目录文件配置: 在配置了扩展能力后,需要在csd.yaml文件中添加配置引用才能生效,新增配置如下: # 公共能力引用(只针对平台能力引用) # MonitorConfig:对接监控 # LogConfig:对接日志
在使用curl过程中需要对开发环境进行证书配置等操作 $ git clone https://github.com/kubernetes-sigs/kubebuilder.git Cloning into 'kubebuilder'... remote: Enumerating objects: 49241
为服务的一个实例,一个服务可以拥有多个实例。 集群 集群指容器运行所需要的云资源组合,关联了若干云服务器节点、负载均衡等云资源。您可以理解为集群是“同一个子网中一个或多个弹性云服务器(又称:节点)”通过相关技术组合而成的计算机群体,为容器运行提供了计算资源池。 命名空间 命名空间
需要上传到OSC平台的服务包,完成后单击“确认”即可完成添加版本操作。 如果没有OBS桶,则可以单击“新建桶”进行跳转到对应页面进行创建并上传服务包。 当前OSC仅支持中心region(上海一)下的桶对接使用。 服务版本添加完成,服务版本转为“待发布”状态,用户可在“我的服务”-“私有服务”中查看验证。
什么是云原生服务中心 云原生服务中心(Operator Service Center,OSC)是面向服务提供商和服务使用者的云原生服务生命周期治理平台,提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,帮助您简化云原生服务的生命周期管理。 功能介绍 云
储,还可用来查询数据和图形化展示数据趋势。其针对不同的应用,提供了多种客户端exporter实现,用来上报监控指标,如:https://github.com/prometheus/jmx_exporter。 华为云容器洞察引擎CIE服务兼容Prometheus提供应用指标采集和监
a_controller.go,为SetupWithManager添加对Service、StatefulSet、Deployment的监听和管理。 import ( "context" "fmt" "github.com/go-logr/logr" appsv1 "k8s
- attachedcluster links: - name: example link url: http://github.com/3scale/prome 表1 Metadata参数 参数名称 参数描述 参数示例 必选 name 名称,符合正则表达式
machines ... 编辑Chart.yaml文件。 如果有annotations属性,则添加子属性source,取值为ISV,如果没有annotations属性,则先添加annotations属性,再添加子属性source。 annotations: source: ISV category:
io/apiextensions-apiserver v0.22.1 Update dependencies: go mod tidy go: downloading github.com/benbjohnson/clock v1.1.0 Next: define a resource with: kubebuilder
升级服务实例 服务实例部署时会在容器集群内部创建一个服务插件,由服务插件来管理服务实例,服务插件可以管理多个版本的实例。 如果存在新的服务实例版本,则可以在实例详情界面,单击“升级”按钮,选择所需要升级到的版本。如果升级失败则可以单击“回退”按钮,回退到升级前的版本。 注意事项
osc.io/v1 kind: LogConfig metadata: name: kafka-log spec: logConfigItems: - labelSelector: app.kubernetes.io/component: kafka
服务已配置动态UI控件,部署服务实例后,实例详情页面可以展示实例的运行详情,比如运行时参数,并支持配置修改。 提供扩展目录,支持对接运维能力。 OSC支持开发者在扩展目录中添加配置文件对接运维能力。基于该规范开发的服务在部署时,OSC会识别并解析配置文件中的内容,赋予服务对应的功能。 服务接入流程图 父主题: 服务接入