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

ปัญหาของ kubectl apply แบบดิบ

เหตุใดการจัดการไฟล์ YAML หลายสิบไฟล์ด้วยตนเองจึงไม่เหมาะเมื่อระบบขยายใหญ่

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

แอปเดียว หลายไฟล์

แอป Kubernetes เพียงแอปเดียวมักไม่สามารถอยู่ในไฟล์เดียวได้ โดยทั่วไปคุณต้องมี Deployment, Service, ConfigMap และอื่น ๆ ซึ่งแต่ละรายการอยู่ใน YAML ของตัวเอง

ใช้ด้วยตนเอง

เมื่อใช้ Kubernetes แบบดิบ คุณจะเรียกใช้ kubectl apply กับไฟล์กำหนดค่าแต่ละไฟล์ ไฟล์สามไฟล์หมายถึงคำสั่งสามคำสั่งที่ต้องจำและเรียกใช้ตามลำดับ

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
kubectl apply -f configmap.yaml

โฟลเดอร์ช่วยได้ แต่ไม่มากนัก

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

kubectl apply -f ./manifests/

ปัญหาการคัดลอกและวาง

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

ความคลาดเคลื่อนค่อย ๆ เกิดขึ้น

หลังจากแก้ไขไปไม่กี่ครั้ง สภาพแวดล้อมพัฒนาและสภาพแวดล้อมจริงก็จะแตกต่างกันอย่างเงียบ ๆ ความ คลาดเคลื่อน ที่ตรวจไม่พบนี้เป็นที่ซ่อนตัวชั้นดีของข้อผิดพลาดที่สับสนและทำซ้ำได้ยาก 🐛

ไม่มีหมายเลขเวอร์ชันเดียว

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

การถอนการติดตั้งต้องทำด้วยตนเอง

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

kubectl delete -f deployment.yaml
kubectl delete -f service.yaml

การย้อนกลับมีความเสี่ยง

การนำไปใช้งานที่มีปัญหาหมายความว่าคุณต้องเร่งค้นหา YAML เก่าในประวัติ Git ด้วย kubectl แบบพื้นฐานไม่มีปุ่ม ย้อนกลับในขั้นตอนเดียว

การทำซ้ำเต็มไปหมด

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

ไม่รองรับการขยายขนาด

แอปเดียวจัดการด้วยตนเองได้ไม่ยาก แต่ไมโครเซอร์วิสยี่สิบตัวในสามสภาพแวดล้อมทำให้การจัดการ YAML กลายเป็น งานจุกจิกเต็มเวลาที่เกิดข้อผิดพลาดได้ง่าย

สิ่งที่เราต้องการจริง ๆ

เราต้องการติดตั้ง กำหนดเวอร์ชัน ตั้งค่า และนำแอปออกเป็น หน่วยเดียวด้วยคำสั่งเดียว ช่องว่างนี้เองคือสิ่งที่ Helm เข้ามาเติมเต็ม 🎯

ตรวจสอบอย่างรวดเร็ว

ปัญหาใดเกิดจากการจัดการไฟล์กำหนดค่าดิบจำนวนมากด้วยตนเอง

สรุป

kubectl apply แบบดิบทำให้แอปกระจายอยู่ในหลายไฟล์ ไม่มีการกำหนดเวอร์ชัน เกิดความคลาดเคลื่อนได้ง่าย และต้องล้างข้อมูลด้วยตนเอง ความยุ่งยากนี้คือเหตุผลที่ Helm ถือกำเนิดขึ้น ✅

คำถามที่พบบ่อย

บทเรียน “ปัญหาของ kubectl apply แบบดิบ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ปัญหาของ kubectl apply แบบดิบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ปัญหาของ kubectl apply แบบดิบ”

เหตุใดการจัดการไฟล์ YAML หลายสิบไฟล์ด้วยตนเองจึงไม่เหมาะเมื่อระบบขยายใหญ่ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ปัญหาของ kubectl apply แบบดิบ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. ปัญหาของ kubectl apply แบบดิบ
  2. Helm ในฐานะ apt/yum สำหรับ Kubernetes
  3. ทำความเข้าใจ Chart, Release และ Repository อย่างรวดเร็ว
  4. Helm 3 เทียบกับ Helm 2: ไม่มี Tiller อีกต่อไป
← กลับไปที่ DevOps Bootcamp