kubernetes资源使用glusterfs卷进行数据持久化
1、GlusterFS部署
安装GlusterFS集群的主要目的是为k8s集群提供分布式持久化存储。
GlusterFS部署使用2台服务器,服务名称与IP如下:
1 	db-storagea  	10.1.70.29
2 	db-storageb 	10.1.70.30
Ubuntu系统服务安装及启动
apt-get install  glusterfs-server
systemctl start   glusterd
systemctl enable   glusterd
systemctl status  glusterd
集群认证
服务器10.1.70.29
gluster peer probe 10.1.70.30
查看集群集群状态
服务器10.1.70.29
命令:gluster peer status
反馈:Number of Peers: 1
服务器10.1.70.30
命令:gluster peer status
反馈:Number of Peers: 1
分别在服务器10.1.70.29,10.1.70.30创建目录
mkdir -p /data/gluster  /data/portal-files  /data/portal-private  /data/portal-config
创建gluster卷并启动卷
创建名称为 : mamm-volume 路径为 :/data/gluster
gluster volume create mamm-volume repl 2  10.1.70.29:/data/gluster 10.1.70.30:/data/gluster
启动mamm-volume卷
gluster volume start mamm-volume
gluster volume create portal-files repl 2  10.1.70.29:/data/portal-files 10.1.70.30:/data/portal-files force 
gluster volume start portal-files
gluster volume create portal-private repl 2  10.1.70.29:/data/portal-private 10.1.70.30:/data/portal-private force
gluster volume start portal-private
gluster volume create portal-config repl 2  10.1.70.29:/data/portal-config 10.1.70.30:/data/portal-config force
gluster volume start portal-config
查看卷空间
命令: gluster volume info
Gluster 测试 找台服务器测试
客户端安装  glusterfs-client
mkdir /opt/clusterfstest
挂载
mount -t glusterfs 10.1.70.29:/mamm-volume  /opt/clusterfstest
2、Kubernetes使用glusterfs持久化
先决条件
- 设置 GlusterFS 服务器集群
 - 创建 GlusterFS 卷
 
创建 endpoints
apiVersion: v1
kind: Endpoints
metadata:
  name: glusterfs-cluster
subsets:
- addresses:
  - ip: 10.1.70.29
  ports:
  - port: 24007
- addresses:
  - ip: 10.1.70.30
  ports:
  - port: 24007
该subsets字段应填充 GlusterFS 集群中节点的地址。可以在字段中提供任何有效值(从 1 到 65535)端口。
kubectl get endpoints
还需要为这些端点创建一个服务,以便它们能够持久存在
apiVersion: v1
kind: Service
metadata:
  name: glusterfs-cluster
spec:
  ports:
  - port: 20447
3、使用控制器进行挂载
    volumeMounts:
    - mountPath: "/var/www/html/web/sites/default/files"
      name: portal-files
    - mountPath: "/var/www/html/private"
      name: portal-private
    - mountPath: "/var/www/html/config"
      name: portal-config
  volumes:
  - name: portal-files
    glusterfs:
      endpoints: glusterfs-cluster
      path: portal-files
      readOnly: false
  - name: portal-private
    glusterfs:
      endpoints: glusterfs-cluster
      path: portal-private
      readOnly: false
  - name: portal-config
    glusterfs:
      endpoints: glusterfs-cluster
      path: portal-config
      readOnly: false
4、在pod内测试
在pod内相关目录创建文件,然后在gluster服务器卷目录查看该文件是否存在
kubernetes资源使用glusterfs卷进行数据持久化的更多相关文章
- 从0到1使用Kubernetes系列(六):数据持久化实战
		
本文是从 0 到 1 使用 Kubernetes 系列第六篇,上一篇<从 0 到 1 使用 Kubernetes 系列(五):Kubernetes Scheduling>介绍了 Kuber ...
 - Kubernetes使用GlusterFS实现数据持久化
		
k8s中部署有状态应用等需要持久化数据的应用,必不可少得用存储,k8s支持很多中存储方案,我司目前使用的存储有glusterfs(分为容器化和裸机方式).nfs供应用选用,本次就简单实战下gluste ...
 - kubernetes的应用数据持久化
		
