Kubernetes
使用 Fluid 对接 S3 存储及性能测试
· ☕ 1 分钟
1. Jindo 挂载 S3 配置环境变量 1 2 3 4 export ENDPOINT=obs.ap-southeast-3.myhuaweicloud.com export BUCKET= export AK= export SK= 创建凭证 1 2 3 4 5 6 7 8 9 10 kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: mys3secret type: Opaque stringData: fs.s3.accessKeyId: ${AK} fs.s3.accessKeySecret: ${SK} EOF 创建 Dataset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 kubectl apply -f - <<EOF apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: mys3-jindo spec: mounts: - mountPoint: s3://${BUCKET}/test2/ options: fs.s3.endpoint: ${ENDPOINT} encryptOptions: - name: fs.s3.accessKeyId valueFrom: secretKeyRef: name: mys3secret key: fs.s3.accessKeyId - name: fs.s3.accessKeySecret valueFrom: secretKeyRef: name:

Ops 发布 v1.0.0 版本
· ☕ 2 分钟
基于生产的真实需要,最近对 https://github.com/shaowenchen/ops 又进行了几个重要的更新,同时发布了 v1.0.0 版本。这里主要介绍一下这个版本的主要特性。 1. 多集群执行任务的支持 在实践中,建议: 将当前集群的主机创建为 Host 可以创建多个 Cluster,拥有的 Cluster 对象即为纳管的集群 Task、Pipe

使用 Fluid 对接 OBS 存储及性能测试
· ☕ 1 分钟
1. Jindo 挂载 OBS 配置环境变量 1 2 3 4 export ENDPOINT=obs.cn-north-4.myhuaweicloud.com export BUCKET= export AK= export SK= 创建凭证 1 2 3 4 5 6 7 8 9 10 kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: myobssecret type: Opaque stringData: fs.obs.accessKeyId: ${AK} fs.obs.accessKeySecret: ${SK} EOF 创建 Dataset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 kubectl apply -f - <<EOF apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: myobs-jindo spec: mounts: - mountPoint: obs://${BUCKET}/test2/ options: fs.obs.endpoint: ${ENDPOINT} name: default path: "/" encryptOptions: - name: fs.obs.accessKeyId valueFrom: secretKeyRef: name: myobssecret key: fs.obs.accessKeyId

使用 Iceberg 和 Spark 在 Kubernetes 上处理数据
· ☕ 10 分钟
1. 数据处理架构 主要分为四层: 处理能力层,Spark on Kubernetes 提供流式的数据处理能力 数据管理层,Iceberg 提供 ACID、table 等数据集访问操作能力 存储层,Hive MetaStore 管理 Iceberg 表元数据,Postgresql 作为 Hive MetaStore 存储后端,S3 作为数据存储后端 资

Kubernetes 下的 DLRover 工作流程分析
· ☕ 13 分钟
本文使用的 DLRover 版本是 0.3.7 1. DLRover Operator 1.1 启动 ElasticJob 和 ScalePlan 的控制器 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 创建 ElasticJob 的控制器 if err = controllers.NewElasticJobReconciler(mgr, masterImage).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ElasticJob") os.Exit(1) } // 创建 ScalePlan 的控制器 if err = controllers.NewScalePlanReconciler(mgr).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ScalePlan") os.Exit(1) } // 启动控制器 if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { setupLog.Error(err, "problem running manager") os.Exit(1) } 这部分代码是