3 วิธีติดตั้งและปกป้อง MinIO บน Kubernetes แบบง่ายๆ

MinIO นำการจัดเก็บข้อมูลที่เข้ากันได้กับ S3 และรวดเร็วมาสู่คลัสเตอร์ Kubernetes บทความนี้แสดง 3 วิธีการติดตั้ง MinIO แบบง่ายๆ และอธิบายตัวเลือกการสำรองข้อมูลที่มีประสิทธิภาพเพื่อการจัดการข้อมูลอย่างปลอดภัย

ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
offroad-seachua

Updated by ออฟโรด แซ่ฉั่ว on 2026/01/20

สารบัญ
  • MinIO ใน Kubernetes คืออะไร

  • ทำไมควรติดตั้ง MinIO บน Kubernetes

  • วิธีที่ 1 วิธีติดตั้ง MinIO บน Kubernetes ด้วย Helm

  • วิธีที่ 2 วิธีติดตั้ง MinIO บน Kubernetes ด้วยตนเอง

  • วิธีการที่ 3 วิธีติดตั้ง MinIO บน Kubernetes โดยใช้ MinIO Operator

  • Vinchin Backup & Recovery สำหรับเวิร์คโหลด MinIO Kubernetes ของคุณ

  • คำถามที่พบบ่อยเกี่ยวกับ MiniO Kubernetes

  • บทสรุป

การจัดเก็บข้อมูลแบบออบเจ็กต์เป็นส่วนสำคัญของโครงสร้างพื้นฐานที่ใช้ในระบบคลาวด์ยุคใหม่ MinIO คือโซลูชันการจัดเก็บข้อมูลแบบออบเจ็กต์ที่มีประสิทธิภาพสูงและใช้ภาษาเดียวกับ Amazon S3 เมื่อคุณรัน MinIO บน Kubernetes คุณจะได้ระบบจัดเก็บข้อมูลที่สามารถปรับขนาดได้และออกแบบมาเพื่อคอนเทนเนอร์และไมโครเซอร์วิสโดยเฉพาะ แต่คุณควรติดตั้ง MinIO บน Kubernetes อย่างไร และจะรักษาความปลอดภัยของข้อมูลได้อย่างไร เรามาดูทุกอย่างตั้งแต่พื้นฐานไปจนถึงการป้องกันขั้นสูงกัน

MinIO ใน Kubernetes คืออะไร

MinIO เป็นเซิร์ฟเวอร์จัดเก็บออบเจกต์แบบโอเพนซอร์สที่รองรับ API ของ Amazon S3 ในสภาพแวดล้อม Kubernetes MinIO ทำหน้าที่เป็นแบ็กเอนด์แบบคลาวด์เนทีฟสำหรับจัดเก็บข้อมูลที่ไม่มีโครงสร้าง เช่น ข้อมูลสำรอง บันทึก ภาพ หรือชุดข้อมูล AI/ML โดยการรันภายในคลัสเตอร์ของคุณ MinIO ให้การเข้าถึงที่รวดเร็วและผสานรวมได้อย่างราบรื่นกับเวิร์กโหลดที่ใช้คอนเทนเนอร์

ทำไมควรติดตั้ง MinIO บน Kubernetes

การใช้งาน MinIO ร่วมกับ Kubernetes มีข้อดีหลาอย่าง 

ข้อแรก Kubernetes จะช่วยทำให้การติดตั้งและการปรับขนาดเป็นไปโดยอัตโนมัติ ทำให้พื้นที่จัดเก็บข้อมูลของคุณสามารถขยายตัวได้ตามความต้องการที่เปลี่ยนแปลงไป 

ข้อสอง เนื่องจาก MinIO รองรับ S3 API คุณจึงสามารถใช้เครื่องมือและกระบวนการทำงานที่คุ้นเคยได้ โดยไม่ต้องเขียนโค้ดใหม่ 

ข้อสาม การรัน "minio kubernetes" จะทำให้คุณได้รับความสามารถในการใช้งานสูงตลอดเวลาข้ามโหนดต่างๆ พร้อมทั้งมีระบบสำรองข้อมูลเพื่อความปลอดภัย ไม่ว่าจะใช้งานในศูนย์ข้อมูลภายในองค์กรหรือในคลาวด์สาธารณะใดก็ตาม สิ่งนี้ทำให้เหมาะอย่างยิ่งสำหรับแอปพลิเคชันสมัยใหม่ที่ต้องการความยืดหยุ่นสูง

