k8s数据存储之Volume使用详解

本文详细介绍了k8s中的Volume,包括EmptyDir的特点与文件共享操作,hostPath的概述和类型,ConfigMap的创建与使用,以及Secret的Opaque类型操作。通过实例演示了如何在Pod中使用这些Volume类型进行数据存储和共享,以满足不同场景下的持久化和安全性需求。
摘要由CSDN通过智能技术生成

目录

一、什么是Volume

二、k8s中的Volume

三、k8s中常见的Volume类型

四、Volume 之 EmptyDir 

4.1 EmptyDir 特点

4.2 EmptyDir 实现文件共享

4.2.1 关于busybox

4.3 操作步骤

4.3.1 创建配置模板文件yaml

4.3.2 创建Pod

4.3.3 访问nginx使其产生访问日志

4.3.4 查看容器日志

五、Volume 之 hostPath 

5.1 hostPath 概述

5.2 hostPath类型

5.3 hostPath 操作演示

5.3.1 创建模板配置文件

5.3.2 使用apply命令创建pod

5.3.3 访问nginx使其产生访问日志

5.3.4 查看容器输出日志

5.3.5 查看挂载目录日志文件

5.3.6 删除当前的pod

5.4 emptyDir和hostPath的对比

六、Volume 之 ConfigMap 

6.1 ConfigMap需求场景

6.2 ConfigMap简介

6.3 ConfigMap 创建操作演示

6.3.1 使用命令行创建

6.3.2 查看创建的configmap

6.3.3 使用yaml配置文件创建

6.3.4 查看configmap详情

6.4 ConfigMap 使用操作演示

6.4.1 使用配置文件创建pod

6.4.2 验证configmap中配置的值

七、Volume 之 Secret 

7.1 Secret 简介

7.2 secret 常见类型

7.2.1 dockerconfigjson

7.2.2 Service Account

7.3 Secret  Opaque使用

7.3.1 创建模板配置文件

7.3.2 使用apply命令创建secret

7.3.3 查看my-secret详细信息

7.3.4 创建pod

7.3.5 查看secret信息


一、什么是Volume

通过之前学习了解到,k8s中Pod是最小的运行单元,Pod中运行的是一个个容器,但是容器的生命周期可能很短,被频繁地创建和销毁。

在学习docker的时候,创建一个容器,如果没有指定容器的数据卷,容器中的文件在磁盘上通常是临时存放的,这就给容器中运行的重要应用程序带来了一些问题 ,比如像下面的场景:

  • 当容器崩溃时文件丢失,kubelet 会重新启动容器,但容器会以干净的状态重启,之前保存在容器中的数据也会被清除 ;
  • 当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件 ;

基于这些问题,k8s中就出现了“卷”这个组件来解决

Kubernetes 卷(Volume) 这一抽象概念能够解决这两个问题,卷的核心是包含一些数据的目录,Pod 中的容器可以访问该目录

评论 168
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值