检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
例在各节点上会有一个zookeeper实例与其对应,存储broker内的消息、topic等数据。对于整体架构而言,先启动一个zookeeper三节点集群作为kafka启动的基础条件,然后启动Kafka三个节点实例(即broker实例)进行服务的提供,同时启动一个KafkaManager用作可视化管理。整体结构如下:
如何确保容器镜像仓库允许创建至少一个组织? 使用场景 用户在上传私有服务时,云原生服务中心将会在容器镜像仓库新建一个独立的组织用于存储上传的数据包。因此用户使用此仓库时需要确保容器镜像仓库允许创建至少一个组织,以避免上传服务包失败。 操作步骤 登录容器镜像服务SWR控制台,在左侧导航栏单击“组织管理”。
概述 OSC服务开发者指南面向OSC服务开发者,帮助开发者能够快速开发一个新服务或者将已有的服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或
├── go.sum ├── hack │ └── boilerplate.go.txt └── main.go 参数domain一般为公司域名,如:huawei.com。 main.go作为程序入口,初始化了Manager,由Manager来管理API和Controller。
openAPIV3Schema。 CRD字段说明 group,一般为组织名称,如:osctest。 API版本,第一个版本一般为v1。 scope,Namespaced级别,修改为Cluster级别,则集群内仅可以创建一个同名的CR。仅Cluster级别的operator可管理同级别CRD。 API名称,假
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
make build go build -ldflags " -X main.kubeBuilderVersion=v3.2.0 -X main.goos=linux -X main.goarch=amd64 -X main.gitCommit=b7a730c84495122a14a0
persistentVolumeClaim: claimName: mypvc1 containers: - name: task-pv-container image: nginx ports: - containerPort: 80
patch); err != nil { return nil, err } } return secret, nil } 如果一个动作的处理时间较长,为了避免Reconcile阻塞,需要使请求返回并重新排队,有四种方法: // 请求成功,不再排队 return ctrl
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高SLA的必要条件,严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。OSC提供开箱即用的云原生运维能力,支持服务声明式对接,无需修改业务代码。 应用级视图 传统的运维
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
令为使用系统命令,而非每次通过go get下载并编译后使用。 该命令主要执行以下动作: 在PROJECT文件中增加API资源声明。 domain: huawei.com layout: - go.kubebuilder.io/v3 projectName: hwfka-operator
自定义资源CRD 自定义资源CRD是Kubernetes服务遵循,一个自定义资源对应一个目录,遵循Kubernetes CRD规范,详细介绍参考官方CustomResourceDefinition。 父主题: 资源集合Manifests
Operator服务接入OSC平台 前置条件 阅读本章节前,用户需要拥有一个符合Operator规范的服务包,Operator服务规范可以参考Operator规范,下面以Operator开源服务datadog-operator为例进行详细说明。 接入流程 用户参考附录oscctl
定义API 在设计的CR spec中,包含size、image、storage属性,因此需要修改api/v1/hwfka_types.go中HwfkaSpec和HwfkaStatus部分,为应用定义参数和状态属性。 package v1 import ( corev1 "k8s
-s) DOMAIN=$(hostname -d) if [[ $HOST =~ (.*)-([0-9]+)$ ]]; then NAME=${BASH_REMATCH[1]} ORD=${BASH_REMATCH[2]} else echo "Failed to extract
PodSpec{ Containers: getZooKeeperContainer(cr), }, }, VolumeClaimTemplates: []corev1.PersistentVolumeClaim{ volumeClaimTemplates(cr)
ogo 参考样例 否 maintainers 维护人员列表,包含name和email两个字段,注意,当前同一个服务不同版本仅支持配置相同内容,一旦配置后当前不支持修改 参考样例 否 provider 提供者,包含name和url两个字段,注意,当前同一个服务不同版本须配置相同内容,一旦配置后当前不支持修改
本章节主要介绍如何将一个现有的服务包接入OSC平台,并可以使用OSC附加功能,有效增加自身服务的运维能力。如开发者需要从头开始编写程序制作应用,可以参考附录如何从零开始开发Operator。 OSC平台支持OSC服务规范,开源Helm或Operator-Framework的规范服务,开发者可参