วิธีสร้าง PersistentVolume ใน Kubernetes

Withi Srang Persistentvolume Ni Kubernetes



Persistent Volume (PV) ใน Kubernetes คือหน่วยพื้นที่เก็บข้อมูลในคลัสเตอร์ที่ผู้ดูแลระบบจัดเตรียมให้ด้วยตนเองหรือโดยอัตโนมัติโดยใช้ Storage Classes เช่นเดียวกับคลัสเตอร์ที่มีโหนด แต่ก็มีวอลุ่มถาวรเช่นกัน Persistent Volume ใช้เพื่อแยกพื้นที่เก็บข้อมูลออกจากพ็อดใน Kubernetes นอกจากการอธิบายวอลุ่มถาวรแล้ว คู่มือนี้จะแสดงวิธีสร้างวอลุ่มใน Kubernetes

ปริมาณถาวรใน Kubernetes

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

ดูภาพด้านล่างเพื่อทำความเข้าใจว่าไดรฟ์ข้อมูลถาวรและการอ้างสิทธิ์ไดรฟ์ข้อมูลถาวรทำงานอย่างไรในคลัสเตอร์ Kubernetes









ตามที่แสดงในรูปภาพ ผู้ดูแลระบบ -ผู้ดูแลคลัสเตอร์- สร้างไดรฟ์ข้อมูลถาวร (PV) ภายในคลัสเตอร์ที่จะผูกกับการอ้างสิทธิ์ไดรฟ์ข้อมูลถาวร (PVC) พ็อดจะใช้ PVC ซึ่งผู้ใช้สามารถสร้าง PVC และพ็อดในคลัสเตอร์ได้ ตอนนี้เราจะสาธิตวิธีการตั้งค่าพ็อดเพื่อใช้ PVC เป็นที่เก็บ



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

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





  • ควรติดตั้ง Minikubes เพื่อรันคำสั่ง kubectl
  • คลัสเตอร์ Kubernetes ที่มีโหนดเดียว
  • Kubectl CLI
  • ความเข้าใจพื้นฐานของปริมาณถาวร

เมื่อคุณเตรียมสิ่งเหล่านี้แล้ว คุณสามารถเริ่มได้เลย

การตั้งค่าแพลตฟอร์มสำหรับการกำหนดค่า Pod

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



> เริ่ม minikube

ต่อไปเราจะสร้างไดเร็กทอรีสำหรับไฟล์ที่จะสร้างต่อไป คำสั่ง 'sudo mkdir' ใช้เพื่อสร้างไดเร็กทอรี:

> ซูโด มคเดียร์ / / ข้อมูล

เมื่อคุณป้อนคำสั่งนี้ เซิร์ฟเวอร์จะขอรหัสผ่านผู้ดูแลระบบเพื่อให้สิทธิ์ผู้ดูแลระบบในคำสั่ง

ตอนนี้ คุณสามารถสร้างไฟล์ html เป็น super user และ echo data ในนั้นได้ ที่นี่ ไฟล์ index.html จะถูกสร้างขึ้นโดยที่จัดเก็บ 'hello from Kubernetes storage'

จะสร้างไดรฟ์ข้อมูลถาวรได้อย่างไร

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

ขั้นตอนที่ # 1: สร้างไฟล์ YAML การกำหนดค่า

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

> นาโน ปริมาณ.yaml

เมื่อคุณดำเนินการคำสั่งนี้ ไฟล์ YAML ต่อไปนี้จะถูกสร้างขึ้นซึ่งมีการกำหนดค่าไดรฟ์ข้อมูลถาวรของโฮสต์พาธ:

ขั้นตอนที่ 2: สร้าง PV จากไฟล์กำหนดค่า

ดิสก์ถาวรจะถูกสร้างขึ้นโดยใช้ไฟล์กำหนดค่า ปริมาณถาวร (PV) จะทำโดยใช้บรรทัดคำสั่ง:

> kubectl ใช้ -ฉ ปริมาณ.yaml

คำสั่ง 'kubectl apply' ใช้เพื่อสร้างวอลุ่มถาวร คำสั่งตามด้วยพารามิเตอร์ '-f' พร้อมกับชื่อไฟล์คอนฟิกูเรชัน ผลลัพธ์ต่อไปนี้จะถูกสร้างขึ้นหลังจากดำเนินการคำสั่ง 'ใช้':

