
Kubernetes CSI
文章平均质量分 79
k8ssssssssssss
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
Kubernetes CSI NAS性能问题处理
nas 性能原创 2022-09-08 14:11:28 · 2281 阅读 · 0 评论 -
Kubernetes pgsql使用本地 Local PV
Node 14-16全部打上污点Node 14-16全部设置为不可调度[root@master1 ~]# kubectl cordon node14node/node14 cordoned[root@master1 ~]# kubectl cordon node15node/node15 cordoned[root@master1 ~]# kubectl cordon node16node/node16 cordoned[root@master1 ~]# kubectl get n原创 2022-01-23 17:29:00 · 1169 阅读 · 0 评论 -
Kubernetes 持久化存储知识点总结
简述 Kubernetes CSI 模型?答:Kubernetes CSI 是 Kubernetes 推出与容器对接的存储接口标准,存储提供方只需要基于标准接口进行存储插件的实现,就能使用 Kubernetes 的原生存储机制为容器提供存储服务。CSI 使得存储提供方的代码能和 Kubernetes 代码彻底解耦,部署也与 Kubernetes 核心组件分离,显然,存储插件的开发由提供方自行维护,就能为Kubernetes 用户提供更多的存储功能,也更加安全可靠。CSI 包括 CSI Contr原创 2021-11-30 20:49:44 · 515 阅读 · 0 评论 -
Kubernetes 持久化存储 out-of-tree 存储插件
Kubernetes Volume plugins have been a great way for the third-party storage providers to support a block or file storage system by extending the Kubernetes volume interface and are “In-Tree” in nature.In this post, we will dig into Kubernetes Container S转载 2021-11-27 10:53:59 · 704 阅读 · 0 评论 -
Kubernetes PV、PVC、StorageClass 这些到底在说啥?
所以,大多数情况下,持久化 Volume 的实现,往往依赖于一个远程存储服务,比如:远程文件存储(比如,NFS、GlusterFS)、远程块存储(比如,公有云提供的远程磁盘)等等。而 Kubernetes 需要做的工作,就是使用这些存储服务,来为容器准备一个持久化的宿主机目录,以供将来进行绑定挂载时使用。而所谓“持久化”,指的是容器在这个目录里写入的文件,都会保存在远程存储中,从而使得这个目录具备了“持久性”。这个准备“持久化”宿主机目录的过程,我们可以形象地称为“两阶段处理”。接下来,我通过一转载 2021-10-15 18:26:00 · 1939 阅读 · 0 评论 -
存储插件 FlexVolume
在 Kubernetes 中,存储插件的开发有两种方式:FlexVolume 和 CSI。接下来,我就先为你剖析一下Flexvolume 的原理和使用方法。举个例子,现在我们要编写的是一个使用 NFS 实现的 FlexVolume 插件。对于一个 FlexVolume 类型的 PV 来说,它的 YAML 文件如下所示:apiVersion: v1kind: PersistentVolumemetadata: name: pv-flex-nfsspec: capacity:转载 2021-09-23 21:52:19 · 708 阅读 · 0 评论 -
KubeSphere 添加NFS存储
安装部署上传⾄kubesphere的master节点,解压缩[root@master01 charts]# lscsi-neonsan csi-qingcloud nfs-client-provisioner[root@master01 nfs-client-provisioner]# pwd/root/charts/nfs-client-provisioner[root@master01 nfs-client-provisioner]# lsChart.yaml c原创 2021-08-31 20:38:38 · 3913 阅读 · 2 评论 -
Kubernetes CSI 介绍及使用
CSI 介绍及使用和 Flexvolume 类似,CSI 也是为第三方存储提供数据卷实现的抽象接口。有了 Flexvolume,为何还要 CSI 呢?Flexvolume 只是给 kubernetes 这一个编排系统来使用的,而 CSI 可以满足不同编排系统的需求,比如 Mesos,Swarm。其次 CSI 是容器化部署,可以减少环境依赖,增强安全性,丰富插件的功能。我们知道,Flexvolume 是在 host 空间一个二进制文件,执行 Flexvolum 时相当于执行了本地的..转载 2021-08-30 20:16:16 · 2142 阅读 · 0 评论 -
Kubernetes Cephfs & Ceph RBD 在k8s中的适用场景讨论及数据库性能压测
测试发现cephfs的小文件读写性能一般,且写入延迟偏高,性能不甚满意,但是满足于日常应用环境的读写是没有问题的,但是在面对数据库的应用场景,是否能满足性能要求呢?本篇主要结合kubernetes,针对数据库应用场景,对cephfs 和 ceph rbd这两种ceph存储接口来进行性能对比测试.适用场景讨论Cephfs:优点:1.读取延迟低,I/O带宽表现良好,尤其是block size较大一些的文件2.灵活度高,支持k8s的所有接入模式缺点:1.写入延迟相对较高且延迟时间不稳定适转载 2021-08-24 11:48:16 · 1552 阅读 · 0 评论 -
Kubernetes Cephfs 多pod挂载
创建文件系统创建好存储池后,你就可以用 fs new 命令创建文件系统了[root@master1-adminceph]# ceph fs new xianchaocephfs_metadata cephfs_datanew fs with metadata pool 2 and data pool 1其中:new后的fsname可自定义ceph rbd是不支持跨界点去挂载的。之前创建了xianchao这个文件系统[root@master ~]# ceph fs...原创 2021-08-24 08:47:54 · 1232 阅读 · 0 评论 -
Kubernetes ceph rbd 基于 storageclass动态生成pv
基于storageclass动态生成pv1、创建rbd的供应商provisioner原创 2021-08-20 14:31:11 · 1212 阅读 · 0 评论 -
Kubernetes 基于ceph rbd生成pv
1、创建ceph-secret这个k8s secret对象,这个secret对象用于k8s volume插件访问ceph集群,获取client.admin的keyring值,并用base64编码,在master1-admin(ceph管理节点)操作[root@master1-admin ~]# ceph auth get-key client.admin | base64QVFDOWF4eGhPM0UzTlJBQUJZZnVCMlZISVJGREFCZHN0UGhMc3c9PQ==2.创建ce.原创 2021-08-19 14:41:13 · 4547 阅读 · 0 评论 -
kubernetes pod 挂载 ceph rbd
现在ceph集群是健康的[root@master1-admin ceph]# ceph -s cluster cee1da3c-7be4-4f20-8256-5403deb42c1f health HEALTH_OK monmap e1: 3 mons at {master1-admin=192.168.0.5:6789/0,node1-monitor=192.168.0.6:6789/0,node2-osd=192.168.0.7:6789/0} .原创 2021-08-18 11:36:49 · 2097 阅读 · 0 评论 -
FlexVolume
FlexVolume 是 Kubernetes v1.8+ 支持的一种存储插件扩展方式。类似于 CNI 插件,它需要外部插件将二进制文件放到预先配置的路径中(如/usr/libexec/kubernetes/kubelet-plugins/volume/exec/),并需要在系统中安装好所有需要的依赖。对于新的存储插件,推荐基于CSI构建。FlexVolume 接口实现一个 FlexVolume 包括两个步骤实现FlexVolume 插件接口,包括init/attach/d...转载 2021-07-29 17:37:38 · 690 阅读 · 0 评论 -
Flexvolume 介绍及使用
Flexvolume 是 Volume Plugins 的一个扩展,主要实现 Attach/Detach/Mount/Unmount 这些接口。我们知道这些功能本是由 Volume Plugins 实现的,但是对于某些存储类型,我们需要将其扩展到 Volume Plugins 以外,所以我们需要把接口的具体实现放到外面。在下图中我们可以看到,Volume Plugins 其实包含了一部分 Flexvolume 的实现代码,但这部分代码其实只有一个 “Proxy”的功能。比如当 AD Contro转载 2021-06-30 10:44:34 · 2306 阅读 · 0 评论 -
Kubernetes 默认存储类
DefaultStorageClass是默认存储类,当后端有多个存储的时候,就可以去指定一个默认存储类。yaml当中就不需要再去指定存储类名字了,那么就会使用这个默认的存储。为什么要改变默认存储类?取决于安装模式,你的 Kubernetes 集群可能和一个被标记为默认的已有 StorageClass 一起部署。 这个默认的 StorageClass 以后将被用于动态的为没有特定存储类需求的 PersistentVolumeClaims 配置存储。PVC StorageClass为空的情况原创 2021-06-29 10:58:51 · 2504 阅读 · 0 评论 -
Kubernetes 存储架构体系
本文将主要分享以下三方面的内容:Kubernetes 存储体系架构; Flexvolume 介绍及使用; CSI 介绍及使用。转载 2021-06-21 21:05:50 · 469 阅读 · 0 评论 -
PV、PVC体系是不是多此一举?从本地持久化卷谈起
而在持久化存储领域,用户呼声最高的定制化需求,莫过于支持“本地”持久化存储了。也就是说,用户希望 Kubernetes 能够直接使用宿主机上的本地磁盘目录,而不依赖于远程存储服务,来提供“持久化”的容器 Volume。这样做的好处很明显,由于这个 Volume 直接使用的是本地磁盘,尤其是 SSD 盘,它的读写性能相比于大多数远程存储来说,要好得多。这个需求对本地物理服务器部署的私有 Kubernetes 集群来说,非常常见。所以,Kubernetes 在 v1.10 之后,就逐渐依靠 PV..转载 2021-06-17 22:56:40 · 1052 阅读 · 0 评论 -
应用存储和持久化数据卷:存储快照与拓扑调度
一、基本知识存储快照产生背景在使用存储时,为了提高数据操作的容错性,我们通常有需要对线上数据进行snapshot,以及能快速restore的能力。另外,当需要对线上数据进行快速的复制以及迁移等动作,如进行环境的复制、数据开发等功能时,都可以通过存储快照来满足需求,而 K8s 中通过 CSI Snapshotter controller 来实现存储快照的功能。...转载 2021-05-31 23:12:19 · 334 阅读 · 0 评论 -
Kubernetes 对 PV + PVC 体系的完整处理流程详解
架构设计PV 和 PVC 的处理流程我们接下来看一下 K8s 中的 PV 和 PVC 体系的完整处理流程。我首先看一下这张图的右下部分里面提到的 csi。转载 2021-05-29 09:31:08 · 2556 阅读 · 0 评论 -
Kubernetes 应用存储和持久化数据卷 上
本次课程的分享主要围绕以下三个部分:K8s Volume 使用场景 PVC/PV/StorageClass 基本操作和概念解析 PVC+PV 体系的设计与实现原理转载 2021-05-24 21:43:00 · 722 阅读 · 0 评论 -
Kubernetes 存储管理:怎样对业务数据进行持久化存储?
Volume 跟 Pod 的生命周期是绑定的,当 Pod被删除后,Volume 中的数据有可能会一同被删除,具体需要看对应的 volume plugin 的使用要求。而这里我们还需要考虑如下几个问题:共享 Volume。目前 Pod 内的 Volume 其实跟 Pod 是存在静态的一一绑定关系,即生命周期绑定。这导致不同 Pod 之间无法共享 Volume。 复用 Volume 中的数据。当 Pod 由于某种原因失败,被工作负载控制器删除重新创建后,我们需要能够复用 Volume 中的旧数据。转载 2021-04-28 17:32:14 · 463 阅读 · 0 评论 -
Kubernetes NFS PV 动态供给(StorageClass)
PV静态供给明显的缺点是维护成本太高了!因此,K8s开始支持PV动态供给,使用StorageClass对象实现。Storgess帮你创建pvc,只需要在pvc里面定义使用哪个storgeclass,storgess可以标志使用什么存储比如nfs ceph。并不是所有存储支持storgess,有的需要插件支持动态供给的存储插件:https://kubernetes.io/docs/concepts/storage/storage-classes/PV 动态供给(Stora...原创 2021-01-14 16:15:35 · 1115 阅读 · 0 评论 -
Kubernetes 数据卷:NFS
NFS存储NFS即网络文件系统Network File System,它是一种分布式文件系统协议,最初是由Sun MicroSystems公司开发的类Unix操作系统之上的一款经典网络存储方案,其功能是在允许客户端主机可以像访问本地存储一样通过网络访问服务端文件。Kubernetes的NFS存储用于将某事先存在的NFS服务器导出export的存储空间挂载到Pod中来供Pod容器使用。与emptyDir不同的是,NFS存储在Pod对象终止后仅是被卸载而非删除。另外,NFS是文件系统及共享服务,它支持同原创 2021-01-11 16:59:24 · 393 阅读 · 0 评论 -
kubernetes 深入学习持久化存储PV和PVC
volume支持多种不同的内置驱动,使用volumes需要知道后端驱动的细节,使用起来不方便,因此社区提出了PV概念,即通过管理员定义好PV,通过PVC使用PV;随着PV数量的不断增加,管理员需要频繁定义PV,因此提出了动态存储StorageClass,通过PVC中调用StorageClass动态创建PV,接下来介绍高级进阶PV/PVC。1. PV与PVC存储1.1 PV概念介绍PV即PersistentVolume持久化存储,是管理员定义的一块存储空间,能抽象化底层存储细节,和node类.转载 2020-10-23 17:34:03 · 1043 阅读 · 0 评论 -
Kubernetes 持久化存储 PV 生命周期
Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume 已经提前创建,并且知道确切的 volume-id。 Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护。开发人员要获得上面的信息: 要么询问管理员。 要么自己就是管理员。 这样就带来一个管理上的问题:应用..原创 2020-10-20 16:18:48 · 1164 阅读 · 0 评论 -
Kubernetes 本地卷 hostPath Volume
hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器。大部分应用都不会使用 hostPath Volume,因为这实际上增加了 Pod 与节点的耦合,限制了 Pod 的使用。不过那些需要访问 Kubernetes 或 Docker 内部数据(配置文件和二进制库)的应用则需要使用 hostPath。[root@k8s-master ~]# cat mysql-deploy.yml apiVersion: apps/v1kind:原创 2020-10-16 17:16:30 · 2449 阅读 · 1 评论 -
Kubernetes 本地存储卷 emptyDir
Volume本节我们讨论 Kubernetes 的存储模型 Volume,学习如何将各种持久化存储映射到容器。我们经常会说:容器和 Pod 是短暂的。其含义是它们的生命周期可能很短,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。为了持久化保存容器的数据,可以使用 Kubernetes Volume。Volume 的生命周期独立于容器,Pod 中的容器可能被销毁和重建,但 Volume 会被保留。本质上,Kubernetes Volume 是一个目录,这一点原创 2020-10-15 11:37:51 · 5943 阅读 · 0 评论