k8s修改存储目录-介绍

【云原生之kubernetes实战】在k8s集群下搭建gitlab 阅读详情
AI摘要

本文介绍了在Kubernetes中修改存储目录的方法,包括指定Docker或containerd镜像和容器存储目录、Kubelet的存储目录,以及Pod和容器存储目录。可通过修改配置文件参数,如Docker的data - root、containerd的root和state等,还能使用PersistentVolumes或emptyDir指定存储路径。

k8s修改存储目录-介绍


docker 运行时,迁移目录实操:https://blog.youkuaiyun.com/admin_233/article/details/144930001

总结:

通过这些方法,你可以灵活地指定 Kubernetes 中容器、镜像以及 Pod 数据的存储目录。

  • Docker: 修改 /etc/docker/daemon.json 中的 data-root 参数来指定存储目录。
  • containerd: 修改 /etc/containerd/config.toml 中的 root 和 state 参数来指定存储目录。
  • Kubelet: 通过 --kubelet-root-dir 参数来指定存储路径。
  • Pod 数据存储: 使用 PersistentVolumes 或 emptyDir 来指定存储路径。

介绍

在 Kubernetes (K8s) 中,指定镜像、容器和 Pod 的存储目录通常涉及以下几个方面的配置:
容器运行时存储目录、Kubelet 存储目录以及 Docker 或 containerd 的存储目录。
以下是配置方法:

指定 Docker 或 containerd 镜像和容器存储目录

Kubernetes 使用容器运行时(如 Docker 或 containerd)来管理容器的生命周期。
默认情况下,Docker 和 containerd 将镜像和容器存储在特定的目录中。
你可以通过修改它们的配置来更改存储目录。

Docker 存储目录

Docker 默认将镜像和容器存储在 /var/lib/docker 目录下。要更改 Docker 的存储路径,可以修改 Docker 的配置文件。
修改 Docker 存储路径:
编辑 Docker 配置文件 /etc/docker/daemon.json,添加或修改 data-root 参数来指定存储目录:

{
  "data-root": "/your/custom/directory"
}

# 例如:
{
  "data-root": "/mnt/docker-data"
}

# 重启 Docker 服务:
systemctl restart docker # 修改配置后,重启 Docker 服务使配置生效

containerd 存储目录

如果你使用 containerd 作为容器运行时,容器和镜像的存储目录默认位于 /var/lib/containerd。要更改存储路径,需要修改 containerd 的配置文件。
修改 containerd 存储路径:
编辑 containerd 的配置文件(通常位于 /etc/containerd/config.toml),修改 root 和 state 配置项:

root = "/your/custom/root"
state = "/your/custom/state"

重启 containerd 服务:
systemctl restart containerd # 修改配置后,重启 containerd 服务

指定 Kubelet 的存储目录

Kubelet 存储 Pod 数据和容器运行时数据。默认情况下,Kubelet 使用 /var/lib/kubelet 目录。你可以通过修改 Kubelet 启动参数来更改其存储路径。
修改 Kubelet 配置文件:
编辑 Kubelet 的 systemd 配置文件(通常为 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf),并添加或修改 -
kubelet-root-dir 参数,指定存储目录:
或者在 /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf

--kubelet-root-dir=/your/custom/kubelet-directory

# 重启 Kubelet 服务:
systemctl daemon-reload
systemctl restart kubelet # 修改配置后,重启 Kubelet 服务

指定 Pod 和容器存储目录

你还可以通过设置 Persistent Volumes (PV) 或使用 emptyDir 来控制 Pod 和容器的数据存储位置。以下是一些方法:

  • 使用 Persistent Volumes (PV)
    你可以创建 PersistentVolume (PV) 来指定存储卷的路径。PV 支持使用不同的存储后端(如本地存储、NFS、Ceph 等),你可以将存储路径指定为某个目录。