องค์กรจำนวนมากใช้ชุดระบบนี้เพื่อจัดเก็บข้อมูลสำรองของแอปพลิเคชันหรือบันทึกต่างๆ โดยตรงภายในคลัสเตอร์ของตน ในขณะที่องค์กรอื่นๆ อาศัยระบบนี้ในการให้บริการชุดข้อมูลขนาดใหญ่แก่ระบบประมวลผล AI/ML หรือจัดหาปริมาณข้อมูลแบบถาวรสำหรับงานที่มีสถานะซึ่งต้องการการจัดเก็บวัตถุที่เชื่อถือได้

วิธีที่ 1 วิธีติดตั้ง MinIO บน Kubernetes ด้วย Helm

Helm เป็นตัวจัดการแพ็กเกจสำหรับ Kubernetes ซึ่งช่วยให้การติดตั้งแอปพลิเคชันที่ซับซ้อน เช่น MinIO ง่ายขึ้น โดยใช้แผนภูมิ (charts)

ข้อกำหนดเบื้องต้นและคำแนะนำในการตั้งค่า

ก่อนเริ่มต้น:

  • ตรวจสอบให้แน่ใจว่าติดตั้ง Helm (v3+) และ kubectl แล้ว

  • ผู้ใช้งานของคุณต้องมีสิทธิ์ในการสร้างเนมสเปซและทรัพยากร

  • สำหรับการใช้งานในสภาพแวดล้อมผลิตหรือการตั้งค่าแบบกระจาย โปรดตรวจสอบ เอกสารแผนภูมิ MinIO Helm เกี่ยวกับการตั้งค่า mode: distributed แทนที่จะใช้ standalone

คุณควรหลีกเลี่ยงการใช้ข้อมูลรับรองเริ่มต้นในการใช้งานจริง และตั้งค่าที่แข็งแกร่งผ่านความลับหากเป็นไปได้

การติดตั้งทีละขั้นตอน

ขั้นตอนแรกให้เพิ่มที่เก็บทางการ:

helm repo add minio https://charts.min.io/  
helm repo update

ถัดไปให้สร้างไฟล์การตั้งค่าที่เรียกว่า minio-values.yaml:

mode: standalone   # Use 'distributed' for multi-node setups
persistence:
  size: 10Gi
resources:
  requests:
    memory: 1Gi
accessKey: "minioadmin"   # Change these!
secretKey: "minioadmin"
service:
  type: ClusterIP

เคล็ดลับ: เพื่อความปลอดภัยที่ดีขึ้นในสถานการณ์จริง ให้จัดเก็บข้อมูลประจำตัวเป็นความลับโดยใช้ existingSecret

ติดตั้งตอนนี้:

helm install minio minio/minio -f minio-values.yaml -n minio-system --create-namespace

การเข้าถึงในระดับท้องถิ่น:

kubectl port-forward svc/minio 9000:9000 -n minio-system

เปิดเบราว์เซอร์ของคุณที่ http://localhost:9000 และลงชื่อเข้าใช้ด้วยคีย์ของคุณ

วิธีที่ 2 วิธีติดตั้ง MinIO บน Kubernetes ด้วยตนเอง

การติดตั้งด้วยตนเองช่วยให้คุณสามารถควบคุมคำจำกัดความของทรัพยากรทุกอย่างได้อย่างเต็มที่ เหมาะสำหรับผู้ที่ต้องการตั้งค่าแบบกำหนดเอง หรือต้องการเข้าใจสิ่งที่เกิดขึ้นเบื้องหลัง

ข้อกำหนดเบื้องต้น

คุณจะต้องมี kubectl ที่ตั้งค่าไว้สำหรับคลัสเตอร์ของคุณ และมีสิทธิ์ในการสร้าง PVC (PersistentVolumeClaims), Deployment (หรือ StatefulSets), และ Services

การติดตั้งทีละขั้นตอน

เริ่มต้นด้วยการกำหนดที่จัดเก็บข้อมูลแบบถาวร:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: minio-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

ใช้งานมัน:

kubectl apply -f minio-pvc.yaml

ถัดไปให้กำหนดการปรับใช้ (สำหรับกรณีทั่วไป):

apiVersion: apps/v1
kind: Deployment   # For more resilient setups consider StatefulSet below!
metadata:
  name: minio