1.无状态应用与有状态应用 应用的有状态和无状态是根据应用是否有持久化保存数据的需求而言的,即持久化保存数据的应用为有状态的应用,反之则为无状态的应用.常见的系统往往是有状态的应用,比如对于微博和微信 ...
 - $《第一行代码:Android》读书笔记——第6章 数据持久化
		
主要讲述了Android数据持久化的三种方式:文件存储.SharedPreference存储.SQLite数据库存储. (一)文件存储 其实Android中文件存储方式和Java的文件操作类似,就是用 ...
 - 附009.Kubernetes永久存储之GlusterFS独立部署
		
一 前期准备 1.1 基础知识 Heketi提供了一个RESTful管理界面,可以用来管理GlusterFS卷的生命周期.Heketi会动态在集群内选择bricks构建所需的volumes,从而确保数 ...
 - 附010.Kubernetes永久存储之GlusterFS超融合部署
		
一 前期准备 1.1 基础知识 在Kubernetes中,使用GlusterFS文件系统,操作步骤通常是: 创建brick-->创建volume-->创建PV-->创建PVC--&g ...
 - kubernetes存储之GlusterFS
		
目录 1.glusterfs概述 1.1.glusterfs简介 1.2.glusterfs特点 1.3.glusterfs卷的模式 2.heketi概述 3.部署heketi+glusterfs 3 ...
 - Kubernetes资源与对象简述
		
资料 k8s基本对象概念 背景 资源和对象 Kubernetes 中的所有内容都被抽象为"资源",如 Pod.Service.Node 等都是资源."对象" ...
 - iOS数据持久化-OC
		
沙盒详解 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文 ...
 
随机推荐
- rust 实战 - 实现一个线程工作池 ThreadPool
			
如何实现一个线程池 线程池:一种线程使用模式.线程过多会带来调度开销,进而影响缓存局部性和整体性能.而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务.这避免了在处理短时间任务时创建与销毁线 ...
 - llinux_2
			
1.显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 [root@lhq ~]#ls /etc/ | grep "^[^[:alpha:]][[:alp ...
 - Solution -「国家集训队」「洛谷 P2839」Middle
			
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),\(q\) 组询问,给定 \(a<b<c<d\),求 \(l\le[a,b] ...
 - CentOS8安装启用telnet服务
			
CentOS8默认只安装telnet的客户端,其服务端telnet-server由于安全原因由用户自主选择安装.下面为实践安装启动telnet-server,注意其与vsftp服务安装的异同. 1.查 ...
 - keepalived健康检查及双主MySQL健康检查脚本
			
一.http检查 HTTP_GET:工作在第5层,向指定的URL执行http请求,将得到的结果用md5加密并与指定的md5值比较看是否匹配,不匹配则从服务器池中移除:此外还可以指定http返回码来判断 ...
 - java运行原理、静态代理和动态代理区分
			
1.java的编译和运行原理: ■ 编译:将源文件 .java 文件,通过编译器(javac 命令) 编译成 字节码文件 .class 文件. ■ 运行,通过类加载器(以二进制流形式)把字节码加载进J ...
 - ensp上防火墙的实现
			
使用ensp模拟器中的防火墙(USG6000V)配置NAT(网页版)一.NAT介绍NAT(Network Address Translation,网络地址转换):简单来说就是将内部私有地址转换成公网地 ...
 - k8s初面考点ReplicaSet副本集极限9连击你懂了吗?
			
k8s初面考点ReplicaSet副本集极限9连击你懂了吗? k8s考点灵魂拷问9连击 考点之简单描述一下k8s副本集ReplicaSet有什么作用? 考点之为什么ReplicaSet将取代Repli ...
 - 金融数据分析还能这样做?快试试这个BI工具小白也能学会!
			
说起银行.保险.股票投资等这些金融行业,大多数人都认为它们都是依靠数据驱动的企业,毕竟大数据的诞生本来就是为了金融信息流通而服务的,但是事实真的是这样吗? 事实并非如此,真正在金融行业做数据分析的人, ...
 - 什么是闭包?(python)
			
闭包,又称闭包函数或闭合函数,和嵌套函数类似.不同之处在于,闭包函数的外部函数返回的不是一个具体的值,而是一个函数.一般情况下,返回的函数会赋值给一个变量,便于反复调用. def outer(out) ...