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

ทำความเข้าใจ Kubernetes Operators

ค้นพบว่า Operators ขยายความสามารถของ Kubernetes เพื่อทำให้การจัดการวงจรชีวิตแอปพลิเคชันที่ซับซ้อนเป็นอัตโนมัติได้อย่างไร

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

ทำความรู้จัก Kubernetes Operators

Kubernetes Operators เป็นส่วนขยายที่ทรงพลัง ซึ่งช่วยให้คุณทำให้การจัดการแอปพลิเคชันที่ซับซ้อนเป็นอัตโนมัติ

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

ทำให้แอปพลิเคชันที่ซับซ้อนเป็นอัตโนมัติ

แม้ Kubernetes จะโดดเด่นด้านการจัดการแอปพลิเคชันไร้สถานะด้วย Deployments แต่แอปพลิเคชันที่มีสถานะ เช่น ฐานข้อมูล มีความต้องการเฉพาะตัว:

  • การตั้งค่า: การกำหนดค่าเริ่มต้นและการเตรียมข้อมูล
  • การปรับขนาด: การเพิ่มหรือลดแบบจำลองอย่างปลอดภัย
  • การสำรองและกู้คืน: สำคัญต่อความถูกต้องสมบูรณ์ของข้อมูล
  • การอัปเกรด: การอัปเดตแบบทยอยโดยไม่สูญเสียข้อมูล

Operators ได้รับการออกแบบมาเพื่อจัดการ "การดำเนินงานวันที่สอง" เหล่านี้โดยอัตโนมัติ

ขยาย Kubernetes API

Operators เพิ่มชนิดออบเจ็กต์ใหม่ให้กับ Kubernetes ซึ่งเรียกว่า Custom Resources (CRs) ออบเจ็กต์เหล่านี้คล้ายกับออบเจ็กต์ Kubernetes ในตัว เช่น พ็อดและ Deployments แต่เจาะจงสำหรับแอปพลิเคชันของคุณ

ตัวอย่างเช่น Operator ของฐานข้อมูลอาจเพิ่มรีซอร์สแบบกำหนดเอง PostgreSQL หรือ MySQL

กำหนดออบเจ็กต์ใหม่ (CRDs)

ก่อนสร้าง Custom Resource คุณต้องกำหนดโครงสร้างของรีซอร์สโดยใช้ Custom Resource Definition (CRD) ก่อน โดย CRD จะบอก Kubernetes ว่าออบเจ็กต์ใหม่ของคุณมีฟิลด์ใดบ้าง

แนวคิดนี้คล้ายกับการกำหนดพิมพ์เขียวสำหรับออบเจ็กต์ที่กำหนดเอง

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: myapps.example.com
spec:
  group: example.com
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                message:
                  type: string
                  description: A message to display
  scope: Namespaced
  names:
    plural: myapps
    singular: myapp
    kind: MyApp
    shortNames:
      - ma

บทบาทของ Operator

Operator คือคอนโทรลเลอร์เฉพาะทางที่ขยายระนาบควบคุมของ Kubernetes โดยจะเฝ้าดูการเปลี่ยนแปลงของ Custom Resources แล้วดำเนินการที่กำหนดไว้

Operator เปลี่ยนความรู้ด้านการปฏิบัติงานของมนุษย์ให้เป็นซอฟต์แวร์

Operators ทำงานอย่างไร: การปรับให้สอดคล้อง

หัวใจของ Operator คือ "วงจรการปรับให้สอดคล้อง" วงจรนี้จะทำสิ่งต่อไปนี้อย่างต่อเนื่อง:

  • สังเกต: ตรวจสอบสถานะปัจจุบันของ Custom Resources และออบเจ็กต์ Kubernetes ที่เกี่ยวข้อง
  • เปรียบเทียบ: เปรียบเทียบสถานะที่สังเกตได้กับสถานะที่ต้องการ ซึ่งกำหนดไว้ใน CR
  • ดำเนินการ: ดำเนินขั้นตอนที่จำเป็น เช่น สร้างพ็อด บริการ และ ConfigMaps เพื่อทำให้สถานะที่สังเกตได้ตรงกับสถานะที่ต้องการ