spec:
  selector:
    matchLabels:
      app: minio
  strategy:
    type: Recreate   # Causes downtime during updates; see note below.
  template:
    metadata:
      labels:
        app: minio
    spec:
      containers:
      - name: minio
        image: minio/minio:latest   # Always check Docker Hub for latest tags.
        args:
          - server 
          - /data 
        env:
          - name: MINIO_ACCESS_KEY 
            valueFrom:
              secretKeyRef:
                name: my-miniosecrets 
                key: accesskey 
          - name: MINIO_SECRET_KEY 
            valueFrom:
              secretKeyRef:
                name: my-miniosecrets 
                key: secretkey 
        ports:
          - containerPort: 9000 
        volumeMounts:
          - name: data 
            mountPath: /data 
      volumes:
        - name : data 
          persistentVolumeClaim :
            claimName : minio-pvc

หมายเหตุ: สำหรับงานที่ต้องรักษาสถานะ เช่น คลัสเตอร์แบบกระจาย หรือเมื่อความต่อเนื่องของการทำงานมีความสำคัญ ให้ใช้ StatefulSet แทน Deployment

เปิดเผยผ่านบริการ:

apiVersion : v1  
kind : Service  
metadata :
   name : minio  
spec :
   type : ClusterIP  
   ports :
     – port : 9000  
       targetPort : 9000  
   selector :
     app : minio

ใช้งานเซอร์วิส:

kubectl apply -f minio-service.yaml

เข้าถึงคอนโซลในเครื่องได้โดยตรง:

kubectl port-forward svc/minio 9000 :9000

จากนั้นเข้าชม http://localhost :9000  ในเบราว์เซอร์ของคุณ

วิธีการที่ 3 วิธีติดตั้ง MinIO บน Kubernetes โดยใช้ MinIO Operator

Operator จะดำเนินการจัดการงานขั้นสูงโดยอัตโนมัติ เช่น การปรับขนาดคลัสเตอร์ให้ใหญ่ขึ้นหรือเล็กลง หรือการจัดการการอัปเกรดอย่างปลอดภัย ผ่านนิยามทรัพยากรแบบกำหนดเอง (CRDs)

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าได้ติดตั้ง kubectl แล้ว และต้องมีสิทธิ์ระดับ cluster-admin เนื่องจากจะมีการสร้าง CRDs ทั่วระบบ นอกจากนี้ ให้ตรวจสอบชื่อของ StorageClass ที่มีอยู่ (local-path อาจไม่มีอยู่ในทุกที่)

การติดตั้งทีละขั้นตอน

ติดตั้งโอเปอเรเตอร์ผ่าน Kustomize:

kubectl apply –k "github.com/min io/operator?ref=v7 .0 .1"

สร้างเนมสเปซ:

kubectl create namespace min io

กำหนดไฟล์แสดงข้อมูลผู้เช่า (Tenant manifest) (deployment.yaml) :


apiVersion:min io.min . io/v2   
kind :Tenant   
metadata :
   name:min io   
   namespace:min io   
spec :
 requestAutoCert:true   
 image:min io/min io :latest     # Always confirm latest stable tag!  
 mountPath:/export     
 pools :
     –name :pool–0     
       servers :3     
       volumesPerServer :3     
       volumeClaimTemplate :
         spec :
           accessModes :
             –ReadWriteOnce     
           resources :
             requests :
               storage :100Gi     
           storageClassName:<your-storage-class>     # Adjust based on environment!


Apply tenant manifest :

นาที

 kubectl apply –f deployment . yaml

ในการเปิดการใช้งานภายนอกคลัสเตอร์ ให้กำหนดบริการ LoadBalancer :

 apiVersion:v1   
 kind:Sercive    
 metadata :
    name:min io–loadbalancer      
    namespace:min io      
 spec :
    type:L oadBalancer      
    selector :
      v1.min .min . io/tenant:min io      
    ports :
      –name:a pi      
         protocol:T CP      
         port :9000      
         targetPort :9000      
      –name:c ons ole       
         protocol:T CP       
         port :9443       
         targetPort :9443

ใช้บริการ :

 kubectl apply –f loadbalancer . yaml

รับที่อยู่ IP ภายนอก :

 kubectl get svc –n mini o mini o–loadbalancer

เข้าถึงคอนโซลที่ https://<EXTERNAL-IP>:9443 โดยใช้ข้อมูลรับรองที่จัดเก็บอยู่ใน secrets (kubectl get secrets –n mini o) เครื่องมือ Operator ทำให้การปรับขนาดเซิร์ฟเวอร์ทำได้ง่าย เพียงต้องแก้ไขไฟล์ Tenant YAML แล้วนำไปใช้ใหม่

Vinchin Backup & Recovery สำหรับเวิร์คโหลด MinIO Kubernetes ของคุณ

