minio作为K8S后端存储

瑞星  金牌会员 | 2025-2-21 22:04:06 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

docker部署minio

  1. mkdir -p /minio/data
  2. docker run -d \
  3.    -p 9000:9000 \
  4.    -p 9001:9001 \
  5.    --name minio \
  6.    -v /minio/data:/data \
  7.    -e "MINIO_ROOT_USER=jbk" \
  8.    -e "MINIO_ROOT_PASSWORD=jbjbjb123" \
  9.    quay.io/minio/minio server /data --console-address ":9001"
复制代码
直接安装csi-s3

  1. https://artifacthub.io/packages/helm/k8s-csi-s3/csi-s3
  2. helm repo add kubeblocks https://apecloud.github.io/helm-charts
  3. helm pull kubeblocks/csi-s3
  4. kubectl create ns csi-s3
  5. helm install -n csi-s3 csi-s3 csi-s3-0.31.4.tgz  \
  6. --set secret.accessKey="tw8iFXwkBlrUmNKLp6ei" \
  7. --set secret.secretKey="GBQW7xObmwcTDo4Yz5b2OH4u73i6sEPGBhnvxvSl" \
  8. --set secret.endpoint="http://172.16.8.104:9000"
  9. #你的minio地址
复制代码
安装完成如下


简单测试

  1. cat <<EOF > demon.yaml
  2. apiVersion: v1
  3. kind: PersistentVolumeClaim
  4. metadata:
  5.   name: s3-pvc
  6. spec:
  7.   accessModes:
  8.     - ReadWriteOnce
  9.   resources:
  10.     requests:
  11.       storage: 5Gi
  12.   storageClassName: csi-s3
  13. ---
  14. apiVersion: v1
  15. kind: Pod
  16. metadata:
  17.   name: nginx
  18. spec:
  19.   containers:
  20.     - name: nginx
  21.       image: nginx
  22.       volumeMounts:
  23.         - mountPath: /xx/xxx
  24.           name: s3-storage
  25.   volumes:
  26.     - name: s3-storage
  27.       persistentVolumeClaim:
  28.         claimName: s3-pvc
  29. EOF
复制代码
部署pods根本都没有什么题目,好比kafka集群,redis集群都OK ,不再过多演示



将 S3 作为 Kubernetes 的后端存储,重要依赖于 CSI(Container Storage Interface)驱动的实现。csi-s3 驱动负责将 S3 对象存储与 Kubernetes 的存储管理系统集成。以下是实在现原理的扼要概述:

实现原理



  • CSI 驱动架构:
  • CSI 是 Kubernetes 的标准接口,允许差别的存储系统(如 S3)与 Kubernetes 集成。csi-s3 驱动实现了 CSI 的 API,使得 Kubernetes 能够通过标准化的方式与 S3 进行交互。
    StorageClass 和 PVC:
  • 用户首先创建一个 StorageClass,指定使用 csi-s3 驱动。然后,用户创建一个 PersistentVolumeClaim(PVC),哀求特定的存储容量。Kubernetes 会根据 PVC 的哀求,调用 CSI 驱动来动态创建或绑定相应的存储资源。
    卷的创建与管理:
  • 当 PVC 被创建时,csi-s3 驱动会处理卷的创建哀求。它会与 S3 API 交互,创建一个新的 S3 存储桶或在现有存储桶中创建一个对象。比方,驱动可能会创建一个特定的文件夹或对象,代表 PVC 的存储。
    数据读写操作:
  • 当 Pod 必要访问存储时,csi-s3 驱动会将读写哀求转换为 S3 API 调用。比方,写入数据时,驱动会将数据上传到 S3 存储桶;读取数据时,驱动会从 S3 存储桶下载数据。
    数据同等性和性能:
  • S3 是基于对象的存储,通常采用终极同等性模子。csi-s3 驱动必要处理数据同等性的题目,确保应用能够精确处理数据的读取和写入。
    对于性能,S3 的延迟相对较高,因此不适合所有类型的工作负载,尤其是必要低延迟和高 IO 性能的数据库应用。
    卷的删除与回收:
  • 当 PVC 被删除时,csi-s3 驱动会处理卷的删除哀求,可能会删除相应的 S3 对象或存储桶,具体取决于 PersistentVolumeReclaimPolicy 的配置(如 Retain、Delete 等)。
    关键组件
  • CSI 适配器:
  • csi-s3 驱动实现了 CSI 适配器,处理 Kubernetes 发送的存储哀求。
  • S3 API:
  • 驱动使用 AWS S3 API 或兼容 S3 的 API 与对象存储进行交互。
  • Kubernetes API:
  • 驱动与 Kubernetes API 交互,处理 PVC、PV 和 StorageClass 的生命周期管理。