Operator ของฐานข้อมูลในการใช้งานจริง

ลองนึกภาพ PostgreSQL Operator เมื่อคุณสร้างรีซอร์สแบบกำหนดเอง PostgreSQL แล้ว Operator จะ:

  • จัดเตรียมคลัสเตอร์ PostgreSQL (พ็อดและ Persistent Volumes)
  • กำหนดค่าเครือข่าย (บริการ)
  • จัดการการสำรองข้อมูล การอัปเกรด และการสลับไปใช้ระบบสำรองโดยอัตโนมัติ

คุณเพียงประกาศว่า "ฉันต้องการฐานข้อมูล PostgreSQL" แล้ว Operator จะดำเนินการให้เกิดขึ้น

apiVersion: example.com/v1
kind: PostgreSQL
metadata:
  name: my-db
spec:
  version: "14"
  replicas: 3
  storage: 10Gi
  backupSchedule: "0 0 * * *"

เริ่มใช้งานโอเปอเรเตอร์

หากต้องการใช้โอเปอเรเตอร์ คุณต้องนำโอเปอเรเตอร์ไปติดตั้งในคลัสเตอร์ Kubernetes ก่อน โดยทั่วไปจะต้องนำ Deployment, Service Account และกฎ RBAC ของโอเปอเรเตอร์ไปใช้

เมื่อติดตั้งแล้ว โอเปอเรเตอร์จะเริ่มเฝ้าดูทรัพยากรแบบกำหนดเองที่เกี่ยวข้องกับโอเปอเรเตอร์นั้น

# This is a conceptual command.
# Actual operator deployment varies.
kubectl apply -f https://operatorhub.io/install/example-operator.yaml

เหตุใดจึงควรใช้โอเปอเรเตอร์

โอเปอเรเตอร์มีข้อดีอย่างมากในการจัดการแอปพลิเคชันบน Kubernetes:

  • การทำงานอัตโนมัติ: ทำให้งานปฏิบัติการที่ซับซ้อนเป็นอัตโนมัติ
  • ความน่าเชื่อถือ: ลดข้อผิดพลาดจากมนุษย์และทำให้การติดตั้งมีความสม่ำเสมอ
  • ความสามารถในการขยาย: จัดการการเพิ่มลดขนาดและการกู้คืนได้โดยอัตโนมัติ
  • ความเชี่ยวชาญเฉพาะด้าน: รวบรวมความรู้เฉพาะสำหรับแอปพลิเคชันไว้ในระบบ

โอเปอเรเตอร์ช่วยให้การเรียกใช้ซอฟต์แวร์ที่ซับซ้อนทำได้ง่ายขึ้น

ตรวจสอบความรู้เรื่องโอเปอเรเตอร์

มาทดสอบความเข้าใจเกี่ยวกับโอเปอเรเตอร์ของ Kubernetes กัน

โอเปอเรเตอร์: ระบบอัตโนมัติอัจฉริยะ

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

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

โอเปอเรเตอร์ทำให้การปฏิบัติงานในระยะ "วันที่ 2" ที่ซับซ้อนสำหรับแอปพลิเคชันแบบมีสถานะและแอปพลิเคชันที่ซับซ้อนเป็นอัตโนมัติ จึงช่วยให้จัดการแอปพลิเคชันเหล่านี้บน Kubernetes ได้ง่ายขึ้น

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

บทเรียน “ทำความเข้าใจ Kubernetes Operators” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ทำความเข้าใจ Kubernetes Operators”

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

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

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

บทเรียน “ทำความเข้าใจ Kubernetes Operators” ใช้เวลานานแค่ไหน

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

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

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

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

  1. StatefulSets สำหรับแอปแบบมีสถานะ
  2. DaemonSets สำหรับงานเฉพาะโหนด
  3. ทำความเข้าใจ Kubernetes Operators
  4. คำจำกัดความทรัพยากรแบบกำหนดเอง (CRDs)
← กลับไปที่ DevOps Bootcamp