หลังจากที่คุณติดตั้งสภาพแวดล้อม "minio kubernetes" เสร็จสมบูรณ์ การมีประกันการสำรองข้อมูลที่แข็งแกร่งจึงกลายเป็นสิ่งจำเป็น Vinchin Backup & Recovery ถือเป็นโซลูชันระดับองค์กรที่ออกแบบมาโดยเฉพาะเพื่อตอบสนองความต้องการสำรองข้อมูล Kubernetes อย่างครอบคลุม โซลูชันนี้นำเสนอการสำรองข้อมูลและการกู้คืนแบบเต็มรูปแบบ/เพิ่มทีละส่วน/ละเอียดระดับสูงตามคลัสเตอร์ พื้นที่ชื่อ แอปพลิเคชัน PVC และอัตโนมัติตามนโยบายรวมถึงงานชั่วคราว การส่งข้อมูลแบบเข้ารหัส/ตัวเลือกจัดเก็บ (พร้อมการสนับสนุน WORM) การกู้คืนข้ามคลัสเตอร์/ข้ามเวอร์ชัน แม้ในสภาพแวดล้อมที่แตกต่างกัน และระบบเร่งความเร็วการถ่ายโอนแบบหลายเธรดและพร้อมกันอย่างชาญฉลาดเพื่อให้การผ่านข้อมูลของ PVC เร็วขึ้นคุณลักษณะเหล่านี้ผสานความยืดหยุ่นที่ทรงพลังกับระบบอัตโนมัติที่ปลอดภัย ทำให้องค์กรสามารถปกป้องงานที่สำคัญได้อย่างมั่นใจในระดับกว้างขวาง พร้อมทั้งเป็นไปตามข้อกำหนดด้านการปฏิบัติตามกฎเกณฑ์

Vinchin Backup & Recovery มีคอนโซลเว็บที่ใช้งานง่าย ซึ่งช่วยทำให้การดำเนินการสำรองข้อมูลเป็นไปอย่างราบรื่นใน 4 ขั้นตอนง่ายๆ ที่ออกแบบมาโดยเฉพาะสำหรับสภาพแวดล้อม Kubernetes

ขั้นตอนที่ 1 เลือกแหล่งที่มาของสำรองข้อมูล

เลือกแหล่งที่มาของการสำรองข้อมูล

ขั้นตอนที่ 2 เลือกปลายทางการจัดเก็บข้อมูลสำรอง

เลือกปลายทางการจัดเก็บข้อมูลสำรอง

ขั้นตอนที่ 3 กำหนดกลยุทธ์การสำรองข้อมูลที่ต้องการ

กำหนดกลยุทธ์การสำรองข้อมูลที่ต้องการ

ขั้นตอนที่ 4 ส่งงาน

ส่งงาน

Vinchin Backup & Recovery ได้รับการยอมรับจากองค์กรหลายพันแห่งทั่วโลก ด้วยคะแนนสูงสุดในอุตสาหกรรม และมีบริการทดลองใช้งานฟรี 60 วัน คลิกด้านล่างเพื่อสัมผัสประสบการณ์การปกป้องข้อมูลที่ล้ำสมัยด้วยตัวคุณเอง

คำถามที่พบบ่อยเกี่ยวกับ MiniO Kubernetes

Q1. ผมจะปรับขนาดผู้เช่า MiniO ที่ติดตั้งด้วย Operator ได้อย่างไร?

A1. แก้ไข Tenant CRD เพิ่มเซิร์ฟเวอร์/ปริมาณข้อมูล จากนั้นนำ YAML มาใช้ใหม่อีกครั้ง

Q2. เปิดใช้งาน TLS สำหรับ MiniO ใน Kubernetes ได้ไหม?

A2. ได้ จัดหาใบรับรองเป็นความลับ อ้างอิงใน deployment/ข้อกำหนดของ Tenant

Q3. หาก PVC ของผมยังคงสถานะเป็น Pending หลังจากใช้ Manifests จะเกิดอะไรขึ้น?

A3. ตรวจสอบ PV ที่มีอยู่ (kubectl get pv,pvc) ยืนยัน StorageClass ที่ถูกต้อง และปรับแต่ง YAML หากจำเป็น

บทสรุป

การรัน MiniO บน Kubernetes ให้พื้นที่จัดเก็บข้อมูลแบบ S3 ที่สามารถปรับขนาดได้และพร้อมใช้งานกับงานทุกประเภท ด้วยการสำรองข้อมูลที่มีความทนทานจาก Vinchin Backup & Recovery ข้อมูลของคุณจะได้รับการปกป้องไม่ว่าจะเกิดอะไรขึ้น ทดลองใช้งานฟรีของ Vinchin ได้เลยวันนี้

แชร์บน:

Categories: Tech Tips