เทมเพลต Deployment ขั้นต่ำ
เปลี่ยน Manifest แบบคงที่ให้เป็นเทมเพลต Chart
เทมเพลต Deployment ขั้นต่ำ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เทมเพลต Deployment ขั้นต่ำ”
เปลี่ยน Manifest แบบคงที่ให้เป็นเทมเพลต Chart คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เทมเพลต Deployment ขั้นต่ำ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เทมเพลต Deployment ขั้นต่ำ
- กำหนดพารามิเตอร์ให้ Image ของคอนเทนเนอร์
- เพิ่มเทมเพลต Service
- ติดตั้งและปรับปรุง Chart ของคุณ