การเขียน Kubernetes Controller, Part 11 — ปิด Q1 ด้วยรีลีส v0.9.3

Chanwit Kaewkasi
1 min readMar 28, 2022

เหลืออีก 3 วันจะปิด Q1 แล้ว เลยมาสรุปสั้น ๆ สำหรับการเดินทางของ TF-controller ในไตรมาสแรก

วันนี้ปล่อยเวอร์ชัน v0.9.3 ซึ่งแก้ Bug สำคัญในการ Reconcile ตัว Runner Pod ไป เวอร์ชันนี้ stable ที่สุด มีฟีเจอร์ครบสุดตั้งแต่สร้างมา 3 เดือน

เราได้ 200 stars บน GitHub แล้ว ตอนนี้อยู่แถว ๆ 203

ตั้งแต่เริ่มโครงการ รีลีสไป 45 ครั้ง (ถ้านับ 90 วัน ก็เฉลี่ย 2 วันครั้ง) ใน Q2 คงไม่บ่อยเท่านี้เพราะระบบซับซ้อนขึ้น เทสยากขึ้น

เราได้สถาปัตยกรรมแบบ Controller/Runner ออกมา จริงๆ ก็เป็นสถาปัตยกรรม Client/Server ปกติทั่วไปที่วิ่งบน gRPC เพิ่มเติมคือ mTLS และ Certification Rotation ที่ได้โค้ดมาจากโครงการ Gatekeeper

เราอิมพลีเมนต์ฟีเจอร์ Multi-Tenancy เสร็จภายใน 2 เดือน เพราะเรียนรู้จาก Flux มาแล้วใช้สถาปัตยกรรม Controller/Runner เป็นฐาน

เราเคลียร์เป้าหมายของ Q1 ได้หมดที่ test coverage 68.2% ขาดไป 1.8% ถ้าจะวัดกันจริง ๆ ก็คงเกินนะแหละ เพราะไม่ได้วัดในส่วนของ E2E ไปอีกหลาย Test Case ตอนนี้ใช้ตัวเลขนี้ไปก่อนเพราะมองเห็นได้

ได้ทีมที่เจ๋งสำหรับลุยต่อไปใน Q2

ตอนนี้เริ่มเห็นการปรับใช้โปรเจ็คนี้แล้วใน public ส่วนใน Weaveworks โครงการนี้เข้าไปอยู่เป็น Component ของ Weave GitOps Enterprise เรียบร้อยแล้ว ดูได้จาก Press Release ที่นี่

ล่าสุดก็ได้ลองทำคลิปอันนี้เอง ด้วย OBS + Google Slides + Shotcut ยังต้องปรับอีกหลายจุด แต่ก็ได้ทักษะใหม่ ๆ มาเยอะมาก

--

--

Chanwit Kaewkasi

Creator Weave TF-controller, Kubernetes & GitOps for Terraform, SNR SE @weaveworks, Go nut since r57 (pre v1)