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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน
- ข้อมูลเมตาของ Release ผ่าน .Release
- ออบเจ็กต์ Chart และ Capabilities
- Files, Template และบริบทหลัก