กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์
เชื่อม Repository และแท็กของ Image เข้ากับค่า
กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์ เป็นบทเรียน Helm Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Helm Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุผลที่ต้องทำให้อิมเมจเป็นพารามิเตอร์
อิมเมจที่กำหนดตายตัวจะบังคับให้ผู้ใช้ทุกคนใช้เวอร์ชันเดียวกัน การเชื่อมอิมเมจเข้ากับค่าต่าง ๆ ทำให้ผู้ใช้เลือกที่เก็บและแท็กที่ต้องการได้
แยกที่เก็บกับแท็ก
ตามธรรมเนียม แผนภูมิจะเก็บอิมเมจเป็นสองฟิลด์ ได้แก่ที่เก็บและแท็ก การแยกทั้งสองส่วนทำให้การอัปเดตเวอร์ชันทำได้สะอาดขึ้น
# values.yaml
image:
repository: nginx
tag: "1.27"อ่านค่าที่ซ้อนกัน
เข้าถึงคีย์ที่ซ้อนกันโดยเชื่อมจุดต่อกัน ในที่นี้ .Values.image.repository จะไล่เข้าไปในแผนที่อิมเมจที่คุณเพิ่งกำหนด
image: {{ .Values.image.repository }}รวมที่เก็บกับแท็ก
การอ้างอิงอิมเมจประกอบด้วยที่เก็บ ตามด้วยเครื่องหมายโคลอน แล้วจึงเป็นแท็ก สร้างค่าดังกล่าวภายในแม่แบบ เพื่อให้บรรทัดที่เรนเดอร์ออกมาเป็นสตริงที่ถูกต้องเพียงค่าเดียว
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"ใส่เครื่องหมายคำพูดให้แท็กเสมอ
แท็กอย่าง 1.27 อาจถูก YAML อ่านเป็นตัวเลขได้ ให้ใส่เครื่องหมายคำพูดให้แท็กในค่า เพื่อให้ยังคงเป็นสตริงและไม่สูญเสียเลขศูนย์ท้ายค่า
tag: "1.27.0"กำหนดแท็กเริ่มต้นที่เหมาะสม
ฟังก์ชันค่าเริ่มต้นจะให้ค่าสำรองเมื่อค่าว่าง รูปแบบที่ใช้กันทั่วไปคือใช้ appVersion ของแผนภูมิเป็นแท็กเริ่มต้น
{{ .Values.image.tag | default .Chart.AppVersion }}เปิดให้ตั้งค่านโยบายการดึง
ให้ผู้ใช้ควบคุมเวลาที่ Kubernetes จะดึงอิมเมจใหม่อีกครั้งได้ด้วยการทำให้ imagePullPolicy เป็นพารามิเตอร์ด้วย IfNotPresent เป็นค่าเริ่มต้นที่ปลอดภัย
imagePullPolicy: {{ .Values.image.pullPolicy }}กำหนดนโยบายการดึงเป็นค่าเริ่มต้น
กำหนดค่าเริ่มต้นของนโยบายการดึงใน values.yaml เพื่อให้ติดตั้งได้โดยไม่ต้องแทนที่ค่าใด ผู้ใช้ยังเปลี่ยนค่าได้เมื่อต้องการ
image:
pullPolicy: IfNotPresentบล็อกคอนเทนเนอร์ฉบับเต็ม
ตอนนี้คอนเทนเนอร์ของคุณขับเคลื่อนด้วยข้อมูลทั้งหมดแล้ว ทั้งอิมเมจและนโยบายการดึงมาจาก .Values.image โดยไม่มีค่าที่เขียนตายตัวเหลืออยู่ในแม่แบบ
containers:
- name: app
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}แทนที่ค่าขณะติดตั้ง
ผู้ใช้ปรับค่าแบบซ้อนกันเพียงค่าเดียวได้ด้วย --set จุดในคีย์จะจับคู่กับต้นไม้ค่าของคุณโดยตรง โดยไม่ต้องแก้ไฟล์
helm install web . --set image.tag=1.28ยืนยันอิมเมจที่เรนเดอร์แล้ว
เรนเดอร์พร้อมค่าที่แทนที่เพื่อพิสูจน์ว่าการเชื่อมโยงทำงานตั้งแต่ต้นจนจบ ผลลัพธ์ควรแสดงแท็กที่คุณเลือกไว้ในบรรทัดอิมเมจ
helm template web . --set image.tag=1.28ตรวจสอบอย่างรวดเร็ว
คุณต้องการติดตั้งด้วยแท็กอิมเมจอื่นโดยไม่แก้ไฟล์ วิธีใดใช้ได้
สรุป: อิมเมจที่กำหนดค่าได้
คุณแยกอิมเมจเป็นที่เก็บและแท็ก เพิ่มนโยบายการดึง และให้ผู้ใช้แทนที่ค่าแต่ละส่วนด้วย --set ใส่เครื่องหมายคำพูดให้แท็กเพื่อความปลอดภัย
คำถามที่พบบ่อย
บทเรียน “กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Helm Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์”
เชื่อม Repository และแท็กของ Image เข้ากับค่า คุณปฏิบัติ Helm Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Helm Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Helm Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Helm Academy นี้ได้ไหม
ได้ บทเรียน Helm Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เทมเพลต Deployment ขั้นต่ำ
- กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์
- เพิ่มเทมเพลต Service
- ติดตั้งและปรับปรุง Chart ของคุณ