k8s部署minio对象存储

需求:项目需要一个临时的对象存储,每个租户下的应用共用一个minio,删除租户时自动删除minio;需要持久存储,挂载目录为/data,有点乱,当笔记看.....

chat目录结构:
.
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── NOTES.txt
│   ├── pvc.yaml
│   └── service.yaml
└── values.yaml

Chart.yaml

apiVersion: v1
appVersion: 1.16.0
description: A Helm chart 
name: minio
type: application
version: 0.1.0 

values.yaml

replicas: 1

imageRegistry: "hub.newbee.local:8082" #指定自定义仓库

image:
  name: minio #镜像名称
  tag: "v1" #版本

pull_policy: "Always"
labels:
  app: minio
  environment: production  
containerPorts:
  - name: http
    containerPort: 9000

storageClassName: nfs-client #指定pv的存储类

 

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-deployment
  labels:
    app: {{ .Release.Name }}
spec:
  replicas: {{ .Values.replicas }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app: {{ .Release.Name }}
    spec:
      containers:
      - image: {{ .Values.imageRegistry }}/justep/{{ .Values.image.name }}:{{ .Values.image.tag }} 
        name: {{ .Release.Name }}
        imagePullPolicy: {{ .Values.pull_policy }}
        args:
          - server
          - /data #指定minio运行时存储的目录
        ports:
          - containerPort: 9000
            name: minio
          - containerPort: 9001 #这个配置没有生效
            name: console
        env:
        - name: MINIO_ROOT_USER
          value: minioadmin
        - name: MINIO_ROOT_PASSWORD
          value: minioadmin      
        volumeMounts:
        - name: {{ .Release.Name }}-volume
          mountPath: /data
      volumes:
      - name: {{ .Release.Name }}-volume
        persistentVolumeClaim:
          claimName: {{ .Release.Name }}-pvc 

 service.yaml

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}-service
  namespace: {{ .Release.Namespace }}
  labels:
    newdao.serviceType: {{ .Release.Name }}
    heritage: helm
spec:
  selector:
    app: {{ .Release.Name }}
  ports:
    - name: minio
      port: 9000
      targetPort: 9000
    - name: console
      port: 9001
      targetPort: 9001

pvc.yaml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: {{ .Release.Name }}-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: {{ .Values.storageClassName }}
  resources:
    requests:
      storage: 50Gi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值