gofastdfs安装
项目地址:https://github.com/sjqzhang/go-fastdfs
wiki地址:https://github.com/sjqzhang/go-fastdfs/blob/master/README-en.md
下载go-fastfds
wget https://github.com/sjqzhang/go-fastdfs/releases/download/v1.4.1/fileserver
sudo mv fileserver /opt/godfs/fileserver
sudo chmod -R 777 /opt/godfs # 更改go-fastdfs文件夹权限
/opt/godfs/fileserver & # 运行go-fastdfs
⚠️:fileserver会在当前目录下生成配置文件,所以,启动前先进入fileserver根目录
校验是否启动成功,查看目录下是否生成对应文件或者查看服务监听端口是否已被占用。
/opt/godfs$ ls
conf data files fileserver log static
默认监听端口8080,可在配置文件里进行修改(8080已被其他服务占用,修改为8082)。
root@k8s-master:~# lsof -i:8082
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
fileserve 26535 root 13u IPv6 10781265 0t0 TCP *:tproxy (LISTEN)
修改配置(/opt/starpool-fastfds/conf/cfg.json)
"绑定端号": "端口",
"addr": ":8082",
"认证url": "当url不为空时生效,注意:普通上传中使用http参数 auth_token 作为认证参数, 在断点续传中通过HTTP头Upload-Metadata中的auth_token作为认证参数,认证流程参考认证架构图",
"auth_url":"http://10.8.0.16:36506/internal/v1/auth",#是否鉴权
"下载域名": "用于外网下载文件的域名,不包含http://",
"download_domain": "10.8.0.16:8082",
"本主机地址" : "本机http地址,默认自动生成(注意端口必须与addr中的端口一致),必段为内网,自动生成不为内网请自行修改,下同",
"host": "http://10.8.0.16:8082",
"集群": "集群列表,注意为了高可用,IP必须不能是同一个,同一不会自动备份,且不能为127.0.0.1,且必须为内网IP,默认自动生成",
"peers": ["http://10.8.0.16:8082"],
启动服务,cd回到文件目录执行
nohup ./fileserver >/dev/ null 2>&1 &
k8s启动相应的服务的yaml文件
apiVersion: v1
kind: Service
metadata:
name: starpool-fastdfs
spec:
ports:
- protocol: TCP
port: 8080
targetPort: 8080
---
apiVersion: v1
kind: Endpoints
metadata:
name: starpool-fastdfs
subsets:
- addresses:
- ip: 10.8.0.16
ports:
- port: 8082