部署私有对象存储服务: Minio
Minio是一种高性能、兼容S3的对象存储.
简介
Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和数据损坏。即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。Minio还提供了高级数据保护功能,如版本控制、生命周期管理、加密和访问控制。
更多牛逼的地方就不简述了, 有兴趣的可以看看官方文档
部署服务端
支持多种安装方式. 这里我们以docker/k8s为例, 其实服务比较简单, 跑起来也比较简单.
在k8s部署
推荐使用helm方式部署
minio.yaml
global:
storageClass: tkecfs
auth:
rootUser: ysicing
rootPassword: Ohh5saquai9Lies9oocaneezoo1hooSh9Buf1piew4mu6Ki6Aru0aDoh5phashi8
defaultBuckets: "example"
ingress:
enabled: true
ingressClassName: "nginx"
# 控制台地址
hostname: s3c.gptops.cloud
apiIngress:
enabled: true
ingressClassName: "nginx"
# 对象存储地址,用于API使用
hostname: s3.gptops.cloud
metrics:
serviceMonitor:
# 如果已经部署prometheus可以开启
enabled: false
helm upgrade -i minio bitnami/minio -f ./minio.yaml
基于docker部署
docker-compose.yaml
version: '2'
services:
minio:
image: bitnami/minio
container_name: minio
restart: always
environment:
- MINIO_ROOT_USER=ysicing
- MINIO_ROOT_PASSWORD=Ohh5saquai9Lies9oocaneezoo1hooSh9Buf1piew4mu6Ki6Aru0aDoh5phashi8
- MINIO_DEFAULT_BUCKETS=oss
ports:
- '9000:9000'
- '9001:9001'
volumes:
- '/nas/minio:/data'
基于bitnami/minio, 可以自行修改配置
docker compose -f minio.yaml up -d
caddy配置
s3c.gptops.cloud {
reverse_proxy 127.0.0.1:9000
}