บล็อกเงื่อนไขด้วย if และ else
ประมวลผลทรัพยากรเฉพาะเมื่อมีการกำหนดค่า
บล็อกเงื่อนไขด้วย if และ else เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
แสดงผลเฉพาะเมื่อจำเป็น
บางครั้งทรัพยากรควรปรากฏขึ้นเฉพาะเมื่อผู้ใช้ร้องขอ Helm ให้คุณครอบ YAML ไว้ใน เงื่อนไข เพื่อให้แสดงผลเมื่อจำเป็น
คำสั่ง if
บล็อก if เริ่มต้นด้วย {{ if SOMETHING }} และปิดท้ายด้วย {{ end }} ทุกอย่างระหว่างนั้นจะแสดงผลก็ต่อเมื่อเงื่อนไขเป็นจริง
{{ if .Values.ingress.enabled }}
# ingress yaml here
{{ end }}ขับเคลื่อนด้วยค่า
เงื่อนไขมักเป็นค่าที่ผู้ใช้กำหนด ให้เปลี่ยน ingress.enabled เป็น true ใน values.yaml แล้วไฟล์กำหนดทรัพยากรที่ครอบไว้จะปรากฏขึ้นทันที
ingress:
enabled: trueปิดท้ายด้วย end เสมอ
ทุก if ต้องจับคู่กับ {{ end }} หากลืมปิด Helm จะส่งข้อผิดพลาดเกี่ยวกับบล็อกที่ไม่ปิดเมื่อพยายามแสดงผล chart
การเพิ่ม else
ต้องการทางเลือกสำรองใช่ไหม ให้เพิ่มแขนง {{ else }} Helm จะแสดงผลบล็อกแรกเมื่อเงื่อนไขเป็นจริง มิฉะนั้นจะแสดงผลบล็อก else แทน
{{ if .Values.tls }}
protocol: HTTPS
{{ else }}
protocol: HTTP
{{ end }}เชื่อมเงื่อนไขด้วย else if
สำหรับหลายกรณี ให้เชื่อมเงื่อนไขด้วย {{ else if }} Helm จะตรวจสอบตามลำดับและแสดงผลแขนงแรกที่มีเงื่อนไขเป็นจริง
{{ if eq .Values.tier "gold" }}
replicas: 5
{{ else if eq .Values.tier "silver" }}
replicas: 3
{{ else }}
replicas: 1
{{ end }}อะไรถือว่าเป็นจริง
if จะเป็นจริงตราบใดที่ค่าไม่ใช่ ค่าว่าง โดย false, ศูนย์, สตริงว่าง หรือรายการว่าง ล้วนถูกอ่านเป็นเท็จในเงื่อนไข
ป้องกันฟิลด์ที่เป็นตัวเลือก
รูปแบบที่พบบ่อยคือครอบฟิลด์ที่เป็นตัวเลือกเพียงฟิลด์เดียว ไม่ใช่ทรัพยากรทั้งรายการ ในที่นี้คำอธิบายประกอบจะแสดงผลก็ต่อเมื่อผู้ใช้ระบุค่าให้ฟิลด์นั้น
{{ if .Values.email }}
contact: {{ .Values.email }}
{{ end }}ระวังบรรทัดว่าง
บล็อก if จะทิ้งบรรทัดว่างไว้ในตำแหน่งที่คำสั่งเคยอยู่ ช่องว่างเหล่านี้อาจทำให้ YAML ใช้งานไม่ได้ ดังนั้นอีกไม่นานคุณจะได้เรียนรู้วิธีตัดช่องว่างเหล่านี้ออก 🧹
ดูตัวอย่างแขนงต่าง ๆ
แสดงผลด้วยค่าที่แตกต่างกันและดูว่าแขนงใดถูกเลือก helm template ที่ใช้ร่วมกับ --set ช่วยให้คุณยืนยันแต่ละเงื่อนไขได้ก่อนนำไปติดตั้งจริง
helm template ./mychart --set ingress.enabled=trueกำหนดค่าเริ่มต้นให้แฟล็กที่หายไป
หากผู้ใช้ไม่เคยตั้งค่าแฟล็ก ค่านั้นจะถูกอ่านเป็นค่าว่างและ if จะยังคงเป็นเท็จ ด้วยเหตุนี้ chart จึงกำหนด ค่าเริ่มต้น ที่เหมาะสมไว้ให้ใน values.yaml
ingress:
enabled: falseตรวจสอบอย่างรวดเร็ว
คุณเขียน {{ if .Values.cache }} แต่ chart แสดงผลไม่สำเร็จ
สรุป
ตอนนี้คุณสามารถควบคุมการแสดงผล YAML ด้วย if เพิ่มแขนง else และ else if และจำการปิดท้ายด้วย {{ end }} ได้แล้ว การแสดงผลตามเงื่อนไขพร้อมใช้งานแล้ว! 🎯
คำถามที่พบบ่อย
บทเรียน “บล็อกเงื่อนไขด้วย if และ else” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บล็อกเงื่อนไขด้วย if และ else” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บล็อกเงื่อนไขด้วย if และ else”
ประมวลผลทรัพยากรเฉพาะเมื่อมีการกำหนดค่า คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “บล็อกเงื่อนไขด้วย if และ else” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บล็อกเงื่อนไขด้วย if และ else
- ค่าความจริงและตัวดำเนินการในเงื่อนไข
- วนซ้ำรายการและแผนที่ด้วย range
- กำหนด Scope ของบล็อกด้วย with