0Pricing
Helm Academy · บทเรียน

การตรึงเวอร์ชันและหลีกเลี่ยง latest

อิมเมจและเวอร์ชัน Dependency ที่สร้างซ้ำได้เหมือนเดิม

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

ความสามารถในการทำซ้ำให้ผลลัพธ์ที่ดีกว่า

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

ปัญหาของ latest

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

ตรึงแท็กอิมเมจ

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

image:
  repository: nginx
  tag: "1.27.4"

ไดเจสต์ยิ่งแน่นอนกว่า

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

image: nginx@sha256:abc123...

กำหนด pullPolicy อย่างเหมาะสม

เมื่อใช้แท็กที่ตรึงไว้ ให้ใช้ IfNotPresent เพื่อให้โหนดนำอิมเมจที่แคชไว้อยู่แล้วกลับมาใช้ หลีกเลี่ยง Always ซึ่งจะดึงอิมเมจใหม่ทุกครั้งที่เริ่มต้นและอาจทำให้เกิดผลลัพธ์ที่ไม่คาดคิด

pullPolicy: IfNotPresent

ติดตาม appVersion และ version

ใน Chart.yaml ให้เพิ่ม version เมื่อมีการเปลี่ยนแปลงชาร์ต และเพิ่ม appVersion เมื่อมีการเปลี่ยนแปลงแอป การรักษาค่าเหล่านี้ให้ตรงตามความเป็นจริงช่วยให้การอัปเกรดและประวัติอ่านได้ง่าย

version: 1.4.0
appVersion: "1.27.4"

ตรึงเวอร์ชันของการพึ่งพา

ระบุการพึ่งพาแต่ละรายการใน Chart.yaml ด้วยช่วงเวอร์ชันที่เฉพาะเจาะจง ไม่ใช่สัญลักษณ์แทนทั้งหมด เพื่อไม่ให้ชาร์ตย่อยอัปเกรดตัวเองโดยไม่คาดคิด

dependencies:
  - name: postgresql
    version: "15.5.38"
    repository: https://charts.bitnami.com/bitnami

ล็อกด้วย Chart.lock

การเรียกใช้ helm dependency update จะเขียน Chart.lock ซึ่งบันทึกเวอร์ชันที่แก้ไขและเลือกใช้จริงไว้ ให้คอมมิตไฟล์นี้เพื่อให้เพื่อนร่วมทีมสร้างโครงสร้างการพึ่งพาเดียวกัน

helm dependency update

ระวังช่วงเวอร์ชันที่เลื่อนไหล

ช่วงอย่าง ^15.0.0 อนุญาตให้เวอร์ชันย่อยเลื่อนไปข้างหน้าได้ เรื่องนี้เหมาะกับไลบรารีที่คุณไว้วางใจ แต่ควรตรึงช่วงให้แน่นเมื่อเสถียรภาพสำคัญที่สุด

ทำให้การเพิ่มเวอร์ชันเป็นอัตโนมัติ

ให้เครื่องมืออย่าง Renovate หรือ Dependabot เปิดคำขอรวมการเปลี่ยนแปลงสำหรับการอัปเดตเวอร์ชัน คุณยังคงตรึงเวอร์ชันไว้ได้โดยไม่ล้าหลังแพตช์จนเป็นอันตราย 🔄

ตรวจสอบสิ่งที่จะทำงาน

สร้างผลลัพธ์ของชาร์ตด้วย helm template แล้วค้นหาในผลลัพธ์เพื่อยืนยันว่าไม่มีอิมเมจใดแก้ค่าไปเป็น latest ก่อนส่งมอบ

helm template ./mychart | grep image:

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

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

ทบทวน

คุณได้เรียนรู้การตรึงแท็กอิมเมจหรือไดเจสต์ การล็อกการพึ่งพาด้วย Chart.lock และการหลีกเลี่ยง latest เวอร์ชันที่ตรึงไว้ทำให้การนำไปใช้งานทุกครั้งทำซ้ำได้ ✅

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

บทเรียน “การตรึงเวอร์ชันและหลีกเลี่ยง latest” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การตรึงเวอร์ชันและหลีกเลี่ยง latest”

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

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

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

บทเรียน “การตรึงเวอร์ชันและหลีกเลี่ยง latest” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ป้ายกำกับมาตรฐานและหลักเกณฑ์การตั้งชื่อ
  2. ค่าเริ่มต้นที่เหมาะสมและมีเอกสารกำกับ
  3. การเสริมความปลอดภัยให้ Pod ด้วย securityContext
  4. การตรึงเวอร์ชันและหลีกเลี่ยง latest
← กลับไปที่ Helm Academy