安装的参考资料
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
ingress配置
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio
spec:
rules:
- host: minio.biaoxunkuaiche.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minio
port:
number: 9090
- path: /api
pathType: Prefix
backend:
service:
name: minio
port:
number: 9000
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: default
spec:
type: NodePort
selector:
app: minio
ports:
- name: minio-api
protocol: TCP
port: 9000
targetPort: 9000
- name: minio-console
protocol: TCP
port: 9090
targetPort: 9090
Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- image: quay.io/minio/minio:RELEASE.2023-05-18T00-05-36Z
name: minio
securityContext:
privileged: true
env:
- name: TZ
value: Asia/Shanghai
- name: MINIO_ROOT_USER
value: minio
- name: MINIO_ROOT_PASSWORD
value: ******
- name: MINIO_SERVER_URL
value: http://minio.******.com
ports:
- containerPort: 9000
protocol: TCP
- containerPort: 9090
protocol: TCP
volumeMounts:
- mountPath: /data
name: minio
command:
- /bin/bash
- -c
args:
- minio server /data --console-address :9090
volumes:
- name: minio
persistentVolumeClaim:
claimName: minio
1
OutOfMemoryError 350 天前
前两天正好部署了 去拉了下配置给你
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" |
2
OutOfMemoryError 350 天前
api endpoint 用 9000 的端口,9090 是管理端,我们用 nginx 做 proxy 的
兼容 S3 API 的 minio 的 nginx 反代配置.conf ↓ https://gist.github.com/Zerek-Cheng/8a2f8b0795ea8b19738adf6d36f61134 |
3
Daath 350 天前
大概看了一下 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 一下应该可以了 |
4
dunhanson OP @Daath @OutOfMemoryError 我试下
|
5
OutOfMemoryError 350 天前
@Daath 话说为啥 bitnami 那么多镜像,是修改版的吗
|
7
Daath 350 天前
@OutOfMemoryError #5 个人觉得是他们的 bitnami 根据自己的命名规则这样类似重新设置配置项,方便统一对各种应用服务配置,模板等方面的管理
|
8
Daath 350 天前
@dunhanson #6 我自己是用官方的 minio/minio ,大概也是类似这么配置就可以了,我用的 minio 版本是 2023-02-10 这样的版本,你可以尝试看下 github 上 minio 的 minio 和 console 项目的 issue ,我遇到类似问题找的关键词应该是 subpath
|
13
Daath 349 天前
@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 ``` |
14
Daath 349 天前
@dunhanson #12 然后 deployment 里面,少了环境变量下面这个 MINIO_BROWSER_REDIRECT_URL 参数,需要设置你 console 的外部访问地址
|
18
Daath 349 天前
@dunhanson #17 阿这,ingress 里面其实还有一个问题,可能需要在 ingress 的 annotations 加入这个注释 nginx.ingress.kubernetes.io/rewrite-target 来重写访问到内部 svc 的 url ,就是页面-->svc ,https://minio.xxx.com/webui/xxx --> http://minio:9090/xxx
|
23
ysicing 349 天前
这是我的 minio 部署的😂, 其实控制台域名可以不要的 helm upgrade -i minio bitnami/minio -f ./minio.yaml
```yaml global: storageClass: tkecfs auth: rootUser:<uuuu> rootPassword: <pppp> defaultBuckets: "cloud" ingress: enabled: true ingressClassName: "nginx" hostname: minio 控制台域名 apiIngress: enabled: true ingressClassName: "nginx" hostname: cos 存储域名 metrics: serviceMonitor: enabled: true ``` |