0Pricing
Helm Academy · บทเรียน

เทมเพลต Deployment ขั้นต่ำ

เปลี่ยน Manifest แบบคงที่ให้เป็นเทมเพลต Chart

เทมเพลต Deployment ขั้นต่ำ เป็นบทเรียน Helm Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Helm Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน

จากแมนนิเฟสต์ตายตัวสู่เทมเพลต

ชาร์ตเป็นเพียงโฟลเดอร์ของ เทมเพลต แต่ละเทมเพลตคือแมนนิเฟสต์ Kubernetes ที่มีตัวแทนซึ่ง Helm เติมให้ตอนติดตั้ง

เริ่มด้วยการปรับใช้แบบธรรมดา

ก่อนเพิ่มความสามารถใด ๆ ให้เขียนแมนนิเฟสต์ที่คุณคุ้นเคยก่อน นี่คือการปรับใช้แบบกำหนดค่าตายตัวที่รันพ็อด nginx หนึ่งตัว

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app

ใส่ไว้ใน templates

บันทึกไฟล์นั้นเป็น templates/deployment.yaml ภายในชาร์ต ทุกอย่างใน templates จะถูกเรนเดอร์และส่งไปยังคลัสเตอร์

ชื่อรีลีสเป็นค่าไดนามิก

การกำหนดชื่อแบบตายตัวเปราะบาง Helm เปิดเผยชื่อรีลีสผ่าน .Release.Name ทำให้การติดตั้งแต่ละครั้งมีตัวระบุที่ไม่ซ้ำกัน

metadata:
  name: {{ .Release.Name }}

ดึงค่าจาก values.yaml

การตั้งค่าที่ผู้ใช้อาจเปลี่ยนได้จะอยู่ใน values.yaml และอ่านผ่าน .Values ทำให้กำหนดจำนวนเรพลิกาได้แทนที่จะล็อกตายตัว

spec:
  replicas: {{ .Values.replicaCount }}

กำหนดค่าเริ่มต้นนั้น

เพื่อให้ .Values.replicaCount ประมวลผลได้ ให้กำหนดค่าเริ่มต้นใน values.yaml ผู้ใช้สามารถแทนที่ค่าได้ภายหลังโดยไม่ต้องแก้แม่แบบ

# values.yaml
replicaCount: 1

ตัวเลือกต้องตรงกับป้ายกำกับ

ตัวเลือก ของดีพลอยเมนต์ต้องตรงกับป้ายกำกับของแม่แบบพ็อดทุกประการ มิฉะนั้น Kubernetes จะปฏิเสธ ให้ใช้ป้ายกำกับชุดเดียวกันอย่างสอดคล้องกันทุกที่

selector:
  matchLabels:
    app: {{ .Release.Name }}

ส่วนแม่แบบพ็อด

ภายใน spec.template คุณจะอธิบายพ็อดจริง ได้แก่ ป้ายกำกับและคอนเทนเนอร์ของพ็อด นี่คือเวิร์กโหลดที่ Helm จะส่งไปยังคลัสเตอร์

template:
  metadata:
    labels:
      app: {{ .Release.Name }}
  spec:
    containers: []

เพิ่มคอนเทนเนอร์

คอนเทนเนอร์แต่ละตัวต้องมีชื่อและอิมเมจ ตอนนี้อิมเมจถูกกำหนดตายตัว คุณจะทำให้เป็นพารามิเตอร์ในบทเรียนถัดไป

containers:
  - name: app
    image: nginx:1.27

เรนเดอร์เพื่อตรวจสอบงาน

เรียกใช้ helm template . เพื่อดู YAML สุดท้ายที่ Helm สร้างขึ้นในเครื่อง โดยไม่เกี่ยวข้องกับคลัสเตอร์ อ่านผลลัพธ์ก่อนติดตั้ง

helm template my-release .

แม่แบบแบบง่ายทั้งชุด

เมื่อนำส่วนต่าง ๆ มารวมกัน จะได้แม่แบบดีพลอยเมนต์ขนาดเล็กแต่ใช้งานได้จริง โดยชื่อและป้ายกำกับขับเคลื่อนด้วยรุ่นที่ติดตั้ง ส่วนจำนวนแบบจำลองขับเคลื่อนด้วยค่า

spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}

ตรวจสอบอย่างรวดเร็ว

อ็อบเจ็กต์ในตัวใดให้ชื่อที่ไม่ซ้ำกันของรุ่นที่ติดตั้ง

สรุป: แม่แบบแรกของคุณ

คุณเปลี่ยนดีพลอยเมนต์แบบคงที่ให้เป็นแม่แบบแล้ว โดยใช้ .Release.Name เป็นข้อมูลระบุ และใช้ .Values สำหรับการตั้งค่า เรียกใช้ helm template เพื่อยืนยันผล 🎉

คำถามที่พบบ่อย

บทเรียน “เทมเพลต Deployment ขั้นต่ำ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เทมเพลต Deployment ขั้นต่ำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Helm Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Helm Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เทมเพลต Deployment ขั้นต่ำ”

เปลี่ยน Manifest แบบคงที่ให้เป็นเทมเพลต Chart คุณปฏิบัติ Helm Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Helm Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Helm Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “เทมเพลต Deployment ขั้นต่ำ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Helm Academy นี้ได้ไหม

ได้ บทเรียน Helm Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. เทมเพลต Deployment ขั้นต่ำ
  2. กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์
  3. เพิ่มเทมเพลต Service
  4. ติดตั้งและปรับปรุง Chart ของคุณ
← กลับไปที่ Helm Academy