-
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 ได้เลยวันนี้
แชร์บน: