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

Files, Template และบริบทหลัก

เข้าถึงไฟล์ที่รวมไว้และ scope แบบจุด

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

บริบทหลัก: จุด

ที่ด้านบนสุดของเทมเพลต จุด . คือบริบทหลักที่เก็บออบเจ็กต์ในตัวทั้งหมด ได้แก่ .Values, .Release, .Chart และอื่น ๆ

จุดสามารถเปลี่ยนขอบเขตได้

บล็อกอย่าง with และ range จะผูกจุดใหม่กับค่าที่มีขอบเขตแคบลง ดังนั้น . จึงไม่ได้หมายถึงบริบทหลักเสมอไปภายในทุกบล็อก

เข้าถึงบริบทหลักด้วยดอลลาร์

ตัวแปร $ จะชี้ไปยังบริบทหลักเดิมเสมอ ภายใน range หรือ with ให้ใช้ $ เพื่อย้อนกลับไปเข้าถึง .Values หรือ .Release

{{ range .Values.ports }}
release: {{ $.Release.Name }}
{{ end }}

ออบเจ็กต์ Files

.Files ช่วยให้เทมเพลตอ่านไฟล์ที่ไม่ใช่เทมเพลตซึ่งรวมอยู่ในชาร์ตได้ เช่น ไฟล์การกำหนดค่าที่คุณต้องการใส่ไว้ใน ConfigMap 📄

อ่านไฟล์เป็นข้อความ

.Files.Get จะส่งคืนเนื้อหาของไฟล์เป็นสตริง ให้ส่งเส้นทางที่สัมพันธ์กับรากของชาร์ตเพื่อดึงไฟล์นั้นเข้าไปในแมนนิเฟสต์

data:
  app.conf: |
{{ .Files.Get "config/app.conf" | indent 4 }}

Files มีข้อจำกัด

.Files ไม่สามารถอ่านได้ทุกอย่าง: templates/ และ Chart.yaml จะถูกยกเว้น และรูปแบบใน .helmignore จะถูกข้ามระหว่างการจัดแพ็กเกจ

ค้นหาไฟล์หลายไฟล์ด้วยรูปแบบ

.Files.Glob จับคู่ไฟล์หลายไฟล์ตามรูปแบบ แล้วส่งคืนแมปที่คุณสามารถใช้ range วนดูเพื่อสร้างรายการใน ConfigMap หลายรายการพร้อมกัน

{{ range $path, $bytes := .Files.Glob "config/*" }}...{{ end }}

เข้ารหัสเนื้อหาไฟล์

ข้อมูลไบนารีหรือข้อมูลลับควรเข้ารหัสเป็น base64 เชื่อม .Files.Get กับ b64enc เพื่อฝังข้อมูลลงในรีซอร์ส Secret อย่างปลอดภัย

ca.crt: {{ .Files.Get "certs/ca.crt" | b64enc }}

ออบเจ็กต์ Template

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

# rendered from {{ .Template.Name }}

BasePath ชี้ไปยัง templates

.Template.BasePath ระบุเส้นทางไดเรกทอรี templates ของชาร์ตที่กำลังเรนเดอร์ และใช้คู่กับ .Template.Name เพื่อระบุตำแหน่งของไฟล์ปัจจุบัน

ส่งบริบทหลักเข้าไปในตัวช่วย

เทมเพลตที่ตั้งชื่อไว้จะเห็นเฉพาะบริบทที่คุณส่งให้ การส่ง $ หรือจุดของบริบทหลักจะทำให้ตัวช่วยยังเข้าถึง .Values และ .Release ได้

{{ include "mychart.labels" $ }}

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

ขณะนี้คุณอยู่ภายในลูปช่วง ซึ่งจุดถูกผูกใหม่ให้ชี้ไปยังสมาชิกหนึ่งรายการ

ทบทวน: ไฟล์และบริบทระดับราก

คุณได้เรียนรู้ว่าจุดคือบริบทระดับราก $ ใช้เข้าถึงบริบทนั้นได้เสมอ และ .Files กับ .Template ช่วยให้คุณฝังไฟล์ที่รวมอยู่ในแผนภูมิและค้นหาแม่แบบปัจจุบันได้

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

บทเรียน “Files, Template และบริบทหลัก” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “Files, Template และบริบทหลัก”

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

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

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

บทเรียน “Files, Template และบริบทหลัก” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน
  2. ข้อมูลเมตาของ Release ผ่าน .Release
  3. ออบเจ็กต์ Chart และ Capabilities
  4. Files, Template และบริบทหลัก
← กลับไปที่ Helm Academy