StatefulSet
ใช้ 'StatefulSet ด้วย Stateful การประยุกต์ใช้งานแบบกระจายที่ต้องใช้แต่ละโหนดจะมีรัฐถาวร StatefulSet ให้ความสามารถในการกำหนดค่าจำนวนโหนดโดยพลการสำหรับแอ็พพลิเคชัน / คอมโพเนนต์ stateful ผ่านการกำหนดค่า (แบบจำลอง = N)
แอปพลิเคชันแบบกระจายสถานะมีสองประเภท ได้แก่ Master-Master และ Master-Slave โหนดทั้งหมดในการกำหนดค่า Master-Master และโหนด Slave ในการกำหนดค่า Master-Slave สามารถใช้ StatefulSet ได้
ตัวอย่าง:
Master-Slave -> Datanodes (ทาส) ในคลัสเตอร์ Hadoop
Master-Master -> โหนดฐานข้อมูล (master-master) ในคลัสเตอร์ Cassandra
แต่ละ Pod (แบบจำลอง / โหนด) ใน StatefulSet มีเอกลักษณ์เครือข่ายที่ไม่ซ้ำใครและเสถียร ตัวอย่างเช่นใน Cassandra StatefulSet ที่มีชื่อเป็น 'Cassandra' และจำนวนโหนดจำลองเป็น N แต่ละ Cassandra pod (โหนด) มี:
- ดัชนีลำดับสำหรับแต่ละพ็อด: 0,1, .. , N-1
- รหัสเครือข่ายที่เสถียร: Cassandra-0, Cassandra-1, .. , Cassandra-N-1
- ไดรฟ์ข้อมูลถาวรแยกต่างหากสำหรับแต่ละพ็อดเทียบกับเทมเพลตการอ้างสิทธิ์ไดรฟ์ข้อมูลเช่นที่เก็บข้อมูลแยกต่างหากสำหรับทุกพ็อด (โหนด)
- พ็อดถูกสร้างขึ้นตามลำดับ 0 ถึง N-1 และสิ้นสุดในลำดับย้อนกลับ N-1 ถึง 0
อ้างอิง: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
การปรับใช้
'การปรับใช้' ในมืออื่น ๆ เหมาะสำหรับคนไร้รัฐ / งานบริการที่โหนดไม่จำเป็นต้องมีตัวตนใด ๆ เป็นพิเศษ ตัวจัดสรรภาระงานสามารถเข้าถึงโหนดใดก็ได้ที่เลือก โหนดทั้งหมดเท่ากัน การทำให้ใช้งานได้มีประโยชน์สำหรับการสร้างโหนดตามอำเภอใจจำนวนเท่าใดก็ได้ผ่านการกำหนดค่า (แบบจำลอง = N)