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

เพิ่มเทมเพลต Service

เปิดให้เข้าถึงเวิร์กโหลดผ่าน Service แบบใช้เทมเพลต

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

เหตุผลที่ต้องมีบริการ

พ็อดได้รับไอพีใหม่อยู่เสมอ บริการจะมอบที่อยู่ที่คงที่ให้เวิร์กโหลด เพื่อให้สิ่งอื่นเข้าถึงได้อย่างน่าเชื่อถือ

ไฟล์แม่แบบไฟล์ที่สอง

เพิ่ม templates/service.yaml ไว้ข้างแม่แบบดีพลอยเมนต์ Helm จะเรนเดอร์ทุกไฟล์ใน templates ดังนั้นทั้งสองไฟล์จะถูกส่งไปพร้อมกัน

โครงร่างบริการ

บริการเริ่มต้นเหมือน manifest ทุกชนิด ได้แก่ apiVersion, ชนิด: บริการ และข้อมูลเมตา ชื่อรุ่นที่ติดตั้งทำให้บริการผูกกับการติดตั้งครั้งนี้

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}

ตัวเลือกเชื่อมโยงพ็อด

บริการค้นหาพ็อดผ่านตัวเลือก ตัวเลือกต้องตรงกับป้ายกำกับบนพ็อดของดีพลอยเมนต์ มิฉะนั้นจะไม่มีทราฟฟิกไหลผ่าน

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

เลือกประเภทบริการ

ทำให้ประเภทเป็นพารามิเตอร์ เพื่อให้ผู้ใช้เลือก ClusterIP, NodePort หรือ LoadBalancer ได้ ClusterIP เป็นค่าเริ่มต้นที่ปลอดภัยภายในคลัสเตอร์

type: {{ .Values.service.type }}

กำหนดประเภทเป็นค่าเริ่มต้นใน values

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

# values.yaml
service:
  type: ClusterIP
  port: 80

กำหนดพอร์ต

พอร์ตคือพอร์ตที่ไคลเอ็นต์ใช้เชื่อมต่อกับบริการ เชื่อมพอร์ตนี้เข้ากับค่า เพื่อให้การติดตั้งแต่ละครั้งเปิดเผยพอร์ตที่แตกต่างกันได้

ports:
  - port: {{ .Values.service.port }}

ชี้ไปยังพอร์ตคอนเทนเนอร์

targetPortคือพอร์ตที่คอนเทนเนอร์รับฟังอยู่ nginx ให้บริการที่พอร์ต 80 ดังนั้นทราฟฟิกบนบริการจะถูกส่งต่อไปยังพอร์ตนี้

ports:
  - port: {{ .Values.service.port }}
    targetPort: 80

ประกาศพอร์ตคอนเทนเนอร์

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

ports:
  - containerPort: 80

ข้อกำหนดบริการฉบับสมบูรณ์

นำทุกอย่างมารวมกันเป็นบริการแบบใช้แม่แบบ ซึ่งตัวเลือกตรงกับพ็อด และพอร์ตกับประเภทมาจากค่า

spec:
  type: {{ .Values.service.type }}
  selector:
    app: {{ .Release.Name }}
  ports:
    - port: {{ .Values.service.port }}
      targetPort: 80

เรนเดอร์แม่แบบทั้งสอง

เรียกใช้ helm template และยืนยันว่า Helm สร้างเอกสารสองชุดคั่นด้วย --- ได้แก่ดีพลอยเมนต์ของคุณและบริการใหม่

helm template web .

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

บริการไม่ส่งทราฟฟิกไปยังพ็อดของคุณ สาเหตุที่เป็นไปได้มากที่สุดคืออะไร

สรุป: เปิดให้แอปเข้าถึงได้

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

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

บทเรียน “เพิ่มเทมเพลต Service” ฟรีหรือไม่

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

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

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

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

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

บทเรียน “เพิ่มเทมเพลต Service” ใช้เวลานานแค่ไหน

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

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

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

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

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