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

ออบเจ็กต์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

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