GlusterFS部署
準備
1. 目標
安裝GlusterFS集群的主要目的是為k8s集群提供分布式持久化存儲。
GlusterFS部署使用3臺服務器,服務名稱與IP如下
/application/ 為單獨的分區(qū)
/dev/mapper/centos-application 560G 1.3G 558G 1% /application
| name | ip | |
|---|---|---|
| 1 | k8s-server-1 | 192.168.0.162 |
| 2 | k8s-server-2 | 192.168.0.165 |
| 3 | k8s-server-3 | 192.168.0.166 |
2. 環(huán)境準備
關閉防火墻
關閉seliux
集群安裝
1. 準備repo源
在所有服務器上執(zhí)行
# cat >/etc/yum.repos.d/gluster-epel.repo << EOF
[gluster]
name=gluster
baseurl=https://buildlogs.centos.org/centos/7/storage/x86_64/gluster-3.8/
gpgcheck=0
enabled=1
EOF
2. 準備數(shù)據(jù)目錄
在所有服務器上執(zhí)行
mkdir -p /application/data/brick1
ln -s /application/data/ /data
3. 服務安裝與啟動
yum install glusterfs-server
systemctl start glusterd
systemctl enable glusterd
systemctl status glusterd
4. 集群認證
在k8s-server-1上執(zhí)行
gluster peer probe k8s-server-2
gluster peer probe k8s-server-3
5. 查看集群集群狀態(tài)
### 服務器k8s-server-1
# gluster peer status
Number of Peers: 2
Hostname: k8s-server-2
Uuid: 7df14213-28e2-4764-a709-51700b8846ba
State: Peer in Cluster (Connected)
Hostname: k8s-server-3
Uuid: 001879a8-9528-4baa-99cc-50e83d562327
State: Peer in Cluster (Connected)
### 服務器k8s-server-2
# gluster peer status
Number of Peers: 2
Hostname: k8s-server-1
Uuid: bee8fb5e-1297-434f-a0ed-42f9c9e673c7
State: Peer in Cluster (Connected)
Hostname: k8s-server-3
Uuid: 001879a8-9528-4baa-99cc-50e83d562327
State: Peer in Cluster (Connected)
### 服務器k8s-server-3
# gluster peer status
Number of Peers: 2
Hostname: k8s-server-1
Uuid: bee8fb5e-1297-434f-a0ed-42f9c9e673c7
State: Peer in Cluster (Connected)
Hostname: k8s-server-2
Uuid: 7df14213-28e2-4764-a709-51700b8846ba
State: Peer in Cluster (Connected)
6. 創(chuàng)建GlusterFS volume
在所有服務器上執(zhí)行
mkdir -p /data/brick1/gv0
在k8s-server-1上執(zhí)行
gluster volume create gv0 replica 3 k8s-server-1:/data/brick1/gv0 k8s-server-2:/data/brick1/gv0 k8s-server-3:/data/brick1/gv0
gluster volume start gv0
查看卷空間
# gluster volume info
Volume Name: gv0
Type: Replicate
Volume ID: e64334b8-61aa-49e9-b310-351bcaf58412
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: k8s-server-1:/data/brick1/gv0
Brick2: k8s-server-2:/data/brick1/gv0
Brick3: k8s-server-3:/data/brick1/gv0
Options Reconfigured:
transport.address-family: inet
performance.readdir-ahead: on
nfs.disable: on
Gluster 測試
mount -t glusterfs k8s-server-1:/gv0 /mnt
# 在/mnt下創(chuàng)建100個文件
for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
到/data/brick1/gv0 下查看,可以看到文件