检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发Operator 开发原理 在本章节以Kafka为例,构建Kafka-Operator进行Kafka实例的管理,同时Kafka实例将以三节点集群的形式对外提供服务。对于Kafka实例/集群而言,需要依托于zookeeper进行构建,zookeeper用作Kafka集群的元数据
如何从零开始开发Operator 开发Operator 制作镜像 制作服务包 父主题: 附录
Helm or Operator package to OSC package. Usage: oscctl [command] Available Commands: convert Converts a preexisting Helm or Operator
make build go build -ldflags " -X main.kubeBuilderVersion=v3.2.0 -X main.goos=linux -X main.goarch=amd64 -X main.gitCommit=b7a730c84495122a14a0
├── go.sum ├── hack │ └── boilerplate.go.txt └── main.go 参数domain一般为公司域名,如:huawei.com。 main.go作为程序入口,初始化了Manager,由Manager来管理API和Controller。
构建Operator CRD介绍 创建Operator项目 创建API和Controller 父主题: 开发Operator
为其定义Marker,以便自动生成OpenAPI schema。 apiVersion由group、domain、version组成,group为osctest,domain为huawei.com,version为v1,与CRD中的定义对应,可根据需要修改。 父主题: 构建Operator
实现Operator 定义API 实现Controller 生成代码和资源描述文件 父主题: 开发Operator
令为使用系统命令,而非每次通过go get下载并编译后使用。 该命令主要执行以下动作: 在PROJECT文件中增加API资源声明。 domain: huawei.com layout: - go.kubebuilder.io/v3 projectName: hwfka-operator
定义API 在设计的CR spec中,包含size、image、storage属性,因此需要修改api/v1/hwfka_types.go中HwfkaSpec和HwfkaStatus部分,为应用定义参数和状态属性。 package v1 import ( corev1 "k8s
persistentVolumeClaim: claimName: mypvc1 containers: - name: task-pv-container image: nginx ports: - containerPort: 80
-s) DOMAIN=$(hostname -d) if [[ $HOST =~ (.*)-([0-9]+)$ ]]; then NAME=${BASH_REMATCH[1]} ORD=${BASH_REMATCH[2]} else echo "Failed to extract
OSC扩展说明 oscctl工具使用 父主题: 附录
PodSpec{ Containers: getZooKeeperContainer(cr), }, }, VolumeClaimTemplates: []corev1.PersistentVolumeClaim{ volumeClaimTemplates(cr)
verbs=get;list;watch // +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;update func (r *HwfkaReconciler) Reconcile(req
生成代码和资源描述文件 修改api/v1/memcached_types.go或controller中的markers之后,需要重新生成代码和资源描述文件。 # 生成 api/v1/zz_generated.deepcopy.go make generate # 生成 config/crd/bases
概述 OSC服务开发者指南面向OSC服务开发者,帮助开发者能够快速开发一个新服务或者将已有的服务转换成可以部署在OSC平台使用的服务。OSC为客户提供开箱即用的云原生服务,可以通过OSC部署到任意基础设施,包括云容器引擎、华为云UCS等场景。开发者可以遵从OSC自身的服务规范,或
制作Operator镜像 修改hwfka-operator/Dockerfile内容如下: FROM centos:latest COPY bin/manager / RUN chmod ug+x /manager WORKDIR / 构建容器镜像命令如下: $ make && make
制作镜像 制作实例镜像 制作Operator镜像 父主题: 如何从零开始开发Operator
创建服务包模板 通过OSC提供的oscctl工具创建服务包模板,oscctl工具使用详情请参见oscctl工具使用。 使用oscctl工具创建服务包模板。 # 使用oscctl工具,创建服务包 $ oscctl create -o ./hwfka-operator-package