【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC

2024-06-05 23:12

本文主要是介绍【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 emptyDir存储卷

当pod被分配给节点

容器和容器之间进行共享存储

hostPath

nfs共享存储卷

NAS 专业的存储设备;一般是与NFS 搭配,然后共享出去

GFS 自己搭;CEPH(至少要9台) 第三方;NAS 第三方;

云端        oss        s3        SLB        LB        CDN(加速缓存);AWS 外网,CDN可以加快访问

查看共享存储

showmount -e

挂载时记得要加ip

主机名要改为域名

设置域名解析

删除所有pod

kubectl delete pod --all

查看帮助

kubectl explain pod.spec.volumes

k8s 官网

验证数据是否保持持久化

PVC和PV

什么是PVC和PV

pv是磁盘;pvc是磁盘的请求;storage

节省资源和

当没有满足需求的pv时,就会报错

PVC的使用逻辑

storagesClass

 

动态pv:事先没有相关的存储资源,当有需求时会进行自动创建

PV和PVC之间的相互作用

k8s 支持存储插件的访问方式

NFS使用PV和PVC

pvc 写入数据到 pv 过程中,无法删除pvc、pv 回收资源;pod释放Volume后就能删除pvc了

例如:创建一个目录然后cd进去,打开新的窗口,删除这个目录,会发现因为占用无法删除

PV的状态(4种)

PV的生命周期

一个PV 从创建到销毁的过程:

回收策略

Retain        保留

Delete        删除

Recycle        回收;保留磁盘的功能,删除数据;

查看pv 定义的规格

定义存储类型

定义挂载卷路径

定义服务器名称,访问模型

满足pvc的大小和规则,去匹配pv;会优先匹配大小接近(>=)的pv;小的不会匹配,大的可以匹配但多余的会被浪费

2、定义PV

3、定义PVC

前端后端打包工具 ?

4、访问测试

实现 NFS 的动态 PV 创建

pod 设置pvc,pvc通过api接口k8s 现在通过api 调用pv 还需要经过第三方插件才行,高并发时就不行了,

pod:放应用、微服务;对接pvc名称

pvc:需求的请求(磁盘的请求),通过restful == API

restful:存储原生不支持k8s,所以需要安装第三发插件;例:nfs存储插件;

             restful通过 连接插件 调用pv

pv:相当于磁盘的分区

外部的插件都需要创建用户并授权才能使用

用户授权

xxxxx

存储挂载目录

创建PVC和Pod 测试

总结

k8s 存储卷 volume

PV-PVC

emptyDir 可以实现pod 中容器之间共享数据,但是存储卷之间不能做持久化数据,并且随着pod生命周期的结束emptyDir一起删除

hostOath

可以实现持久化存储,使用node节点的目录或文件挂载到容器,但是存储空间会受到node节点单机限制;当node节点故障时,数据会丢失;pod跨节点不能共享数据

nfs

nfs:可以实现持久化存储,使用nfs 将存储设备空间挂载到容器中,pod可以跨node节点来共享数据

怎么从本机拉取其他主机的文件

PV        k8s 指定的存储设备空间中,创建持久化的存储

PVC        是对pv 存储资源请求和绑定

StorageClass        sc类型(存储类型),联动存储插件,动态创建PV 资源

静态PV的使用:
准备好存储设备和共享目录;

创建pv资源,进行配置设置存储类型、访问模式、存储能力的大小

创建pvc资源,并配置请求pv资源的访问模式和存储的大小;

pvc 与 pv 进行一对一绑定

在pv 访问模式中必须支持pvc 请求的访问模式

请求的存储空间优先选择相等存储大小的pv资源;当没有匹配的时,会选择大于请求的pv存储资源来绑定(大于pvc的部分会被浪费)

创建 pod 资源 存储类设置 PeristenVolumeClaim 在容器配置存储挂载

动态 storage 

StorageClass 动态创建 pv 的过程

StorageClass + nfs-client-provistioner 

准备 NFS 共享服务器和共享目录

创建sa 服务账号,并进行RBAC 资源操作权限的授权

创建 nfs-client-provistioner 存储插件(以Pod 形式运行的)配置中关联sa服务账号,使存储插件

获得相关资源的操作权限

创建StorageClass 资源,配置中关联存储插件的名称配置

#以上过程完成后,以后只需要创建PV资源就可以动态生成相关的PV资源

创建PVC资源,配置中关联 StorageClass 资源的名称,此时会在 NFS 服务器上生成相关的pv共享目录,目录名 ${namespace} ${PVCname} ${PVname} 格式命名

创建pod资源、存储类型,设置成 PersistentVolumeClaim,在容器中配置存储挂载即可

这篇关于【Kubernetes】 emptyDir、nfs存储卷 和 PV、PVC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034439

相关文章

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

什么是Kubernetes PodSecurityPolicy?

@TOC 💖The Begin💖点点关注,收藏不迷路💖 1、什么是PodSecurityPolicy? PodSecurityPolicy(PSP)是Kubernetes中的一个安全特性,用于在Pod创建前进行安全策略检查,限制Pod的资源使用、运行权限等,提升集群安全性。 2、为什么需要它? 默认情况下,Kubernetes允许用户自由创建Pod,可能带来安全风险。

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N