当前位置:网站首页>多个kubernetes集群如何实现共享同一个存储
多个kubernetes集群如何实现共享同一个存储
2022-07-07 02:31:00 【江小南】
引言
今天工作的时候想了一个问题:项目上使用的是双集群部署应用,但是使用的存储却只有一个,还起来一个怪有趣的名字,叫“多中心共享存储”。这样做的优点很明显,一个存储实现了多集群的数据共享,这个也很好理解,虽然是多个集群,但是应用却是相同的,数据理应可以共享。那么是如何做的呢?思考许久,想到了破解方法。
环境准备
服务器准备
准备了7台服务器,这些服务器在同一个网络之内,可以互相访问。6台服务器可以建两个kubernetes集群(一主两从),还有一台作为NFS文件系统的主节点。

资源分配
k8s集群1 | k8s集群2 | NFS |
---|---|---|
192.168.0.135 | 192.168.0.163 | 192.168.0.185 |
192.168.0.198 | 192.168.0.247 | |
192.168.0.12 | 192.168.0.167 |
说明:NFS是网络文件系统,单独给一台服务器作为server,其他服务器都是client。
安装NFS
所有节点执行
yum install -y nfs-utils
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
# 检查验证
[[email protected] ~]# exportfs
/nfs/data <world>
[[email protected] ~]#
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
验证
# 在任意节点写入一个测试文件
echo "hello nfs server" > /nfs/data/test.txt

通过在任意节点写入一个文件,在其他节点都可以看到文件内容。这样便实现了kubernetes多个集群的文件共享。将NFS主节点单独维护,不会对kubernetes集群造成影响。“多中心共享存储”由此诞生了。
边栏推荐
- C language interview to write a function to find the first public string in two strings
- Several key steps of software testing, you need to know
- Leite smart home longhaiqi: from professional dimming to full house intelligence, 20 years of focus on professional achievements
- Stack and queue-p79-10 [2014 unified examination real question]
- 拼多多败诉:“砍价免费拿”侵犯知情权但不构成欺诈,被判赔400元
- What books can greatly improve programming ideas and abilities?
- 隐马尔科夫模型(HMM)学习笔记
- 多学科融合
- Linear algebra (1)
- C interview 24 (pointer) define a double array with 20 elements a
猜你喜欢
LM小型可编程控制器软件(基于CoDeSys)笔记二十三:伺服电机运行(步进电机)相对坐标转换为绝对坐标
Unable to debug screen program with serial port
dolphinscheduler3. X local startup
Prompt for channel security on the super-v / device defender side when installing vmmare
健身房如何提高竞争力?
【从零开始】win10系统部署Yolov5详细过程(CPU,无GPU)
How to use wechat cloud hosting or cloud functions for cloud development of unapp development applet
Redhat5 installing vmware tools under virtual machine
哈趣投影黑马之姿,仅用半年强势突围千元投影仪市场!
精准时空行程流调系统—基于UWB超高精度定位系统
随机推荐
JVM in-depth
一段程序让你明白什么静态内部类,局部内部类,匿名内部类
Shared memory for interprocess communication
MySQL (x)
Common problems of caching in high concurrency scenarios
肿瘤免疫治疗研究丨ProSci LAG3抗体解决方案
哈趣投影黑马之姿,仅用半年强势突围千元投影仪市场!
Redis (I) -- getting to know redis for the first time
string(讲解)
ViewModelProvider.of 过时方法解决
使用net core优势/为什么使用
MySQL卸载文档-Windows版
剑指offer-高质量的代码
二十岁的我4面拿到字节跳动offer,至今不敢相信
怎样查找某个外文期刊的文献?
哈趣投影黑馬之姿,僅用半年强勢突圍千元投影儀市場!
impdp的transform参数的测试
C language interview to write a function to find the first public string in two strings
MySQL installation
【OpenCV】形态学滤波(2):开运算、形态学梯度、顶帽、黑帽