minio 域名配置问题

2023-05-20 00:40:59 +08:00
 dunhanson

安装的参考资料

charts/bitnami/minio at main · bitnami/charts · GitHub

1 、配置 1

可以正常通过域名访问,但是这种分享的链接是显示 localhost

helm install bitnami-minio \
--set auth.rootUser=minio \
--set auth.rootPassword=****** \
--set persistence.existingClaim=minio \
--set ingress.enabled=true \
--set ingress.hostname=minio.xxxxxx.com \
oci://registry-1.docker.io/bitnamicharts/minio

2 、配置 2

网上查找了要配置 server url ,这种方式登录会提示异常:S3 API Requests must be made to API port.

helm install bitnami-minio \
--set auth.rootUser=minio \
--set auth.rootPassword=****** \
--set persistence.existingClaim=minio \
--set ingress.enabled=true \
--set ingress.hostname=minio.biaoxunkuaiche.com \
--set extraEnvVars[0].name=MINIO_SERVER_URL \
--set extraEnvVars[0].value=http://minio.xxxxxx.com \
--set extraEnvVars[1].name=MINIO_BROWSER_REDIRECT_URL \
--set extraEnvVars[1].value=http://minio.xxxxxx.com \
oci://registry-1.docker.io/bitnamicharts/minio

3591 次点击
所在节点    程序员
25 条回复
OutOfMemoryError
2023-05-20 01:10:31 +08:00
前两天正好部署了 去拉了下配置给你
services:
minio:
image: minio/minio:RELEASE.2023-05-04T21-44-30Z.fips
ports:
- "9000:9000"
- "9090:9090"
volumes:
- "./data:/data"
environment:
MINIO_ROOT_USER: "root"
MINIO_ROOT_PASSWORD: "xxxxxxxxxxxxxxxxxx"
MINIO_SERVER_URL: "https://minio.xxxxx.com"
MINIO_DOMAIN: "minio.xxxxx.com"
command: server /data --console-address ":9090"
OutOfMemoryError
2023-05-20 01:12:35 +08:00
api endpoint 用 9000 的端口,9090 是管理端,我们用 nginx 做 proxy 的

兼容 S3 API 的 minio 的 nginx 反代配置.conf ↓
https://gist.github.com/Zerek-Cheng/8a2f8b0795ea8b19738adf6d36f61134
Daath
2023-05-20 03:19:18 +08:00
大概看了一下 bitnami/minio 的 helm ,应该设置一下如下配置
* 假设你想暴露的域名访问是: https://minio.xxx.com
* API: https://minio.xxx.com/
* console: https://minio.xxx.com/webui/

```yaml
# values

extraEnvVars:
- MINIO_BROWSER_REDIRECT_URL: "https://minio.xxx.com/webui/"


ingress:
enabled: true
...
path: /webui(/|$)(.*)

annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2

hostname: minio.xxx.com

```

然后 helm upgrade 一下应该可以了
dunhanson
2023-05-20 11:38:16 +08:00
OutOfMemoryError
2023-05-20 13:31:01 +08:00
@Daath 话说为啥 bitnami 那么多镜像,是修改版的吗
dunhanson
2023-05-20 14:04:46 +08:00
@Daath 不行,问题更多了,页面都打不开了
Daath
2023-05-20 14:17:22 +08:00
@OutOfMemoryError #5 个人觉得是他们的 bitnami 根据自己的命名规则这样类似重新设置配置项,方便统一对各种应用服务配置,模板等方面的管理
Daath
2023-05-20 14:23:25 +08:00
@dunhanson #6 我自己是用官方的 minio/minio ,大概也是类似这么配置就可以了,我用的 minio 版本是 2023-02-10 这样的版本,你可以尝试看下 github 上 minio 的 minio 和 console 项目的 issue ,我遇到类似问题找的关键词应该是 subpath
Daath
2023-05-20 14:25:49 +08:00
@dunhanson #6 api 的 path 我设置是"/",我只针对 console 的页面做了修改相应的 path 修改成类似"/webui(/|$)(.*)"
Daath
2023-05-20 14:28:19 +08:00
@dunhanson #6 还有上述的 yaml 配置内容,是有缩进显示问题
dunhanson
2023-05-20 15:55:23 +08:00
@Daath 我再看看
dunhanson
2023-05-20 16:14:30 +08:00
@Daath 我大概明白了是因为访问 API 接口但是用了 UI 界面的端口的问题,我现在更新 ingress ,最上面有贴出来,现在提示 403 了
Daath
2023-05-20 16:30:53 +08:00
@dunhanson #12 ingress 你最好改成这样子,因为 minio client 的 alias 配置的 url 也只允许写域名:端口,不支持带 path 形式的
```yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio
spec:
rules:
- host: minio.biaoxunkuaiche.com
http:
paths:
# 这个就是 minio api 的入口
- path: /
pathType: Prefix
backend:
service:
name: minio
port:
number: 9000
# 这里就直接设置成 console 的入口,换成别的名字 /api --> /webui, 或者其他
- path: /webui
pathType: Prefix
backend:
service:
name: minio
port:
number: 9090

```
Daath
2023-05-20 16:35:39 +08:00
@dunhanson #12 然后 deployment 里面,少了环境变量下面这个 MINIO_BROWSER_REDIRECT_URL 参数,需要设置你 console 的外部访问地址
Daath
2023-05-20 16:37:56 +08:00
@dunhanson 不过你都是用 helm 来部署了,所以你得把这些修改换到 values 的相应配置里面。
dunhanson
2023-05-20 16:38:20 +08:00
@Daath 这种配置方式 web 页面打不开
dunhanson
2023-05-20 16:39:07 +08:00
@Daath 我已经改成自己手写 yml 文件部署了
Daath
2023-05-20 16:43:16 +08:00
@dunhanson #17 阿这,ingress 里面其实还有一个问题,可能需要在 ingress 的 annotations 加入这个注释 nginx.ingress.kubernetes.io/rewrite-target 来重写访问到内部 svc 的 url ,就是页面-->svc ,https://minio.xxx.com/webui/xxx --> http://minio:9090/xxx
Daath
2023-05-20 16:44:06 +08:00
@dunhanson #17 因为我是 helm 部署的,我是有两个 ingress 文件,一个是给 api 用的,一个是给 console 用的。
dunhanson
2023-05-20 16:48:33 +08:00
@Daath 解决了,我也添加了两个 ingress ,我用了两个域名就可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/941431

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX