0Pricing
DevOps Bootcamp · บทเรียน

Pod: หน่วยที่เล็กที่สุด

เรียนรู้ว่า Pod คืออะไร มีจุดประสงค์อย่างไร และกำหนดกับสร้าง Pod โดยใช้แม니เฟสต์ YAML ได้อย่างไร

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

ยินดีต้อนรับสู่พ็อด

ใน Kubernetes หน่วยที่เล็กที่สุดที่สามารถนำไปใช้งานได้เรียกว่า พ็อด ลองนึกภาพว่าเป็นหน่วยพื้นฐานสำหรับสร้างแอปพลิเคชันของคุณ

บทเรียนนี้จะแนะนำพ็อด จุดประสงค์ของพ็อด และวิธีสร้างพ็อดโดยใช้ YAML

Pod: หน่วยที่เล็กที่สุด — ภาพประกอบ 1

พ็อดคืออะไร

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

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

เหตุใดจึงใช้พ็อด ไม่ใช่แค่คอนเทนเนอร์

คุณอาจสงสัยว่าเหตุใด Kubernetes จึงใช้พ็อดแทนการจัดการคอนเทนเนอร์โดยตรง เหตุผลมีดังนี้

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

ส่วนประกอบของพ็อดแบบง่าย

พ็อดส่วนใหญ่เรียกใช้คอนเทนเนอร์เพียงรายการเดียว ซึ่งเป็นกรณีการใช้งานที่พบบ่อยที่สุด ตัวอย่างเช่น พ็อดอาจเรียกใช้เพียงเว็บเซิร์ฟเวอร์ Nginx หรือแอปพลิเคชัน Node.js

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

กำหนดพ็อดด้วย YAML

โดยทั่วไปออบเจ็กต์ของ Kubernetes รวมถึงพ็อด จะกำหนดด้วยไฟล์ YAML (YAML Ain't Markup Language) ไฟล์เหล่านี้อธิบายสถานะที่ต้องการของทรัพยากร

YAML พื้นฐานของพ็อดประกอบด้วย

  • apiVersion: เวอร์ชัน API ของ Kubernetes
  • kind: ประเภทของออบเจ็กต์ 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 ใช้กำหนดพ็อดด้วย apiVersion kind metadata และ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Pod: หน่วยที่เล็กที่สุด
  2. วงจรชีวิตและสถานะของ Pod
  3. Pod หลายคอนเทนเนอร์ (ไซด์คาร์)
  4. คอนเทนเนอร์เริ่มต้นและลำดับการเริ่มทำงาน
← กลับไปที่ DevOps Bootcamp