对象存储服务作为云计算的一种存储服务方式,已经成为公有云平台的标配。

其中亚马逊AWS的S3对象存储,被很多公有云平台采用,使用非常广泛。

如果自己搭建Kubernetes集群,可以用MinIO来实现S3对象存储服务。

操作系统:Debian 12,Kubernetes 1.28.4

一、安装

MinIO有多种安装方式,可以安装到Linux、Windows、Docker和Kubernetes下面。

如果用它来做备份,那么最好还是安装到独立主机上面。安装到Docker比较方便。

1.安装Docker

找一台独立主机作为MinIO服务器,运行下列命令

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. 安装MinIO

运行下列命令

mkdir -p /home/minio/data
docker run \
   -dt \
   -p <minio-server-ip>:9000:9000 \
   -p <minio-server-ip>:9001:9001 \
   --name minio \
   -v /home/minio/data:/data \
   -e "MINIO_ROOT_USER=<username>" \
   -e "MINIO_ROOT_PASSWORD=<password>" \
   quay.io/minio/minio server /data --console-address ":9001"

其中<minio-server-ip>是MinIO服务器的IP地址,根据实际情况修改。<username>和<password>是MinIO的管理员账号和密码,可以自己设定。/home/minio/data是服务器上数据的存储目录,根据实际情况修改。

二、测试

1.设置

访问http://<minio-server-ip>:9001,输入MinIO的管理员账号和密码,登录进去。

点击Buckets->Create Backet+,Backet Name输入test,点击Create Backet,创建一个名为test的Backet。

点击 Access Keys->create access key+,把自动生成的Access Key和Secret Key 复制粘贴出来,Name输入test,点击Create,创建访问密钥。

2.使用POSTMAN进行测试

访问https://www.postman.com/downloads/,下载POSTMAN并安装。

打开POSTMAN,新建HTTP request,GET地址栏输入http://<minio-server-ip>:9000/test,Authentication选择AWS  Signature,输入上面生成的Access Key和Secret Key,Service Name输入S3,点击Send,返回如下输出

<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <Name>test</Name>
    <Prefix></Prefix>
    <Marker></Marker>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
</ListBucketResult>

在电脑上创建一个文件1.txt ,内容随便。

在Minio的管理界面,点击Bucket->test->右上角的Browse Bucket->Upload->Upload File,把1.txt上传到Bucket。

在POSTMAN的GET地址栏输入http://<minio-server-ip>:9000/test/1.txt,应该返回1.txt文件里面的内容。

现在MinIO已经安装测试完成了。

参考:

https://medium.com/@martin.hodges/object-storage-in-your-kubernetes-cluster-using-minio-ad838decd9ce

https://min.io/docs/minio/container/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注