当前位置: 首页 > news >正文

【云原生】基于Kubernetes开发的阿里云ACK之存储管理

目录

    • Kubernetes存储简介
    • Kubernetes存储核心概念
    • Kubernetes存储分类
    • ACK的存储组件
      • 1、Flexvolume
      • 2、CSI
      • 3、Flexvolume和CSI的对比
      • 4、推荐使用CSI组件
        • 1)阿里云ACK的CSI
        • 2)OSS、NAS、云盘 对比

Kubernetes存储简介

在这里插入图片描述

Kubernetes存储核心概念

在这里插入图片描述

Kubernetes存储分类

主要分为:In-treeOut-of-tree
在这里插入图片描述

ACK的存储组件

1、Flexvolume

FlexVolume 是 Kubernetes v1.8+ 支持的一种存储插件扩展方式。类似于 CNI 插件,它需要外部插件将二进制文件放到预先配置的路径中(如 /usr/libexec/kubernetes/kubelet-plugins/volume/exec/),并需要在系统中安装好所有需要的依赖。可以想到,这是一种out-of-tree的扩展方式,不需要新增加一种存储插件,去更改k8s的源码。

2、CSI

Kubernetes 从 1.9 版本开始引入容器存储接口 Container Storage Interface(CSI)机制,用于在 Kubernetes 和外部存储系统之间建立一套标准的存储管理接口,通过该接口为容器提供存储服务。CSI 到 Kubernetes 1.10 版本升级为 Beta 版,到 Kubernetes 1.13 版本升级为 GA 版,已逐渐成熟
在这里插入图片描述

3、Flexvolume和CSI的对比

Flexvolume 只是给 kubernetes 这一个编排系统来使用的,而 CSI 可以满足不同编排系统的需求,比如 Mesos,Swarm。

其次 CSI 是容器化部署,可以减少环境依赖,增强安全性,丰富插件的功能。

我们知道,Flexvolume 是在 host 空间一个二进制文件,执行 Flexvolum 时相当于执行了本地的一个 shell 命令,这使得我们在安装 Flexvolume 的时候需要同时安装某些依赖,而这些依赖可能会对客户的应用产生一些影响。因此在安全性上、环境依赖上,就会有一个不好的影响。

同时对于丰富插件功能这一点,我们在 Kubernetes 生态中实现 operator 的时候,经常会通过RBAC 这种方式去调用 Kubernetes 的一些接口来实现某些功能,而这些功能必须要在容器内部实现,因此像 Flexvolume 这种环境,由于它是 host 空间中的二进制程序,就没法实现这些功能。而 CSI 这种容器化部署的方式,可以通过 RBAC 的方式来实现这些功能。
摘自:https://blog.csdn.net/qq_34556414/article/details/120004267

4、推荐使用CSI组件

在这里插入图片描述

1)阿里云ACK的CSI

在这里插入图片描述
注:阿里云OSS不支持不支持动态存储绑定

2)OSS、NAS、云盘 对比

在这里插入图片描述

相关文章:

  • 【Java多线程】必须要了解的基本概念
  • 走进音视频的世界——Opus编解码协议
  • SaaS vs 低代码,谁在成为中国产业服务的楔子?
  • Redis实战精讲(3)
  • Flink(二)
  • 全息干涉图补零尺寸与三种重构方法重建像间的关系研究
  • Vue2(十三):路由的使用及注意点、嵌套路由、路由的query和params参数、props配置
  • 如何增强 ABAP 系统,允许开发人员给 ABAP 对象设置标签,方便快速检索
  • 【Python】面向对象 -没有对象?new一个吧
  • ELK集添加安全认证
  • 智能家居离线语音识别控制系统设计(SU-03T)
  • 商家如何玩好“种草神器”?小红书KOL达人种草这样做
  • 基于共词分析的中国近代史实体关系图构建(毕业设计:图数据渲染)
  • 猿创征文|阿里云MaxCompute存取性能测试报告
  • Spring Cloud Sleuth在分布式中进行日志跟踪
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ERLANG 网工修炼笔记 ---- UDP
  • JavaScript类型识别
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • 简析gRPC client 连接管理
  • 前端自动化解决方案
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 深入浏览器事件循环的本质
  • 实战|智能家居行业移动应用性能分析
  • 云大使推广中的常见热门问题
  • 再谈express与koa的对比
  • 怎样选择前端框架
  • ​TypeScript都不会用,也敢说会前端?
  • #1015 : KMP算法
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1) caustics\
  • (52)只出现一次的数字III
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Matlab)使用竞争神经网络实现数据聚类
  • (第一天)包装对象、作用域、创建对象
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (论文阅读30/100)Convolutional Pose Machines
  • (十六)一篇文章学会Java的常用API
  • (一)插入排序
  • (一)基于IDEA的JAVA基础12
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • .NET Core 成都线下面基会拉开序幕
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET 材料检测系统崩溃分析
  • .NET 发展历程
  • .net/c# memcached 获取所有缓存键(keys)
  • .net和jar包windows服务部署
  • ??eclipse的安装配置问题!??
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @property括号内属性讲解
  • [20190416]完善shared latch测试脚本2.txt
  • [Android 13]Input系列--获取触摸窗口