คุณสามารถดูข้อมูลเกี่ยวกับวอลุ่มถาวรได้โดยใช้คำสั่ง 'kubectl get' ดูคำสั่งที่สมบูรณ์ด้านล่าง:

> kubectl รับ pv task-pv-volume

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

จะสร้างการอ้างสิทธิ์ปริมาณถาวร (PVC) ได้อย่างไร

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

ขั้นตอนที่ 1: สร้างไฟล์ YAML

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

> นาโน อ้างสิทธิ์. yaml

เมื่อคุณดำเนินการคำสั่งนี้ ไฟล์การกำหนดค่า YAML ต่อไปนี้จะเปิดขึ้นในเทอร์มินัล:

ขั้นตอนที่ 2: สร้าง PVC จากไฟล์กำหนดค่า

การอ้างสิทธิ์วอลุ่มถาวรถูกสร้างขึ้นโดยใช้ไฟล์การกำหนดค่าในขั้นตอนถัดไป สามารถใช้คำสั่ง 'kubectl apply' เดียวกันเพื่อสร้าง PVC จากไฟล์คอนฟิกูเรชัน นี่คือคำสั่ง 'kubectl apply' ที่สมบูรณ์:

> kubectl ใช้ -ฉ อ้างสิทธิ์. yaml

ขั้นตอนที่ # 3: ตรวจสอบข้อมูล PVC

ขณะนี้ต้องกำหนดค่าข้อมูลใน PVC ในการสร้าง PVC ให้ใช้คำสั่งด้านล่าง:

> kubectl รับ pv task-pv-volume

สิ่งนี้จะแสดงว่า PV ถูกผูกไว้กับ PVC ดูผลลัพธ์ด้านล่าง:

วิธีสร้างพ็อด

คลัสเตอร์ประกอบด้วยสามสิ่ง ได้แก่ PV, PVC และพ็อด เราได้สร้าง PV และ PVC; ขั้นตอนสุดท้ายคือการสร้างพ็อด นี่คือขั้นตอนในการสร้างพ็อด:

ขั้นตอนที่ 1: สร้างไฟล์การกำหนดค่า YAML

ขั้นแรก เราต้องสร้างไฟล์ YAML การกำหนดค่าสำหรับแสดงรายการบริการ คำสั่งที่ระบุด้านล่างนี้ใช้เพื่อสร้างไฟล์ YAML:

> นาโน pvpod.yaml

เมื่อคุณดำเนินการคำสั่งนี้ ไฟล์ YAML ต่อไปนี้จะเปิดขึ้นในเทอร์มินัลของคุณ:

ขั้นตอนที่ # 2: สร้าง Pod จากไฟล์กำหนดค่า

ต่อไป เราจะสร้างพ็อดจากไฟล์คอนฟิกูเรชัน และเพื่อตรวจสอบว่าพ็อดอยู่ในคอนเทนเนอร์หรือไม่ เราจะใช้คำสั่งต่อไปนี้:

> kubectl รับพ็อด task-pv-pod

ขั้นตอนในการดำเนินการล้างข้อมูลคืออะไร

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

> kubectl ลบ pod task-pv-pod

การดำเนินการนี้จะลบพ็อดที่เราสร้างไว้ก่อนหน้านี้:

> kubectl ลบงาน PVC-pv-อ้างสิทธิ์

สิ่งนี้จะลบ PVC ที่เราสร้างไว้ด้านบน:

> kubectl ลบ pv task-pv-volume

สิ่งนี้จะลบ PV ที่เราสร้างไว้ด้านบน:

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้ว่าคลัสเตอร์ประกอบด้วย PV, PVC และพ็อด PV และ PVC เชื่อมต่อกันเพื่อตอบสนองความต้องการของพ็อดหรือผู้พัฒนา นอกจากนี้ยังแนะนำเราเกี่ยวกับวิธีสร้าง PV, PVC และพ็อด หลังจากสร้างบริการทั้งหมดแล้ว เรายังได้เรียนรู้วิธีดำเนินการล้างข้อมูลเพื่อลบบริการเหล่านี้ทั้งหมด