การประกาศประเภท Library Chart
การกำหนด type เป็น library และข้อจำกัดที่เกิดขึ้น
การประกาศประเภท Library Chart เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ชาร์ตสองประเภท
ชาร์ต Helm ทุกชาร์ตจะประกาศ type ไว้ใน Chart.yaml ค่าเริ่มต้นคือ application แต่ยังมีประเภทที่สองซึ่งมีไว้เพื่อแบ่งปันตรรกะของเทมเพลตโดยเฉพาะ
# Chart.yaml
apiVersion: v2
name: my-app
type: applicationพบกับชาร์ตไลบรารี
ตั้งค่า type: library แล้วชาร์ตจะไม่ใช่สิ่งที่คุณติดตั้งอีกต่อไป แต่จะกลายเป็นชุดเครื่องมือของเทมเพลตที่ตั้งชื่อไว้ให้ชาร์ตอื่นนำไปใช้ซ้ำ
# Chart.yaml
apiVersion: v2
name: common
version: 0.1.0
type: libraryชาร์ตไลบรารีไม่เรนเดอร์สิ่งใด
ชาร์ตไลบรารีจะไม่สร้างออบเจ็กต์ Kubernetes ด้วยตัวเอง แต่จะ กำหนด เทมเพลตที่ชาร์ตผู้ใช้นำไปเรียกใช้ขณะเรนเดอร์เท่านั้น
คุณไม่สามารถติดตั้งชาร์ตไลบรารีได้
การเรียกใช้ helm install กับชาร์ตไลบรารีจะล้มเหลว เนื่องจากไม่มีสิ่งใดให้ปรับใช้ ดังนั้น Helm จึงปฏิเสธคำสั่งนี้ตามการออกแบบ
helm install c ./common
# Error: library charts are not installableไม่มีผลลัพธ์จากเทมเพลตระดับบนสุด
ไฟล์ในโฟลเดอร์ templates ของชาร์ตไลบรารีจะไม่ถูกเรนเดอร์เป็นแม니เฟสต์ ไฟล์เหล่านั้นต้องกำหนดส่วนย่อยเท่านั้น และห้ามส่งออก YAML โดยตรง
ธรรมเนียมการใช้ขีดล่าง
Helm จะข้ามไฟล์ใน templates ที่ขึ้นต้นด้วย ขีดล่าง ไฟล์เทมเพลตของไลบรารีจึงใช้ชื่ออย่าง _deployment.tpl เพื่อไม่ให้ถูกเรนเดอร์
common/
Chart.yaml
templates/
_deployment.tplต้องใช้ apiVersion v2
ชาร์ตไลบรารีมีอยู่ได้เฉพาะภายใต้ apiVersion: v2 เท่านั้น ชาร์ต v1 ในยุค Helm 2 ไม่มีแนวคิดเรื่องประเภทไลบรารีเลย
# Chart.yaml
apiVersion: v2
type: libraryกำหนดเวอร์ชันเหมือนชาร์ตทั่วไป
ไลบรารียังคงต้องมีฟิลด์ version เพื่อให้ผู้ใช้กำหนดเวอร์ชันที่ต้องการได้ ควรถือว่าไลบรารีเป็นอาร์ติแฟกต์ของรีลีสจริง ไม่ใช่เพียงโฟลเดอร์ที่ไม่มีการจัดการ
# Chart.yaml
name: common
version: 1.2.0
type: libraryเหตุใดจึงควรใช้ประเภทไลบรารี
แทนที่จะคัดลอก YAML ของ Deployment เดียวกันไปไว้ในชาร์ตสิบรายการ คุณสามารถเขียนไว้ ครั้งเดียว ในไลบรารี แล้วให้ทุกชาร์ตดึงไปใช้
Bitnami Common คือตัวอย่างคลาสสิก
ชาร์ต bitnami/common ที่ใช้กันอย่างแพร่หลายเป็นไลบรารี ชาร์ตหลายร้อยรายการพึ่งพาชาร์ตนี้สำหรับป้ายกำกับ ชื่อ และตัวช่วยเกี่ยวกับอิมเมจที่ใช้ร่วมกัน
แอปพลิเคชันเทียบกับไลบรารี
ชาร์ต application ใช้ปรับใช้เวิร์กโหลด ส่วนชาร์ต library มีไว้จัดเตรียมเทมเพลตเท่านั้น ฟิลด์ type เพียงฟิลด์เดียวจะกำหนดว่า Helm ถือว่าชาร์ตนั้นเป็นประเภทใด
type: application # installs resources
type: library # shares templatesตรวจสอบอย่างรวดเร็ว
คุณตั้งค่า type: library ใน Chart.yaml แล้ว เมื่อเรียกใช้ helm install กับชาร์ตนี้จะเกิดอะไรขึ้น
สรุป: ประเภทชาร์ตไลบรารี
ชาร์ต type: library จะไม่เรนเดอร์สิ่งใดและไม่สามารถติดตั้งได้ ชาร์ตนี้มีไว้เพื่อจัดแพ็กเกจเทมเพลตที่ตั้งชื่อ ซึ่งชาร์ตอื่นนำไปใช้ซ้ำเท่านั้น 📦
คำถามที่พบบ่อย
บทเรียน “การประกาศประเภท Library Chart” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การประกาศประเภท Library Chart” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การประกาศประเภท Library Chart”
การกำหนด type เป็น library และข้อจำกัดที่เกิดขึ้น คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การประกาศประเภท Library Chart” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การประกาศประเภท Library Chart
- การส่งออก Named Templates ที่นำกลับมาใช้ใหม่ได้
- การใช้ Library เป็น Dependency
- การแทนที่ค่าเริ่มต้นของ Library ภายในเครื่อง