当前位置:   article > 正文

多个kubernetes集群如何实现共享同一个存储_kubernetes怎么做到多个pod操作同一个一个文件

kubernetes怎么做到多个pod操作同一个一个文件

引言

今天工作的时候想了一个问题:项目上使用的是双集群部署应用,但是使用的存储却只有一个,还起来一个怪有趣的名字,叫“多中心共享存储”。这样做的优点很明显,一个存储实现了多集群的数据共享,这个也很好理解,虽然是多个集群,但是应用却是相同的,数据理应可以共享。那么是如何做的呢?思考许久,想到了破解方法。

环境准备

  1. 服务器准备

准备了7台服务器,这些服务器在同一个网络之内,可以互相访问。6台服务器可以建两个kubernetes集群(一主两从),还有一台作为NFS文件系统的主节点。

  1. 资源分配
k8s集群1k8s集群2NFS
192.168.0.135192.168.0.163192.168.0.185
192.168.0.198192.168.0.247
192.168.0.12192.168.0.167

说明:NFS是网络文件系统,单独给一台服务器作为server,其他服务器都是client。

安装NFS

  1. 所有节点执行
yum install -y nfs-utils
  • 1
  1. nfs主节点(192.168.0.185)执行
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports  # 暴露了目录/nfs/data/,`*`表示所有节点都可以访问。
mkdir -p /nfs/data
systemctl enable rpcbind --now
systemctl enable nfs-server --now
# 配置生效
exportfs -r
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
# 检查验证
[root@k8s-master ~]# exportfs
/nfs/data     	<world>
[root@k8s-master ~]#
  • 1
  • 2
  • 3
  • 4
  1. nfs从节点执行
# 展示192.168.0.185有哪些目录可以挂载
showmount -e 192.168.0.185  # ip改成自己的主节点ip

mkdir -p /nfs/data
# 将本地目录和远程目录进行挂载
mount -t nfs 192.168.0.185:/nfs/data /nfs/data
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 验证
# 在任意节点写入一个测试文件
echo "hello nfs server" > /nfs/data/test.txt
  • 1
  • 2

通过在任意节点写入一个文件,在其他节点都可以看到文件内容。这样便实现了kubernetes多个集群的文件共享。将NFS主节点单独维护,不会对kubernetes集群造成影响。“多中心共享存储”由此诞生了。

本文由mdnice多平台发布

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/235247
推荐阅读
相关标签
  

闽ICP备14008679号