k8s平台本地数据迁移整改过程

 更新时间:2026年05月22日 09:18:23   作者:Zhu758  
文章主要介绍了对k8s平台默认数据存储位置进行优化,将数据统一管理并存至指定目录和云磁盘的整个过程,包括新磁盘的创建挂载、配置更改生效、环境检查、清理旧环境等步骤,强调在集群所有节点上进行优化,并提醒配置更改生效后建议重启机器以确保变更生效

说明

新部署的k8s平台,采用默认配置,数据存放在默认目录,现需要统一管理数据,将数据存放在指定目录和云磁盘。

注意:

若k8s对接其他组件,例如openebs,需单独做数据迁移。

操作记录

前提条件,已准备好新的存储数据的云磁盘和目录。

创建新的云磁盘,挂载到主机,例如/dev/vdc。

mkdir /data
mkfs.ext4 /dev/vdc
mount /dev/vdc /data/
修改文件,
vim /etc/fstab

# 追加配置
/dev/vdc        /data   ext4    defaults        0 0

检查环境,确保变更前后状态一致,

kubectl get node -A -o wide
kubectl get pod -A -o wide

需注意runtime,

若用docker

vim /etc/docker/daemon.json
# 新增配置
"data-root": "/data/docker"

同步数据到新目录,配置生效,

rsync -av /var/lib/docker/ /data/containerd/
systemctl daemon-reload
systemctl start docker
systemctl status docker

若使用containerd,

cp /etc/containerd/config.toml /etc/containerd/config.toml.bak
systemctl stop containerd
rsync -av /var/lib/containerd/ /data/containerd/
vim /etc/containerd/config.toml
# 修改
root = "/data/containerd"

配置生效

systemctl daemon-reload
systemctl start containerd
systemctl status containerd

配置kubelet数据

mkdir /data/kubelet
systemctl stop kubelet
cp /etc/systemd/system/kubelet.service.d/10-kubeadm.conf /etc/systemd/system/kubelet.service.d/10-kubeadm.conf.backup
rsync -av /var/lib/kubelet/ /data/kubelet/
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# 在最后一行ExecStart=尾部追加配置
 --root-dir=/data/kubelet

使配置生效

systemctl daemon-reload
systemctl start kubelet
systemctl start kubelet

检查环境,确保变更前后状态一致,

kubectl get node -A -o wide
kubectl get pod -A -o wide

重启机器

推荐重启机器,确认配置依旧生效。

清理旧环境

当平台稳定允许三天后,且无数据异常,删除原数据存档的目录,释放占用的空间。

rm -rf /var/lib/containerd/ /var/lib/docker /var/lib/kubelet/

注意:

集群内所有节点都要操作。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Kubernetes Event Exporter和Prometheus的K8s事件告警详解

    Kubernetes Event Exporter和Prometheus的K8s事件告警详解

    本文介绍了通过KubernetesEventExporter将Kubernetes事件转换为Prometheus指标,并结合Prometheus告警规则和Alertmanager进行告警通知的方案,该方案通过监听Kubernetes API、抓取指标、评估告警规则并发送通知,建立了高效可靠的事件驱动监控体系
    2026-02-02
  • Kubernetes 权限管理认证鉴权详解

    Kubernetes 权限管理认证鉴权详解

    这篇文章主要为大家介绍了Kubernetes 权限管理认证鉴权详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Kubernetes应用配置管理创建使用详解

    Kubernetes应用配置管理创建使用详解

    这篇文章主要为大家介绍了Kubernetes应用配置管理创建使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • k8s编排之DaemonSet知识点详解

    k8s编排之DaemonSet知识点详解

    这篇文章主要为大家介绍了k8s编排之DaemonSet知识点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • kubernetes部署dashboard及应用小结

    kubernetes部署dashboard及应用小结

    Dashboard 是基于网页的 Kubernetes 用户界面,可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用,这篇文章主要介绍了kubernetes部署dashboard,需要的朋友可以参考下
    2024-06-06
  • k8s中topologyKey的作用及说明

    k8s中topologyKey的作用及说明

    topologyKey定义拓扑域,用于Pod亲和/反亲和性规则,调度器根据其分组节点,当前配置仅强制节点标签匹配,未限制副本数量,建议补充podAntiAffinity实现隔离
    2025-08-08
  • Kubernetes之Pod的调度实现方式

    Kubernetes之Pod的调度实现方式

    Kubernetes通过定向调度(NodeName/NodeSelector)、亲和性调度(NodeAffinity/PodAffinity/PodAntiAffinity)及污点容忍(Taints/Toleration)实现Pod节点控制,分别用于强制指定节点、优化部署位置和灵活管理节点准入,满足不同场景下的调度需求
    2025-09-09
  • K8S Operator部署及自定义详解

    K8S Operator部署及自定义详解

    这篇文章主要为大家介绍了K8S Operator部署及自定义详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Rainbond网络治理插件ServiceMesh官方文档说明

    Rainbond网络治理插件ServiceMesh官方文档说明

    这篇文章主要为大家介绍了Rainbond网络治理插件ServiceMesh官方文档说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 云原生技术kubernetes调度单位pod的使用详解

    云原生技术kubernetes调度单位pod的使用详解

    这篇文章主要介绍了云原生技术kubernetes调度单位pod的使用详解,帮助大家更好的理解和学习使用K8S,感兴趣的朋友可以了解下
    2021-03-03

最新评论