ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน
อ่านการกำหนดค่าของผู้ใช้จากส่วนลึกในโครงสร้าง
ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ทำความรู้จักออบเจ็กต์ Values
ภายในเทมเพลต .Values เก็บการตั้งค่าทั้งหมดจาก values.yaml ของชาร์ต รวมถึงค่าที่คุณส่งมาแทนที่ด้วย ออบเจ็กต์นี้คือโครงสร้างการกำหนดค่าของคุณ
อ่านคีย์ระดับบนสุด
คีย์ระดับบนสุดอย่าง replicaCount จะกลายเป็น .Values.replicaCount เส้นทางที่คั่นด้วยจุดจะสะท้อนโครงสร้าง YAML ได้ตรงกันทุกระดับ 🌳
# values.yaml
replicaCount: 3
# template
replicas: {{ .Values.replicaCount }}เจาะเข้าไปในแมปที่ซ้อนกัน
เมื่อค่าซ้อนกันเป็นลำดับ คุณจะเชื่อมจุดต่อกัน คีย์ tag ในแมป image เข้าถึงได้ด้วย .Values.image.tag โดยมีหนึ่งส่วนต่อหนึ่งระดับ
# values.yaml
image:
repository: nginx
tag: "1.27"
# template
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}คีย์แยกแยะตัวพิมพ์เล็กใหญ่
แต่ละส่วนของเส้นทางต้องตรงกับอักขระในคีย์ YAML ทุกตัว .Values.Image ไม่เหมือนกับ .Values.image และจะเรนเดอร์ออกมาเป็นค่าว่าง
คีย์ที่ไม่มีอยู่จะแสดงเป็นค่าว่าง
โดยค่าเริ่มต้น การขอค่าที่ไม่มีอยู่จะไม่ถือเป็นข้อผิดพลาด Helm จะไม่เรนเดอร์อะไรออกมา ซึ่งอาจทำให้ได้ YAML ที่ไม่ถูกต้องโดยไม่รู้ตัว
คีย์ที่มีขีดกลางต้องใช้ index
ไวยากรณ์แบบจุดใช้ไม่ได้กับคีย์ที่มีขีดกลาง ให้เข้าถึงคีย์เหล่านั้นด้วยฟังก์ชัน index และส่งคีย์เป็นสตริงที่มีเครื่องหมายคำพูดแทน
# values.yaml
service-port: 8080
# template
port: {{ index .Values "service-port" }}ค่าเริ่มต้นมาจากที่ใด
ผู้สร้างชาร์ตจะเตรียมค่าเริ่มต้นที่เหมาะสมไว้ใน values.yaml คีย์ทุกตัวในไฟล์นั้นจะพร้อมใช้งานภายใต้ .Values เว้นแต่ผู้ใช้จะแทนที่ค่า
ค่าแทนที่เข้าสู่ .Values ได้อย่างไร
แฟล็ก --set หรือไฟล์ -f ของผู้ใช้จะถูกผสานทับค่าเริ่มต้นก่อนการเรนเดอร์ เมื่อถึงเวลาประมวลผลเทมเพลต .Values จะเป็นโครงสร้างสุดท้ายที่ผสานแล้ว
helm install web ./mychart --set replicaCount=5รายการก็อยู่ภายใต้ .Values เช่นกัน
รายการ YAML จะกลายเป็นสไลซ์ภายใต้ .Values คุณใช้ range วนดูรายการนั้นเพื่อเรนเดอร์รายการย่อยที่ซ้ำกัน แทนการอ่านด้วยเส้นทางจุดเพียงเส้นทางเดียว 🔁
# values.yaml
ports:
- 80
- 443ใส่เครื่องหมายคำพูดให้ค่าอย่างปลอดภัย
ตัวเลขและค่าบูลีนจะเรนเดอร์แบบดิบ ซึ่งอาจทำให้ YAML เสียหาย ครอบสตริงจากผู้ใช้ด้วยฟังก์ชัน quote เพื่อให้ยังคงเป็นข้อความที่ถูกต้อง
tag: {{ .Values.image.tag | quote }}ตรวจดูโครงสร้างก่อนใช้งาน
เรียกใช้ helm show values กับชาร์ตเพื่อแสดงโครงสร้างค่าทั้งหมด ผลลัพธ์นั้นคือรูปร่างที่แน่นอนซึ่งคุณจะเข้าถึงด้วย .Values
helm show values ./mychartตรวจสอบอย่างรวดเร็ว
คุณต้องการคีย์ค่าชื่อ service-port ซึ่งมีขีดกลาง
สรุป: โครงสร้าง Values
คุณได้เรียนรู้ว่า .Values คือโครงสร้างการกำหนดค่าที่ผสานแล้ว เข้าถึงด้วยเส้นทางที่คั่นด้วยจุดและแยกแยะตัวพิมพ์เล็กใหญ่ โดยใช้ index สำหรับคีย์ที่เข้าถึงได้ยาก ตรวจดูโครงสร้างนี้ได้ด้วย helm show values
คำถามที่พบบ่อย
บทเรียน “ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน”
อ่านการกำหนดค่าของผู้ใช้จากส่วนลึกในโครงสร้าง คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ออบเจ็กต์ Values และการเข้าถึงข้อมูลซ้อนกัน
- ข้อมูลเมตาของ Release ผ่าน .Release
- ออบเจ็กต์ Chart และ Capabilities
- Files, Template และบริบทหลัก