网络交互

数据写入:



  • 当一个 Pod 必要将数据写入 S3 时,csi-s3 驱动会通过网络向 S3 API 发起 HTTP(S) 哀求,将数据上传到指定的 S3 存储桶。这意味着数据必要颠末网络传输,从 Pod 的容器到 S3 存储服务。
    数据读取:
  • 雷同地,当 Pod 必要读取数据时,csi-s3 驱动会通过网络向 S3 API 发起哀求,下载所需的数据。这同样必要网络连接。
    网络延迟与性能
    延迟:由于数据必要通过网络传输,读写操作的延迟通常会比直接使用本地或块存储要高。这对于必要快速响应的应用(如数据库)可能会影响性能。
  • 带宽:网络带宽也会影响数据传输的速率,尤其是在处理大量数据时。
考虑因素



  • 网络可靠性:确保网络连接的可靠性,以克制在读写操作时出现停止或失败。
  • 安全性:使用 HTTPS 加密数据传输,以保护敏感数据在传输过程中的安全。
  • 数据同等性:由于 S3 是基于对象的存储,其同等性模子为终极同等性,需考虑应用如何处理这种同等性。
  • 总结来说,使用 S3 作为 Kubernetes 的后端存储时,所有的数据读写操作都依赖于网络,这对性能和应用设计都有一定影响。
- 注意事项



  • 权限管理:
  • 确保 Kubernetes 集群有足够的权限访问 S3 存储。这通常通过 IAM 角色或 S3 存储桶策略来实现。
  • 性能考虑:
  • 对象存储的性能与块存储差别,适合存储大量非结构化数据,但可能不适合必要高性能的应用。
  • 数据安全性:
  • 考虑数据在传输和存储过程中的安全性,可能必要启用加密和访问控制。
  • 通过以上机制,csi-s3 驱动能够将 S3 对象存储无缝集成到 Kubernetes 中,为应用提供机动的持久化存储解决方案。
  • 关键点
  • 没有真正的挂载:与传统的块存储差别,S3 是对象存储,实际上并没有将 S3 存储“挂载”到 Pods 上。相反,Pods 通过 csi-s3 驱动与 S3 API 进行交互。
  • 通过 CSI 驱动进行读写:所有的读写操作都通过 csi-s3 驱动进行,这个驱动负责将 Pod 中的操作转换为对 S3 存储桶的 API 调用。
  • 文件系统接口:尽管 Pods 可以使用雷同于文件系统的接口(如 /mnt/s3),但底层的实现是通过网络哀求与 S3 进行交互,而不是直接访问存储块。
  • 性能考虑:由于 S3 是对象存储,性能和延迟可能会影响应用的表现,特别是对于高 IO 的工作负载
  • 数据同等性:S3 的终极同等性模子可能会影响应用的举动,特别是在并发读写的情况下
  • 因此,固然在 Kubernetes 中看起来像是将 S3 存储挂载到 Pods,但实际上是通过 CSI 驱动与 S3 API 进行交互的过程。这种方式使得 S3 的对象存储特性能够在 Kubernetes 环境中使用。
  • 个人觉得如果再测试环境中还是比nfs之类的网络文件存储好使,是真正live环境还是保举使用ceph这种块存储性能更好的存储

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表