详情页标题前

腾讯云对象存储将 COS 元数据加速桶作为文件系统挂载到 k8s 集群中

详情页1

简介

Container Storage Interface(CSI)是由 Kubernetes、Docker 等社区推出的一个行业标准接口规范,是用于将文件系统或者块存储暴露给 Kubernetes 之类的容器编排系统(CO)上的容器化工作负载的标准。Kubernetes-csi-tencentcloud CHDFS 插件实现了 CSI 接口,可以将 COS 元数据加速桶作为文件系统提供给 Kubernetes。您可以快速的在容器集群中通过标准原生 Kubernetes 以 CHDFS-FUSE 的形式使用 COS 元数据加速桶,详情请参见 CHDFS-FUSE 工具介绍。CHDFS-FUSE 插件能够将腾讯云 COS 元数据加速桶挂载到对应工作负载中,目前只支持 Static Provisioning 模式(即为一个已有的元数据加速桶创建 pv,并创建对应 pvc 来使用它)。

环境准备

需要准备 Kubernetes 版本大于等于 1.14 的集群,推荐 腾讯云 TKE 集群已开启元数据加速的存储桶 中,单击性能配置 > HDFS 用户配置,配置 Kubernetes 集群的 VPC 网络。配置指引请参见 注意:开启元数据加速配置,当前仅对白名单用户开放,详情请参见 元数据加速功能概述

腾讯云对象存储将 COS 元数据加速桶作为文件系统挂载到 k8s 集群中



使用方法

插件下载

前往 Github 下载插件,将 Kubernetes-csi-tencentcloud CHDFS 插件安装于集群中。

插件部署

1. 通过执行以下命令来部署 chdfs 插件。若集群 k8s 版本 >= 1.20,则命令如下:

kubectl apply -f  deploy/chdfs/kubernetes/csidriver-new.yamlkubectl apply -f  deploy/chdfs/kubernetes/csi-node-rbac.yamlkubectl apply -f  deploy/chdfs/kubernetes/csi-node.yaml

若集群 k8s 版本 < 1.20,则命令如下:

kubectl apply -f  deploy/chdfs/kubernetes/csidriver-old.yamlkubectl apply -f  deploy/chdfs/kubernetes/csi-node-rbac.yamlkubectl apply -f  deploy/chdfs/kubernetes/csi-node.yaml

2. 通过执行以下命令来查看插件是否处于 Running 状态:

kubectl get po -n kube-system | grep chdfscsi-chdfs-node-fcwd4                 2/2     Running   0          23m

插件使用

1. 编辑插件配置

vim ./deploy/chdfs/examples/pv.yaml 
apiVersion: v1kind: PersistentVolumemetadata:  name: csi-chdfs-pvspec:  accessModes:  - ReadWriteMany  capacity:    storage: 10Gi  csi:    driver: com.tencent.cloud.csi.chdfs    # 指定一个唯一的 volumeHandle,如 pv 名称或文件系统 id    volumeHandle: csi-chdfs-pv    volumeAttributes:      # 允许其他用户访问,可选 true 或 false      allowother: "true"      # 任何对内存的修改都会实时同步到 CHDFS,可选 true 或 false      sync: "false"      # 显示调用 fuse 接口的详细信息,可选 true 或 false      debug: "true"      # chdfs 挂载点的挂载地址,例如 cosn-test-1250000000.chdfs.ap-guangzhou.myqcloud.com      url: "cosn-test-1250000000.chdfs.ap-guangzhou.myqcloud.com"      # Additional args.      additional_args: ""  storageClassName: ""

参数说明:allowother:是否允许其他用户访问。sync:是否将内存的任何修改都实时同步到元数据加速桶中。debug:是否在日志中显示详细的 fuse 接口调用。url:参数中填入正确的桶名和地域,例如 cosn-test-1250000000.chdfs.ap-guangzhou.myqcloud.comadditional_args:chdfs 支持自定义挂载参数,各参数间以空格隔开,例如 client.renew-session-lease-time-sec=100 cache.read.read-ahead-block-num=100。支持参数及说明如下:

名称 默认值 描述
security.ssl-ca-path CA 路径,例如 /etc/ssl/certs/ca-bundle.crt
client.renew-session-lease-time-sec 10 会话续租时间(s)
client.mount-sub-dir 根目录 挂载子目录
client.user 当前用户名 用户名
client.group 当前组名 组名
client.force-sync false 强制 sync 开关,不依赖“-o sync”
cache.update-sts-time-sec 30 数据读写临时密钥刷新时间(s)
cache.cos-client-timeout-sec 5 数据上传/下载超时时间(s)
cache.inode-attr-expired-time-sec 30 inode 属性缓存有效时间(s)
cache.read.block-expired-time-sec 10 【读操作】单 Fd 数据读缓存有效时间(s)(block 粒度)
cache.read.max-block-num 256 【读操作】单 Fd 数据读缓存 block 最大数量
cache.read.read-ahead-block-num 15 【读操作】单 Fd 预读 block 数量(read-ahead-block-num < max-block-num)
cache.read.max-cos-load-qps 1024 【读操作】多 Fd 数据下载最大 QPS(QPS * 1MB < 网卡带宽)
cache.read.load-thread-num 128 【读操作】多 Fd 数据下载 worker 数量
cache.read.select-thread-num 64 【读操作】多 Fd 元数据查询 worker 数量
cache.read.rand-read false 【读操作】随机读场景开关
cache.write.max-mem-table-range-num 32 【写操作】单 Fd 当前数据写缓存 range 最大数量
cache.write.max-mem-table-size-mb 64 【写操作】单 Fd 当前数据写缓存最大容量(MB)
cache.write.max-cos-flush-qps 256 【写操作】多 Fd 数据上传最大 QPS(QPS * 4MB < 网卡带宽)
cache.write.flush-thread-num 128 【写操作】多 Fd 数据上传 worker 数量
cache.write.commit-queue-len 100 【写操作】单 Fd 元数据提交队列长度
cache.write.max-commit-heap-size 500 【写操作】单 Fd 元数据提交最大容量(无需设置)
cache.write.auto-merge true 【写操作】单 Fd 写时自动合并文件碎片开关
cache.write.auto-sync false 【写操作】单 Fd 写时自动刷脏页开关
cache.write.auto-sync-time-ms 1000 【写操作】单 Fd 写时自动刷脏页时间周期(ms)
log.level info 日志级别
log.file.filename default.log 日志文件名
log.file.log-rotate true 日志分割
log.file.max-size 单个日志文件最大容量(MB)
log.file.max-days 单个日志文件保存最长时间(天)
log.file.max-backups 历史日志文件最多文件数量

2. 通过执行以下命令来创建 pv:

# 在 pv 所支持参数中,只有 url 是必须配置的。kubectl apply -f deploy/chdfs/examples/pv.yaml

3. 通过执行以下命令来创建 pvc:

kubectl apply -f deploy/chdfs/examples/pvc.yaml

4. 通过执行以下命令来查看 pvc 与 pv 的绑定状态:

kubectl get pvc csi-chdfs-pvc

示例如下:

腾讯云对象存储将 COS 元数据加速桶作为文件系统挂载到 k8s 集群中


5. 通过执行以下命令来创建 pod:

kubectl apply -f deploy/chdfs/examples/pod.yaml

6. 通过执行以下命令来查看 pod 是否处于 Running 状态:

kubectl get pod

示例如下:

腾讯云对象存储将 COS 元数据加速桶作为文件系统挂载到 k8s 集群中


7. 查看文件系统挂载情况,可以看到文件系统被成功挂载:

df -h 

示例如下:

腾讯云对象存储将 COS 元数据加速桶作为文件系统挂载到 k8s 集群中



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144828.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云高性能应用服务关闭学术加速

    操作场景 当您无需继续访问、下载资源,或不依赖腾讯云提供的学术加速能力时,可主动关闭学术加速服务。 注意事项 关闭学术加速后,您将失去部分学术资源平台的网络优化能力,可能导致访问、下载速度变慢。同地域下任一服务关闭学术加速能力,将会同时关闭同地域下所有服务的学术加速能力。 操作步骤 通过控制台概览关闭 1. 登录 高性能应用服务HAI 控制台,单击加速设置。…

    2023年12月9日
  • 腾讯云CVM服务器回收或恢复实例

    本文档介绍实例的回收机制与恢复实例的操作方法。更多信息可参见 欠费说明。 实例回收说明 腾讯云回收站是一种云服务回收机制,不同计费模式的实例回收说明如下:包年包月类型实例:在到期当日或到期前进行主动销毁,则销毁当日会关机并自动进入回收站。若账户中余额充足,已设置自动续费的实例到期时会执行自动续费且正常运行。按量计费类型实例:在主动销毁或者定时销毁后会进入回收…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 这个是我云效这个账号的策略,但是这个在云绩里面并没有生效,为什么?-云小二-阿里云

    这个是我云效这个账号的策略,要求只允许在指定 ip 白名单内访问 指定 oss bucket。但是这个在云绩里面并没有生效?{ “Version”: “1”, “Statement”: [ { “Effect”: “Allow”, &#82…

    阿里云 2023年12月27日
  • 云效如何通过 API 上传 附件到 标签->发行版 ?以及如何下载 附件?-云小二-阿里云

    云效如何通过 API 上传 附件到 标签->发行版 ?以及如何下载 附件?是 codeup 里面的 标签 发行版 上传附件。 以下为热心网友提供的参考意见 这个不支持,我看了下接口目前没有。 此回答整理自钉群“云效API反馈(外部用户)”

    2023年12月20日
  • 腾讯云CVM服务器主机安全

    简介 主机安全基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供黑客入侵检测和漏洞风险预警等安全防护服务,主要包括密码破解拦截、异地登录提醒、木马文件检测、高危漏洞检测等安全功能,解决当前服务器面临的主要网络安全风险,帮助企业构建服务器安全防护体系,防止数据泄露。主机安全分为基础防护及专业防护两个版本,腾讯云云服务器在创建时可选择默认免费开通主机安全基础…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。