KubeCon + CloudNativeCon Europe 2024 : LLM Kubernetes Controllers

Chonlawit
odds.team
Published in
2 min readMar 21, 2024

#ODDS #KubeConParis2024

ปฏิเสธไม่ได้เลยว่าทุกวันนี้ AI เข้ามามีบทบาทกับเรามากขึ้นอย่างเห็นได้ชัด และเพิ่มความสะดวกสบายให้เราเป็นอย่างมาก โดยในงาน KubeCon + CloudNativeCon ครั้งนี้ก็มีหลากหลายหัวข้อที่ LLM และ AI เข้ามามีบทบาทช่วยในการพัฒนามากขึ้น

หนึ่งในนั้นคือ LLM สำหรับ Kubernetes Controllers เราลองมายกตัวอย่างการสร้างไฟล์ yaml สำหรับ Cronjob กัน โดยปกติแล้วจะมีรูปแบบเป็นแบบนี้

apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "* * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox:1.28
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure

ซึ่งเราจะกำหนด Schedule และ Command ที่ต้องการให้ทำงานในรูปแบบของไฟล์ yaml ที่กำหนดไว้

การเข้ามาของ LLM และ AI จะทำให้การสร้าง Cronjob ง่ายขึ้น เพียงแค่ใช้ภาษาง่าย ๆ ในการสื่อสาร โดยในตัวอย่างของไฟล์ yaml ด้านล่างจะเป็นการทดลองใช้ LLM ที่พัฒนาขึ้น สร้าง Cronjob ที่สุ่มลบ pods ทุก ๆ 2 ชั่วโมง

apiVersion: llmnetes.dev/v1alpha1
kind: CommandExec
metadata:
name: command1
spec:
input: Deploy a Cronjob that will delete pod randomly in the cluster every 2 hours.

เมื่อเรา apply คำสั่งด้านบนและ describe ดู Cronjob จะเห็นดังนี้

จะเห็นว่า Cronjob ถูกสร้างขึ้นโดยมีข้อความที่เราระบุไว้ก่อนหน้าเช่น

  • schedule: “0 */2 * * *”
  • args: /bin/sh -c kubectl delete pod …

เพียงเท่านี้เราก็สามารถสร้าง Cronjob ได้ เพียงแค่เราคุยกับ Cluster ว่าเราต้องการอะไร 🎉

นอกจากนี้ในการนำเสนอยังเน้นเรื่องการ Upgrade Kubernetes Cluster ที่เป็นปัญหาอยู่เสมอ โดยการพูดกับ Cluster ว่า “สามารถ Upgrade เป็น v1.29 ได้อย่างปลอดภัยหรือไม่” และตัวอย่างการใช้งาน LLM ใน Cluster ที่น่าสนใจอีกมากมายสามารถดูรายละเอียดเกี่ยวกับการนำเสนอเพิ่มเติมได้ที่ CNCF

COOL KIDS CALL THIS ML-OPS 🎉

--

--