Pod: หน่วยที่เล็กที่สุด
เรียนรู้ว่า Pod คืออะไร มีจุดประสงค์อย่างไร และกำหนดกับสร้าง Pod โดยใช้แม니เฟสต์ YAML ได้อย่างไร
Pod: หน่วยที่เล็กที่สุด เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับสู่พ็อด
ใน Kubernetes หน่วยที่เล็กที่สุดที่สามารถนำไปใช้งานได้เรียกว่า พ็อด ลองนึกภาพว่าเป็นหน่วยพื้นฐานสำหรับสร้างแอปพลิเคชันของคุณ
บทเรียนนี้จะแนะนำพ็อด จุดประสงค์ของพ็อด และวิธีสร้างพ็อดโดยใช้ YAML

พ็อดคืออะไร
พ็อดคือสิ่งนามธรรมที่แทนอินสแตนซ์หนึ่งของแอปพลิเคชันของคุณ ภายในประกอบด้วยคอนเทนเนอร์อย่างน้อยหนึ่งรายการ พร้อมทรัพยากรที่ใช้ร่วมกัน
- คอนเทนเนอร์: โดยทั่วไปคือคอนเทนเนอร์ Docker ที่ใช้เรียกใช้โค้ดแอปพลิเคชันของคุณ
- พื้นที่จัดเก็บ: วอลุ่มพื้นที่จัดเก็บที่ใช้ร่วมกันเพื่อคงข้อมูลไว้
- เครือข่าย: ที่อยู่ IP และการตั้งค่าเครือข่ายเฉพาะสำหรับพ็อด
เหตุใดจึงใช้พ็อด ไม่ใช่แค่คอนเทนเนอร์
คุณอาจสงสัยว่าเหตุใด Kubernetes จึงใช้พ็อดแทนการจัดการคอนเทนเนอร์โดยตรง เหตุผลมีดังนี้
- ทรัพยากรที่ใช้ร่วมกัน: คอนเทนเนอร์ภายในพ็อดใช้เนมสเปซเครือข่ายเดียวกัน และสื่อสารกันผ่าน
localhostได้ - การจัดวางไว้ด้วยกัน: ทำให้คอนเทนเนอร์ที่ทำงานสัมพันธ์กันอย่างใกล้ชิด (เช่น แอปกับคอนเทนเนอร์เสริมสำหรับบันทึกเหตุการณ์) ถูกจัดตารางให้อยู่บนโหนดเดียวกันเสมอ
- สิ่งนามธรรม: พ็อดเป็นสิ่งนามธรรมในระดับที่สูงขึ้น ทำให้จัดการแอปพลิเคชันทั้งชุดได้ง่ายกว่าการจัดการคอนเทนเนอร์ทีละรายการ
ส่วนประกอบของพ็อดแบบง่าย
พ็อดส่วนใหญ่เรียกใช้คอนเทนเนอร์เพียงรายการเดียว ซึ่งเป็นกรณีการใช้งานที่พบบ่อยที่สุด ตัวอย่างเช่น พ็อดอาจเรียกใช้เพียงเว็บเซิร์ฟเวอร์ Nginx หรือแอปพลิเคชัน Node.js
แม้จะมีคอนเทนเนอร์เพียงรายการเดียว พ็อดก็ยังจัดเตรียมบริบทด้านเครือข่ายและพื้นที่จัดเก็บ ทำให้เป็นหน่วยที่สมบูรณ์สำหรับการนำไปใช้งาน
กำหนดพ็อดด้วย YAML
โดยทั่วไปออบเจ็กต์ของ Kubernetes รวมถึงพ็อด จะกำหนดด้วยไฟล์ YAML (YAML Ain't Markup Language) ไฟล์เหล่านี้อธิบายสถานะที่ต้องการของทรัพยากร
YAML พื้นฐานของพ็อดประกอบด้วย
apiVersion: เวอร์ชัน API ของ Kuberneteskind: ประเภทของออบเจ็กต์ Kubernetes (เช่นPod)metadata: ข้อมูลต่าง ๆ เช่นnameและlabelsของพ็อดspec: สถานะที่ต้องการ รวมถึงคอนเทนเนอร์ที่จะเรียกใช้
ตัวอย่าง: YAML ของพ็อด Nginx
มาดูคำจำกัดความ YAML แบบง่ายสำหรับพ็อดที่เรียกใช้เว็บเซิร์ฟเวอร์ Nginx กัน
ส่วน spec.containers ใช้กำหนดคอนเทนเนอร์ภายในพ็อด รวมถึง name image และ ports ของคอนเทนเนอร์
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80สร้างพ็อดแรกของคุณ
หากต้องการสร้างพ็อดจากไฟล์ YAML ให้ใช้คำสั่ง kubectl apply คำสั่งนี้จะบอก Kubernetes ให้สร้างหรืออัปเดตทรัพยากรตามคำจำกัดความของคุณ
ขั้นแรก ให้บันทึกเนื้อหา YAML ก่อนหน้านี้ลงในไฟล์ชื่อ nginx-pod.yaml
kubectl apply -f nginx-pod.yamlตรวจสอบสถานะพ็อด
หลังจากใช้ YAML แล้ว คุณสามารถตรวจสอบสถานะของพ็อดได้ด้วย kubectl get pod พ็อดควรแสดงสถานะเป็น Running
หากต้องการข้อมูลโดยละเอียดเพิ่มเติม รวมถึงเหตุการณ์และสถานะคอนเทนเนอร์ ให้ใช้ kubectl describe pod
kubectl get pod nginx-pod
kubectl describe pod nginx-podพ็อดหลายคอนเทนเนอร์ (ไซด์คาร์)
แม้พ็อดที่มีคอนเทนเนอร์เดียวจะพบได้บ่อย แต่พ็อดก็สามารถบรรจุคอนเทนเนอร์หลายรายการได้เช่นกัน โดยทั่วไปคอนเทนเนอร์เหล่านี้จะทำงานสัมพันธ์กันอย่างใกล้ชิดและใช้ทรัพยากรร่วมกัน
รูปแบบที่พบได้บ่อยคือคอนเทนเนอร์ “ไซด์คาร์” ซึ่งทำงานควบคู่ไปกับคอนเทนเนอร์แอปพลิเคชันหลัก เพื่อให้บริการเสริม เช่น การบันทึกเหตุการณ์ การตรวจสอบ และการซิงโครไนซ์ข้อมูล
เราจะสำรวจรูปแบบนี้โดยละเอียดมากขึ้นในบทเรียนถัดไป
ตรวจสอบคำจำกัดความพ็อด
ฟิลด์ระดับบนสุดใดต่อไปนี้ ไม่ใช่ฟิลด์ที่จำเป็นในคำจำกัดความ YAML พื้นฐานของพ็อด Kubernetes
ทบทวน: พ็อด - รากฐานสำคัญ
คุณได้เรียนรู้แล้วว่าพ็อดคือหน่วยที่เล็กที่สุดที่สามารถนำไปใช้งานได้ใน Kubernetes โดยรวมทรัพยากรด้านคอนเทนเนอร์ พื้นที่จัดเก็บ และเครือข่ายไว้ด้วยกัน
- พ็อดทำให้คอนเทนเนอร์เป็นสิ่งนามธรรม เพื่อให้ใช้ทรัพยากรร่วมกันและจัดวางไว้ด้วยกันได้
- ไฟล์ YAML ใช้กำหนดพ็อดด้วย
apiVersionkindmetadataและspec - คุณสร้างพ็อดด้วย
kubectl apply -f <filename>และตรวจสอบพ็อดด้วยkubectl get podและkubectl describe pod
ต่อไป เราจะเจาะลึกวงจรชีวิตและสถานะของหน่วยพื้นฐานเหล่านี้
คำถามที่พบบ่อย
บทเรียน “Pod: หน่วยที่เล็กที่สุด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Pod: หน่วยที่เล็กที่สุด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Pod: หน่วยที่เล็กที่สุด”
เรียนรู้ว่า Pod คืออะไร มีจุดประสงค์อย่างไร และกำหนดกับสร้าง Pod โดยใช้แม니เฟสต์ YAML ได้อย่างไร คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “Pod: หน่วยที่เล็กที่สุด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Pod: หน่วยที่เล็กที่สุด
- วงจรชีวิตและสถานะของ Pod
- Pod หลายคอนเทนเนอร์ (ไซด์คาร์)
- คอนเทนเนอร์เริ่มต้นและลำดับการเริ่มทำงาน