ความจำเป็นในการใช้ Persistent Storage ใน OpenShift

Published on August 6, 2026
ความจำเป็นในการใช้ Persistent Storage ใน OpenShift

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

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

Block Storage ใน OpenShift

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

แน่นอนว่าการเข้าถึงบล็อกสตอเรจนั้นมีข้อดีเรื่องความเร็ว ซึ่งเป็นที่ต้องการสำหรับฐานข้อมูล หรือ แอปพลิเคชันที่ต้องการเข้าถึงดิสก์หนัก

OpenShift นั้นสามารถเข้าถึงสตอเรจในระดับบล็อกเพื่อนำมาให้เราใช้งาน ทั้งเพื่อเป็นสตอเรจแบบถาวรและชั่วคราว

การทำความเข้าใจเกี่ยวกับบล็อกสตอเรจแบบถาวรและชั่วคราวใน OpenShift

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

ในขณะที่สตอเรจแบบถาวรนั้นจำเป็นที่จะต้องรักษาข้อมูลไว้ แม้ว่าพ็อดจะไม่มีอยู่แล้วก็ตาม  ทั้งนี้เพราะแอปพลิเคชันจำเป็นที่จะต้องใช้งานสตอเรจแบบนี้เช่น ฐาข้อมูล ทั้งนี้ OpenShift จะจัดหาเฟรมเวิร์กในการจัดสรรสตอเรจให้ ผ่านสิ่งที่เรียกว่า PersistentVolume API โดยจะมีสองรูปแบบคือ

  • Persistent Volume Claims (PVCs) เมื่อเวิร์กโหลดใน OpenShift แสดงความต้องการสตอเรจผ่าน PVC มันจะเป็นตัวกำหนดขนาดของสตอเรจและโหมดการเข้าถึง
  • Persistent Volumes (PVs) ทำหน้าที่เสนอทรัพยากรสตอเรจทางกายภาพที่มีอยู่ในคลัสเตอร์ เช่น Fiber Channel และ iSCSI หรือผ่าน NFS

แอดมินสามารถที่จะสร้างทรัพยากรสตอเรจดโยการสร้าง PV ในขณะที่นักพัฒนาจะส่งคำขอผ่าน PVC

แล้วเราจะ Provision อย่างไร

OpenShift จะใช้สิ่งที่เรียกว่า Container Storage Interface สำหรับการใช้งานสตอเคจจากแบ็คเอน โดย CSI นั้นจะทำหน้าที่เป็นปลั๊กอินระหว่าง OpenShift และ สตอเรจโปรไวเดอร์ มันจะทำหน้าที่ในการแปลง PV และ PVC ไปยังไดรเวอร์

ก้าวอีกขั้นด้วยการจัดการบล็อกสตอเรจด้วย OpenShift Data Foundation (ODF)

ODF นั้นเป็นสตอเรจโซลูชันจาก RedHat เพื่อให้การจัดการสตอเรจแบบถาวรนั้นง่ายขึ้น โดยเฉพาะในสภาพแวดล้อมแบบ OpenShift โดยมันเป็นโซลูชันที่รวมทั้งสตอเรจแบบ บล็อก ไฟล์ และ อ็อบเจ็กต์เข้าด้วยกัน โดยการจัดการสตอเรจทั้งหมด ทำได้ผ่านระบบเดียว

image cr: RedHat

สถาปัตยกรรมของ OpenShift Data Foundation

ODF นั้นทำงานด้วยสถาปัตยกรรมแบบเปิดโดยมี Ceph, NooBaa และ Rook

  • Ceph เป็นซอฟต์แวร์โซลูชันสตอเรจที่กระจาย ขยายได้ และ รวมการจัดการไว้ในที่เดียวกับ ทั้งบล็อก ไฟล์ และ อ็อบเจ็กต์ ติดตั้งได้บนเครื่องทุกแบบ
  • Rook เป็นตัว Orchestration หรือ เครื่องมือประสานงาน สำหรับการเชื่อมต่อ Ceph มายัง Kubernetes และ OpenShift
  • Noobaa นั้นเป็น multi cloud gateway (MCG) หรือเป็นตัวประสานระหว่างทั้ง local S3 และ Cloud S3

แล้วต่อไปเราจะได้พบกับบทความใหม่เกี่ยวกับ OpenShift มากขึ้น สำหรับวันนี้ถือเป็นเรื่องนำสำหรับ Persistent Storage และ ทำไมมันถึงจำเป็นใน containers

ความจำเป็นในการใช้ Persistent Storage ใน OpenShift

สตอเรจแบบถาวรนั้นได้เป็นความท้าทายมาตลอดสำหรับแอปพลิเคชั้นแบบมีการจำสถานะก่อนหน้า (stateful) ที่รันอยู่ในสภาพแวดล้อมแบบคอนเทนเนอร์ เช่น OpenShift ซึ่งต้องบอกว่าการรันแอปในคอนเทนเนอร์นั้นเป็นสิ่งที่ได้รับความนิยมเพิ่มขึ้นเรื่อยๆ เพราะความยืดหยุ่นและการขยายของมัน แต่ด้วยความที่มันเป็นสถานะแบบชั่วคราว (ephemeral) ทำให้ความสูญเสียข้อมูลเมื่อตัวมันเองถูกรีสตาร์ทนั้นเกิดขึ้นได้ง่ายมากกรณีที่ไม่ถูกจัดการเป็นอย่างดี...

Read more »

อะไรคือ EVPN

การทำ virtualization ในระดับเครือข่าย มันจะต้องเจอกับข้อจำกัด หรือ อาจจะเรียกว่าความเข้มงวดในหลายๆ ส่วนที่เกี่ยวข้อง ยกตัวอย่างเช่น Virtual Private...

Read more »

อะไรคือ VXLAN

อะไรคือ VXLAN VXLAN นั้นย่อมาจาก Virtual Extensible Local-Area Networks คือหนึ่งในมาตรฐานที่ถูกกำหนดไว้โดย Internet...

Read more »

ทำไม Tailscale จึงเป็นตัวเลือกที่เหนือกว่า VPN แบบเดิมๆ

สำหรับ Virtual Private Network หรือ VPN นั้นแน่นอนว่า ภาคธุรกิจนั้นคุ้นเคยและมีการใช้งานกันมาอย่างยาวนานแล้ว เพราะมันสามารถสร้างรูปแบบการเชื่อมต่อที่ปลอดภัย สำหรับการเข้าถึงเครือข่ายภายใน...

Read more »

Stratis Storage

จากการที่ Fedora Engineering and Steering Committee (FESCo) ได้อนุมัติถึงการให้มีการตั้งค่าการติดตั้ง Stratis Storage...

Read more »

What is Network Functions Virtualization NFV

Network Functions Virtualization คือสิ่งที่เข้ามาแทนที่อุปกรณ์เน็ตเวิร์กที่เป็นฮาร์ดแวร์ด้วยความสามารถของ virtual machine ที่ทำหน้าที่ด้านการทำ routing และ load...

Read more »