例如,创建一个本地存储的 PersistentVolume:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv
spec:
  capacity:
    storage: 1Gi
  volumeMode: Filesystem
  storageClassName: manual
  local:
    path: /mnt/disks/vol1
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  • 使用 emptyDir
    如果你希望容器在 Pod 中使用临时存储,可以使用 emptyDir,它将为每个 Pod 创建一个临时存储目录,存储目录的位置会由 Kubelet 决定。emptyDir 默认使用 /var/lib/kubelet/pods 目录,但你也可以通过指定 Kubelet 的 --kubelet-root-dir 来更改存储位置。

例如,使用 emptyDir 配置存储目录:

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-emptydir
spec:
  containers:
    - name: busybox
      image: busybox
      volumeMounts:
        - mountPath: /data
          name: empty-dir
  volumes:
    - name: empty-dir
      emptyDir: {}
k8s volumns&pv&pvc详解 k8s 存储 pv 常见的卷 pvc deployment 测试 阅读详情

相关推荐

Vivado SDK中LWIP库版本冲突与RTL8211FDI兼容性实战解析

本文深入解析Vivado 2019.1 SDK中LWIP 1.0库与RTL8211FDI千兆PHY芯片的版本冲突问题,并提供实战解决方案。通过手动移植高版本LWIP库、整合第三方驱动及优化BSP配置,有效解决了以太网通信兼容性问题,确保千兆性能稳定运行。

ios99的博客 274

修改k8s的数据目录

kubeadm部署k8s修改数据目录

贾文超的博客 3348

RM3100应用笔记驱动程序SPI接口

PNI磁传感器套件RM3100磁传感器套件由2个Sen-XY-f(pn13104)地磁传感器,1个Sen-Z-f(pn13101)地磁传感器和MagI2C(pn13156)控制芯片组成,能够实现三维空间的磁场大小测量。

AIoT技术栈的博客 4923

准确-K8s系列文章-修改containerd 默认数据目录

通过上述步骤,可以成功地将 Kubernetes 集群中 containerd 的默认数据目录从修改为了。可以通过多种方式验证变更是否生效,并确保新的应用数据存储在新的路径上。

u011197085的博客 4147

从零开始:用君正T23ZN打造智能门锁双摄系统(含代码示例与调试技巧)

本文详细介绍了基于君正T23ZN视频处理芯片构建智能门锁双摄系统的完整实战方案。内容涵盖硬件选型与核心电路设计、软件开发环境搭建、双摄驱动框架、图像信号处理(ISP)调优、人脸识别算法集成与性能优化,以及系统调试与稳定性保障。文章提供了丰富的代码示例和调试技巧,旨在帮助嵌入式开发者高效实现具备人脸识别与监控功能的低功耗智能门锁视觉系统。

opencv7vision的博客 717

Computer Networks 和 Computer & Security投稿经验

论文投稿

qq_50604294的博客 9234

containerd修改存储目录

containerd作为k8s主要的cri,它默认存储位置是使用的/根目录挂载的资源。当容器运行的越来越多,默认的空间就不够使用了。2,修改containerd配置文件,修改默认配置为/apps。找到root这行,“/var/lib/containerd”请注意,之前启动的容器仍然使用旧的目录,除非这些容器被重启。发布新的容器应用,确认新的应用数据存储在新的路径下。除了扩容磁盘容量,怎么修改为更大的存储空间目录呢?把目录位置换为/apps/containerd。确保在可接受的情况下停止。

惊云 2239

STM32F103四位数码管动态显示实战:从硬件连接到代码调试(附Proteus仿真)

本文详细介绍了STM32F103驱动四位数码管的动态显示技术,从硬件连接到代码调试的全过程。内容包括共阴/共阳数码管的区别、GPIO配置、动态显示原理及优化方法,并附有Proteus仿真验证。通过实战案例,帮助开发者快速掌握STM32数码管动态显示的核心技术。

weixin_29168393的博客 470

k8s-containerd容器运行时默认50G存储位置更换

