K3s 集群 helm 化改造之單例 minio

背景概況

MinIO 是全球領(lǐng)先的對象存儲(chǔ)先鋒漱病,以 Apache License v2.0 發(fā)布的對象存儲(chǔ)服務(wù)器,是為云應(yīng)用和虛擬機(jī)而設(shè)計(jì)的分布式對象存儲(chǔ)服務(wù)器。在標(biāo)準(zhǔn)硬件上,讀/寫速度上高達(dá)183GB/s和171GB/s排宰。它與 Amazon S3 云存儲(chǔ)服務(wù)兼容。 它最適用于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)那婉,如照片板甘、視頻、日志文件详炬、備份和容器/虛擬機(jī)映像盐类。 對象的大小可以從幾KB 到最大5TB。

  • 對象存儲(chǔ),兼容Amazon S3協(xié)議
  • 安裝運(yùn)維相對簡單在跳,開箱即用
  • 后端除了本地文件系統(tǒng)枪萄,還支持多種存儲(chǔ)系統(tǒng),目前已經(jīng)包括 OSS
  • 原生支持bucket事件通知機(jī)制
  • 可通過多節(jié)點(diǎn)集群方式猫妙,支持一定的高可用和數(shù)據(jù)容災(zāi)
  • 有WEB管理界面和CLI瓷翻,可以用于測試或者管理
  • 公開bucket中的數(shù)據(jù)可以直接通過HTTP獲取
image

Minio 資源

# 項(xiàng)目工作展示目錄
cd /home/work/minio-demo/
  • minio-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  # This name uniquely identifies the Deployment
  name: minio-deployment
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: minio
  template:
    metadata:
      labels:
        # Label is used as selector in the service.
        app: minio
    spec:
      # Refer to the PVC created earlier
      volumes:
      - name: storage
        persistentVolumeClaim:
          # Name of the PVC created earlier
          claimName: minio-pv-claim
      containers:
      - name: minio
        # Pulls the default MinIO image from Docker Hub
        image: minio/minio
        args:
        - server
        - /storage
        env:
        # MinIO access key and secret key
        - name: MINIO_ACCESS_KEY
          value: "admin123"
        - name: MINIO_SECRET_KEY
          value: "admin123"
        ports:
        - containerPort: 9000
        # Mount the volume into the pod
        volumeMounts:
        - name: storage # must match the volume name, above
          mountPath: "/storage"

  • minio-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  labels:
    app: minio
    release: minio
  name: minio
  namespace: default
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 20Gi
  volumeMode: Filesystem
  hostPath:
    path: /mnt/minio
  • minio-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  # This name uniquely identifies the PVC. Will be used in deployment below.
  name: minio-pv-claim
  labels:
    app: minio-storage-claim
spec:
  # Read more about access modes here: https://kubernetes.io/docs/user-guide/persistent-volumes/#access-modes
  accessModes:
    - ReadWriteOnce
  resources:
    # This is the request for storage. Should be available in the cluster.
    requests:
      storage: 20Gi
  # Uncomment and add storageClass specific to your requirements below. Read more https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1
  # storageClassName: minio
  • minio-svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: minio-service
spec:
  type: NodePort
  ports:
    - port: 9000
      targetPort: 9000
      protocol: TCP
  selector:
    app: minio
  • minio-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-minio
  namespace: default
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - host: traefik.minio-minio-standalone.io
    http:
      paths:
      - backend:
          serviceName: minio-service
          servicePort: 9000

資源創(chuàng)建過程:

# 創(chuàng)建pv
kubectl apply -f minio-pv.yaml

# 創(chuàng)建pvc
kubectl apply -f minio-pv.yaml

# 創(chuàng)建deployment
kubectl apply -f  minio-deployment.yaml

# 創(chuàng)建service
kubectl apply -f minio-svc.yaml

# 創(chuàng)建ingress
kubectl apply -f minio-ingress.yaml

Helm 改造

資源改造目錄如下:

[root@vm3290 helm]# tree minio-standalone/
minio-standalone/
├── Chart.yaml
├── README.md
├── templates
│   ├── minio-deployment.yaml
│   ├── minio-ingress.yaml
│   ├── minio-pvc.yaml
│   ├── minio-pv.yaml
│   └── minio-svc.yaml
└── values.yaml

1 directory, 8 files

定義 values.yaml 內(nèi)容如下:

replicas: 1
strategy: Recreate
resources:
  limits:
    cpu: "1"
    memory: 1Gi
  requests:
    cpu: 200m
    memory: 200Mi

pv:
  name: minio
  accessModes: ReadWriteOnce
  storage: 20Gi

pvc:
  name: minio-pv-claim

service:
  name: minio-service

ingress:
  name: minio-ingress
  host: traefik.minio-minio-standalone.io

# 請不要輕易修改此配置
global:
  namespace: minio-ns
  minio:
    name: minio-ds
    image: minio/minio
    tag: latest
    port: 9000

項(xiàng)目部署

1. 安裝
helm install  -n <YOUR-NAMESPACE> standalone standalone 

2. 更新
helm upgrade  -n <YOUR-NAMESPACE> standalone standalone

3. 卸載
helm delete -n <YOUR-NAMESPACE> standalone

minio 部署資源查看


image

配置 hosts 文件:


image

瀏覽器打開訪問:


image

拓展閱讀

本次改造的 minio 是單實(shí)例節(jié)點(diǎn)副本的 helm 化改造,主要用于機(jī)器資源不足割坠,沒有進(jìn)行全盤虛擬化的場景下的資源調(diào)度管理上的應(yīng)用部署齐帚,針對應(yīng)用的場景不同,所以需要結(jié)合不同的項(xiàng)目需求進(jìn)行設(shè)計(jì)彼哼。minio 可以支持單實(shí)例副本对妄,同時(shí)也支持最小的四節(jié)點(diǎn)集群模式(所以在資源較少時(shí)建議采用單副本的minio,在集群中可以調(diào)度的機(jī)器節(jié)點(diǎn)資源大于等于4時(shí),minio的集群模式才可以正常使用沪羔,后續(xù)將會(huì)開展集群模式的改造部署)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饥伊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蔫饰,更是在濱河造成了極大的恐慌,老刑警劉巖愉豺,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篓吁,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚪拦,警方通過查閱死者的電腦和手機(jī)杖剪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驰贷,“玉大人盛嘿,你說我怎么就攤上這事±ㄌ唬” “怎么了次兆?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锹锰。 經(jīng)常有香客問我芥炭,道長,這世上最難降的妖魔是什么恃慧? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任园蝠,我火速辦了婚禮,結(jié)果婚禮上痢士,老公的妹妹穿的比我還像新娘彪薛。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布善延。 她就那樣靜靜地躺著训唱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挚冤。 梳的紋絲不亂的頭發(fā)上况增,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機(jī)與錄音训挡,去河邊找鬼澳骤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛澜薄,可吹牛的內(nèi)容都是我干的为肮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼肤京,長吁一口氣:“原來是場噩夢啊……” “哼颊艳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忘分,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤棋枕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后妒峦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體重斑,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年肯骇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窥浪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笛丙,死狀恐怖漾脂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胚鸯,我是刑警寧澤骨稿,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站蠢琳,受9級特大地震影響啊终,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜傲须,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一蓝牲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泰讽,春花似錦例衍、人聲如沸昔期。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硼一。三九已至,卻和暖如春梦抢,著一層夾襖步出監(jiān)牢的瞬間般贼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工奥吩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哼蛆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓霞赫,卻偏偏與公主長得像腮介,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子端衰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容