当前位置:网站首页>多个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集群造成影响。“多中心共享存储”由此诞生了。
边栏推荐
- Tkinter window selects PCD file and displays point cloud (open3d)
- Several key steps of software testing, you need to know
- 港科大&MSRA新研究:关于图像到图像转换,Fine-tuning is all you need
- UIC (configuration UI Engineering) public file library adds 7 industry materials
- unity3d学习笔记
- 博士申请 | 上海交通大学自然科学研究院洪亮教授招收深度学习方向博士生
- 企业如何进行数据治理?分享数据治理4个方面的经验总结
- 【解决】Final app status- UNDEFINED, exitCode- 16
- [shell] summary of common shell commands and test judgment statements
- ICML 2022 | 探索语言模型的最佳架构和训练方法
猜你喜欢

一段程序让你明白什么静态内部类,局部内部类,匿名内部类

Abnova 免疫组化服务解决方案

品牌电商如何逆势增长?在这里预见未来!

Installing redis and windows extension method under win system

POI导出Excel:设置字体、颜色、行高自适应、列宽自适应、锁住单元格、合并单元格...

How to install swoole under window

Overview of FlexRay communication protocol

Matlab / envi principal component analysis implementation and result analysis

字符串常量与字符串对象分配内存时的区别
![[start from scratch] detailed process of deploying yolov5 in win10 system (CPU, no GPU)](/img/77/bd80ed602208be6a9ef8be60c6ad06.png)
[start from scratch] detailed process of deploying yolov5 in win10 system (CPU, no GPU)
随机推荐
UIC(组态UI工程)公版文件库新增7款行业素材
Redis (II) - redis General Command
How to solve sqlstate[hy000]: General error: 1364 field 'xxxxx' doesn't have a default value error
线性代数(一)
MySQL的安装
一条慢SQL拖死整个系统
Ha Qu projection dark horse posture, only half a year to break through the 1000 yuan projector market!
大促过后,销量与流量兼具,是否真的高枕无忧?
[shell] summary of common shell commands and test judgment statements
Networkx绘图和常用库函数坐标绘图
Stack and queue-p79-10 [2014 unified examination real question]
dolphinscheduler3. X local startup
毕业设计游戏商城
场馆怎么做体育培训?
Abnova 膜蛋白脂蛋白体技术及类别展示
博士申请 | 上海交通大学自然科学研究院洪亮教授招收深度学习方向博士生
UIC (configuration UI Engineering) public file library adds 7 industry materials
企业如何进行数据治理?分享数据治理4个方面的经验总结
Overview of FlexRay communication protocol
RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`问题解决