containerd作为k8s主要的cri,它默认存储位置是使用的/根目录挂载的资源。移动或者复制,我使用复制文件方式:cp -r /var/lib/containerd/* /home/containerd。这里我使用方式2,可以看到/home目录为104G,/根分区默认划分为50G。找到root这行,把目录位置换为/home/containerd,退出保存。方式2、修改containerd配置文件,修改默认配置为/home。创建文件夹:mkdir /home/containerd。

星星的博客 5835

8、内存交织技术详解

本文详细解析了内存交织技术的基本原理、工作机制及实现方式,探讨了其在提升内存访问速度和系统性能中的关键作用。文章还分析了内存交织的优缺点、实际应用场景以及与其他优化技术的结合应用,并提出了未来发展的可能方向,为理解与运用该技术提供了全面参考。

g9h0i1的博客 551

从零开始:手把手教你设计人形机器人锂电池供电系统

人形机器人要像人类一样“活起来”,必须有稳定的“能量血液”——供电系统。本文聚焦锂电池供电系统如何根据机器人功耗选择合适的锂电池参数(容量、电压、放电倍率);如何设计电池管理系统(BMS)保护电池安全;如何解决机器人运动时的“瞬时大电流”供电难题;如何通过硬件电路和代码实现供电系统的监测与控制。用“机器人小助手的能量危机”故事引入锂电池供电系统;拆解锂电池核心参数(容量、电压、放电倍率)和供电系统三大组件(电池组、BMS、电源转换模块);

AI天才研究院 1760

在K8S迁移节点kubelet数据存储目录

在 Kubernetes(k8s)中迁移节点kubelet数据存储目录是一项需要谨慎操作的任务,因为kubelet负责管理节点上的容器运行时。

海鸥 881

基于Python的彩票数据爬虫:数据抓取与趋势分析

爬虫是一种用于从互联网上自动抓取信息的程序。在抓取彩票数据时,我们首先需要确定目标网站并获取其网页内容,接着提取彩票的开奖结果信息并保存。彩票数据通常是以HTML表格或列表的形式展示,爬虫可以利用Python的requests和来抓取静态网页,或使用Selenium来抓取动态页面。在本篇博客中,我们深入探讨了如何使用Python编写彩票数据爬虫,抓取并分析彩票开奖结果。通过Python爬虫技术,结合数据分析与可视化工具,我们能够全面分析历史开奖数据,揭示彩票号码的频率分布、趋势变化以及未来的可能走势。

2201_76125261的博客 1939

kubeadm创建的kubernetes集群之修改containerd、kubelet、etcd的工作目录

修改containerd数据目录 需要修改containerd的配置文件,一般是/etc/containerd/config.toml 配置里面的root就是代表数据目录 root = "/opt/containerdlib" 修改kubelet工作目录 根据 /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf 加载 /etc/sysconfig/kubelet 文件 1、修改 /etc/sysconfig/kubelet 的KUBELE

李炜伦的博客 2750

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Kubernetes 环境下迁移 Docker 数据目录教程

随着容器数量增多,该目录可能会占满系统盘。为了优化磁盘空间,可以将其迁移到新的磁盘路径(如 /home/docker 或 /data/docker)。

weixin_46244623的博客 1621

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

k8s使用mac上自带的NFS

k8s使用mac上自带的NFS服务 之前文章里有记录如何在mac电脑上使用docker,并搭建k8s集群。最近在开发测试的时候,遇到k8s挂载持久卷的问题。本来想在开发的电脑上搭建一个NFS服务,经过在网上一番搜索发现mac电脑本身就带有一个NFS服务。这篇文章主要记录一下如何在mac上开启并配置NFS服务,以及如何在k8s上使用NFS。 1 配置并开启NFS服务 Mac上的NFS服务是作为系统服务提供的,可以使用nfsd status命令查看nfsd当前的状态。 1.1 配置共享目录 Mac自带的NF

shirukai 1567

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

修改docker和kubelet工作目录

修改docker工作目录 1.修改配置文件/etc/docker/daemon.json { "graph": "/mnt/data/docker" } 2 重启docker service sudo systemctl daemon-reload sudo systemctl restart docker 3 确认更改生效 sudo docker info 看到 “Docker Root Dir: /mnt/data/docker” ,说明修改成功。 修改kubelet工作目录.

qq_42514511的博客 781

[kuberntes]-笔记-k8s使用nfs作为存储

导语:个人笔记 使用nfs作为k8s storageclass 文件下载路径 链接: https://pan.baidu.com/s/1j8liEMtaNQKcNQySbsNQhA 密码: crhl cd /srv/stuy/k201-master/3.Kubernetes容器持久化存储/config/nfs 修改pv.yaml中nfs的ip和对应的目录 kubectl apply -f ./ ...

爷来辣的博客 387

nacos使用_kubernetes中部署 nacos,使用外部MySQL存储

部署NFS服务1. 部署 NFS 服务yum -y install nfs-utils rpcbind2. 创建存储目录mkdir /data/nacosnfsvolumes/3. 修改配置文件cat /etc/exports/data/nacosnfsvolumes 192.168.0.0/16(insecure,rw,async,no_root_squash)4. 启动 rpcbin...

weixin_39574065的博客 813

Kubernetes 配置管理

在传统架构中,配置文件往往被保存在宿主机上,程序启动是可以指定某个配置文件,但是使用容器部署时,容器所在的节点并不固定,所以不能使用这种方式,此处在构建镜像时,如果把配置文件也放在容器里面,那么配置文件一旦有更改的话,也是一件非常麻烦的事情。比如在生产环境中,可以将 Nginx、Redis 等应用的配置文件存储在 ConfigMap 上,然后将其挂载即可使用、相对于 secret,ConfigMap 更倾向于存储和共享非敏感、未加密的配置信息,假如是集群中使用敏感信息,最好使用 secret。

TBF610218的博客 1131

k8s根目录超过多少会触发驱逐Pod

需要注意的是,驱逐过程可能会导致节点上的Pod被删除,因此在调整阈值时需要谨慎。在Kubernetes中,根据不同的配置和实际情况,节点上的根目录可能会出现不同的使用情况。如果在kubelet的配置文件中没有明确设置根目录使用的阈值,那么Kubernetes将会使用默认的阈值。可以通过修改kubelet的配置文件来设置根目录的使用阈值,例如在kubelet的启动参数中添加。参数用于设置根目录使用的阈值。你可以通过修改kubelet的启动参数来设置根目录使用的阈值,例如在kubelet的启动参数中添加。

喝醉酒的小白 2400

k8s cri由docker更换为containerd

containerd config default > /etc/containerd/config.toml #生成containerd 配置 containerd 配置需要修改以下几项 需要修改的都特殊标记了 #这里修改的是containerd的存储目录 root = "/docker-data/containerd-data" state = "/docker-data/containerd-state" [plugins."io.containerd.grpc.v1.cri

屈帅波的技术博客 1851

nacosk8s部署_kubernetes中部署nacos

部署在kubernetes中,以NFS作为数据存储卷环境介绍:名称版本K8Sv1.17.2Docker19.03.5nacos1.3.0一、拉取代码git clone https://github.com/nacos-group/nacos-k8s.git二、安装NFS服务1、安装服务yum install nfs-utils rpcbind -y2、创建共享目录mkdir /data/k8s -...

weixin_26849971的博客 1546

k8s 单文件持久化

subPath 允许将一个卷中的子目录挂载到容器中的某个路,可以对某些文件或目录进行持久化存储。但是其本身并不会直接提供持久化功能,它只是允许将宿主机或持久卷中的特定路径映射到容器内。

qq_29109799的博客 323

K8s新手系列之ConfigMap资源

在 Kubernetes(K8s)中,ConfigMap 是一种 API 对象,用于将非机密性的数据保存到键值对中。Pod 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap 允许你将配置清单与镜像内容分离,以保持容器化的应用程序的可移植性。例如,你可以下载并运行相同的容器镜像来启动容器, 用于本地开发、系统测试或运行实时终端用户工作负载。ConfigMap 是一个让你可以存储其他对象所需要使用的配置的 API 对象。

weixin_32827773的博客 186
上一篇: k8s中,Containerd运行时与Dockerd运行时区别
下一篇: Docker 存储目录迁移-实操
admin_233
博客等级 码龄9年 2498粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值