Helm部署MinIO集群

添加helm仓库
[root@node1 ~][root@node1 ~][root@node1 minio]minio has been added to your repositories[root@node1 minio]  
搜索并下载minio chart
[root@node1 minio]name chart version app version description bitnami/minio 12.8.6 2023.9.16 minio(r) is an object storage server, compatibl...minio/minio 8.0.10 master high performance, kubernetes native object storagestable/minio 0.5.5 distributed object storage server built for clo...[root@node1 minio][root@node1 minio]minio-8.0.10.tgz[root@node1 minio][root@node1 minio]minio minio-8.0.10.tgz[root@node1 minio]  
查看目录结构
[root@node1 minio][root@node1 minio]chart.yaml ci readme.md templates values.yaml  
创建名称空间
后面将minio集群部署到该名称空间下
[root@node1 ~]namespace/minio created  
创建一个secret
[root@node1 cert]secret/tls-ssl-minio created[root@node1 cert]name type data agetls-ssl-minio opaque 2 10s  
修改value.yaml中的一些变量值
nameoverride: fullnameoverride: clusterdomain: cluster.localimage: repository: minio/minio tag: release.2021-02-14t04-01-33z pullpolicy: ifnotpresentmcimage: repository: minio/mc tag: release.2021-02-14t04-28-06z pullpolicy: ifnotpresenthelmkubectljqimage: repository: bskim45/helm-kubectl-jq tag: 3.1.0 pullpolicy: ifnotpresentmode: distributed additionallabels: []additionalannotations: []extraargs: []deploymentupdate: type: rollingupdate maxunavailable: 0 maxsurge: 100%statefulsetupdate: updatestrategy: rollingupdatepriorityclassname: accesskey: admin secretkey: minio123456 certspath: /etc/minio/certs/configpathmc: /etc/minio/mc/mountpath: /exportexistingsecret: bucketroot: drivespernode: 1replicas: 4zones: 1tls: enabled: false certsecret: publiccrt: public.crt privatekey: private.keytrustedcertssecret: persistence: enabled: true existingclaim: storageclass: rook-ceph-block volumename: accessmode: readwriteonce size: 10gi subpath: service: type: nodeport clusterip: ~ port: 9000 nodeport: 32100 externalips: [] annotations: {} imagepullsecrets: []ingress: enabled: false labels: {} annotations: {} path: / hosts: - chart-example.local tls: [] nodeselector: {}tolerations: []affinity: {}securitycontext: enabled: true runasuser: 1000 runasgroup: 1000 fsgroup: 1000podannotations: {}podlabels: {}resources: requests: memory: 4gidefaultbucket: enabled: false name: bucket policy: none purge: false buckets: [] makebucketjob: podannotations: annotations: securitycontext: enabled: false runasuser: 1000 runasgroup: 1000 fsgroup: 1000 resources: requests: memory: 128miupdateprometheusjob: podannotations: annotations: securitycontext: enabled: false runasuser: 1000 runasgroup: 1000 fsgroup: 1000s3gateway: enabled: false replicas: 4 serviceendpoint: accesskey: secretkey: azuregateway: enabled: false replicas: 4gcsgateway: enabled: false replicas: 4 gcskeyjson: projectid: nasgateway: enabled: false replicas: 4 pv: ~environment: {} networkpolicy: enabled: false allowexternal: truepoddisruptionbudget: enabled: false maxunavailable: 1serviceaccount: create: true name:metrics: servicemonitor: enabled: false additionallabels: {} relabelconfigs: {} etcd: endpoints: [] pathprefix: corednspathprefix: clientcert: clientcertkey:  
使用helm安装
[root@node1 minio][root@node1 minio]name: miniolast deployed: fri sep 22 13:03:56 2023namespace: miniostatus: deployedrevision: 1test suite: nonenotes:minio can be accessed via port 9000 on the following dns name from within your cluster:minio.minio.svc.cluster.localto access minio from localhost, run the below commands: 1. export pod_name=$(kubectl get pods --namespace minio -l release=minio -o jsonpath={.items[0].metadata.name}) 2. kubectl port-forward $pod_name 9000 --namespace minioread more about port forwarding here: http://kubernetes.io/docs/user-guide/kubectl/kubectl_port-forward/you can now access minio server on http://localhost:9000. follow the below steps to connect to minio server with mc client: 1. download the minio mc client - https://docs.minio.io/docs/minio-client-quickstart-guide 2. get the access_key=$(kubectl get secret minio -o jsonpath={.data.accesskey} | base64 --decode) and the secret_key=$(kubectl get secret minio -o jsonpath={.data.secretkey} | base64 --decode) 3. mc alias set minio-local http://localhost:9000 $access_key $secret_key --api s3v4 4. mc ls minio-localalternately, you can use your browser or the minio sdk to access the server - https://docs.minio.io/categories/17  
查看pod运行情况
[root@node1 ~]name ready status restarts ageminio-0 1/1 running 0 3m50sminio-1 1/1 running 0 3m50sminio-2 1/1 running 0 3m50sminio-3 1/1 running 0 3m49s[root@node1 minio]name status volume capacity access modes storageclass ageexport-minio-0 bound pvc-a70a5caa-2bad-40ab-bf19-dbbfccd3d151 10gi rwo rook-ceph-block 28sexport-minio-1 bound pvc-c3c1a8c5-d429-47e4-acf6-a57da3bacd5a 10gi rwo rook-ceph-block 28sexport-minio-2 bound pvc-15ed67b3-7ea0-4f06-ba46-93137480066c 10gi rwo rook-ceph-block 28sexport-minio-3 bound pvc-a58ceb7f-dac0-4ee7-9a34-473c8f336d28 10gi rwo rook-ceph-block 28s  
查看service地址
[root@node1 ~]name type cluster-ip external-ip port(s) ageminio nodeport 10.98.63.2 9000:32100/tcp 8m25sminio-svc clusterip none 9000/tcp 8m25s  
登陆网页端上传文件验证
命令行方式访问测试
curl https://dl.min.io/client/mc/release/linux-amd64/mc --create-dirs -o $home/minio-binaries/mcchmod +x $home/minio-binaries/mcexport path=$path:$home/minio-binaries/[root@node1 minio]name: mc - minio client for object storage and filesystems. usage: mc [flags] command [command flags | -h] [arguments...] commands: alias manage server credentials in configuration file ls list buckets and objects mb make a bucket rb remove a bucket cp copy objects mv move objects rm remove object(s) mirror synchronize object(s) to a remote site cat display object contents head display first 'n' lines of an object pipe stream stdin to an object find search for objects sql run sql queries on objects stat show object metadata tree list buckets and objects in a tree format du summarize disk usage recursively retention set retention for object(s) legalhold manage legal hold for object(s) support support related commands license license related commands share generate url for temporary access to an object version manage bucket versioning ilm manage bucket lifecycle quota manage bucket quota encrypt manage bucket encryption config event manage object notifications  
访问minio中存储的文件
[root@node1 minio][root@node1 minio]admin[root@node1 minio][root@node1 minio]minio123456[root@node1 minio]added `my-minio` successfully.[root@node1 minio][2023-09-22 1956 cst] 0b books/[root@node1 minio][2023-09-22 1919 cst] 5.7mib standard 植物 鲜花.jpg  
遇到的问题
问题一
[root@node1 minio]error: installation failed: create: failed to create: secret sh.helm.release.v1.minio.v1 is invalid: data: too long: must have at most 1048576 bytes由于我在minio chart的解压目录新创建了一个cert文件夹,并生成了一些证书文件,导致了该错误的产生  
解决办法:删除除了minio chart 包中以外的文件包括文件夹,重新执行安装。


5G工业网关助力搭建污水预处理智能化信息应用平台
安森美半导体将在2015 APEC展示下一代电源系统
恩智浦半导体公司宣布推出首个多设备车载无线充电解决方案
电梯前室 (合用前室) 和楼梯间的余压传感器的是怎么进行工作的
单片机教程十二:单片机逻辑与或异或指令详解
Helm部署MinIO集群
CES 2023 | 从科技趋势看存储新风向
2020年人气爆棚的十大真无线蓝牙耳机品牌终极盘点
国美U7怎么样 到底值不值得买
手机芯片发展对PCB技术升级的影响
新一代人工智能突破和应用,推动制造业发展步入新的阶段
2G/3G互操作的优化措施
还在开单人相声式发布会?你out啦!快上车,带你遨游XR虚拟拍摄之旅!
汇顶科技的耳机佩戴检测方法
Just Link
检测静电时的常见问题
红外接近开关电路图分解
探讨人工智能 12月20日灵云邀您相聚清华
连拓精密气密性检测仪检测户外运动音箱气密性操作步骤
扫地机器人产品层出不穷 懒人经济开始崛起