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

กำหนด Partial ด้วย define

ประกาศบล็อกเทมเพลตแบบมีชื่อที่นำกลับมาใช้ซ้ำได้

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

ทำไมต้องทำซ้ำ

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

รู้จักแอ็กชันประกาศ

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

{{- define "mychart.labels" -}}
app: my-app
{{- end -}}

โครงสร้างของบล็อกประกาศ

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

{{- define "NAME" -}}
  ...body...
{{- end -}}

หลักการตั้งชื่อมีความสำคัญ

ชื่อมีขอบเขตครอบคลุมทั้งแผนภูมิ ดังนั้นให้เติมชื่อแผนภูมิไว้ข้างหน้าเพื่อหลีกเลี่ยงชื่อซ้ำ รูปแบบจุดอย่าง chart.purpose คือรูปแบบตามธรรมเนียม

{{- define "mychart.selectorLabels" -}}
app.kubernetes.io/name: mychart
{{- end -}}

ส่วนย่อยอยู่ที่ใด

ตามธรรมเนียม บล็อกประกาศทั้งหมดของคุณจะอยู่ใน templates/_helpers.tpl ขีดล่างด้านหน้าบอกเฮลม์ว่าไฟล์นี้ไม่ปล่อยแมนนิเฟสต์ของตัวเอง

ไฟล์ที่ขึ้นต้นด้วยขีดล่างมีคุณสมบัติพิเศษ

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

การประกาศไม่สร้างผลลัพธ์

การประกาศส่วนย่อยเป็นเพียงการลงทะเบียนส่วนย่อยด้วยชื่อเท่านั้น จะไม่มีสิ่งใดปรากฏใน YAML ที่เรนเดอร์จนกว่าแม่แบบอื่นจะเรียกส่วนย่อยนั้นจริง ๆ

ส่วนย่อยใช้จุดได้

ภายในส่วนย่อย คุณสามารถอ่านบริบทอย่าง .Release.Name ได้ แต่ต้องมีผู้เรียกส่งขอบเขตนั้นเข้ามา เราจะกล่าวถึงการส่งขอบเขตในเร็ว ๆ นี้

{{- define "mychart.name" -}}
{{ .Release.Name }}
{{- end -}}

ส่วนย่อยหลายส่วนในไฟล์เดียว

คุณสามารถวางบล็อกประกาศไว้ใน _helpers.tpl ได้มากเท่าที่ต้องการ จัดกลุ่มตัวช่วยที่เกี่ยวข้องไว้ด้วยกันเพื่อให้สแกนไฟล์ได้ง่าย

{{- define "mychart.name" -}}
my-app
{{- end -}}
{{- define "mychart.fullname" -}}
my-app-prod
{{- end -}}

ส่วนย่อยช่วยสร้างแผนภูมิขนาดใหญ่

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

การประกาศเป็นเพียงครึ่งหนึ่งของงาน

การประกาศเพียงอย่างเดียวไม่มีผล ขั้นตอนถัดไปคือการแทรกสิ่งนั้นลงในแมนนิเฟสต์จริงด้วยการแทรกหรือแม่แบบ ซึ่งบทเรียนถัดไปจะอธิบาย

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

คุณเพิ่มบล็อกประกาศแล้ว แต่ผลลัพธ์ที่เรนเดอร์กลับว่างเปล่า เพราะเหตุใด

ทบทวน: การประกาศส่วนย่อย

คุณได้เรียนรู้การประกาศบล็อกที่นำกลับมาใช้ใหม่ได้ด้วยการประกาศ ตั้งชื่อบล็อกเป็น chart.purpose และจัดเก็บไว้ใน _helpers.tpl ต่อไปคุณจะได้เรียกใช้บล็อกเหล่านี้ 🧩

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

บทเรียน “กำหนด Partial ด้วย define” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กำหนด Partial ด้วย define”

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

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

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

บทเรียน “กำหนด Partial ด้วย define” ใช้เวลานานแค่ไหน

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

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

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

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

  1. กำหนด Partial ด้วย define
  2. แทรก Partial ด้วย template และ include
  3. ตัวช่วย Fullname และ Labels มาตรฐาน
  4. ส่ง Scope เข้า Named Template
← กลับไปที่ DevOps Bootcamp