โครงการ @fluxcd ซึ่งเป็น #GitOps operator สำหรับ Kubernetes ตอนนี้ได้รับการขยับจาก Sandbox ขึ้นไปเป็นโครงการระดับ Incubation ของ CNCF (Cloud Native Foundation) แล้ว
มันสำคัญยังไง GitOpsแมน (คล้ายๆ ลงทุนแมน) จะเล่าให้ฟัง ...
ในโลกของ Kubernetes มีระบบจัดการ GitOps หลักๆ ที่ทำงานตาม GitOps Principles อยู่ 2 ตัว นั่นคือ FluxCD กับ ArgoCD
การเป็น GitOps operator หรือ GitOps engine ที่รันอยู่ภายใน K8s และใช้ pull model คือดึง YAMLs เข้าไป deploy ให้ใน K8s เป็นวิธีที่ได้รับการพิสูจน์ว่าปลอดภัยกว่าการใช้ CI/CD pipeline เพื่อ apply YAMLs เพราะ credentials ไม่ได้ถูกเอาออกมาใช้นอก cluster
ทั้ง FluxCD และ Argo ก็ใช้หลักการนี้
FluxCD สร้างมาก็พักนึงแล้ว ทีมพัฒนาก็ได้เรียนรู้ข้อจำกัด ข้อผิดพลาดในเชิงการออกแบบ ของทั้ง Flux v1 และ ArgoCD ทีมของ Flux เลยสร้าง operator ใหม่ขึ้นมาชุดนึง เรียกว่า GitOps Toolkit (GOTK)
GitOps Toolkit หรือ GOTK ประกอบไปด้วย operator หลายๆ ตัว เช่น Source Controller, Kustomization Controller และอื่นๆ ที่ทำงานร่วมกันแล้วได้ความสามารถในลักษณะเดียวกับ Flux v1
เมื่อเริ่มได้ฟีเจอร์ที่ครบถ้วนขึ้นเรื่อย ๆ ก็มีการคุยกันว่า Flux รุ่นใหม่สามารถสร้างขึ้นมาได้จากการใช้ GOTK components เหล่านี้
ทีมของ FluxCD เลยสร้าง Flux v2 ขึ้นมาบนชิ้นส่วนของ GOTK และพัฒนาความสามารถขึ้นมาเรื่อยๆ จน Flux v2 0.8 นั้นมีจำนวนฟีเจอร์เทียบเท่ารุ่นก่อนหน้า
ตอนนี้ Flux v2 กำลังอยู่ในช่วงแก้ bug เพื่อเพิ่มความเสถียรและรับ feedback จากผู้ใช้เพื่อปรับปรุงหรือเพิ่มเติมความสามารถที่ตกหล่นไป
ขณะที่พิมพ์อยู่ก็เป็นช่วงของ Flux v2 รุ่น 0.9 ซึ่งก็ได้ทดสอบกับ K8s หลายตัว เช่น EKS, AKS และ OpenShift (กับสองตัวหลังผมเป็นคนทดสอบเอง)
และเมื่อโครงการ FluxCD เติบโตมากขึ้น ก็ได้เวลาขยับจาก Sandbox โดย TOC ของ CNCF ได้ลงมติส่วนใหญ่ให้ปรับสถานะโครงการ FluxCD ไปเป็น Incubation ตามที่เห็นในประกาศของ CNCF นั่นแหละครับ
จุดเด่นของ Flux v2 คือความง่ายในการติดตั้ง, ความ powerful ในการวาง dependencies ระหว่างชุดของ YAMLs (ฟีเจอร์นี้สุดจริง), และการ apply YAMLs แบบ atomic

ในขณะที่จุดด้อยก็จะยังมีอยู่ในเรื่อง UI ซึ่งตอนนี้ก็มี sub-project ชื่อ webui มาเพื่อแก้ปัญหาเรื่องนี้แล้ว
เอาให้จบใน thread เดียวสำหรับใครที่อยากเริ่มต้นกับ GitOps แนะนำให้ดูคลิป "GitOps คืออะไร" จากงาน GitOps Days โดยบิดาแห่ง GitOps -
แล้วก็แนะนำให้อ่าน blog - GitOps มีประโยชน์กับธุรกิจเรายังไง gitops-community.github.io/kit/#the-busin…
จากนั้นก็อันนี้ครับ คำถามถามบ่อย The Official GitOps FAQ - weave.works/blog/the-offic…
ปัจจุบัน Flux ถูกใช้บน production ในกว่า 80 บริษัท เช่น Fidelity Investments, Plex Systems หรือแม้แต่เชนร้านกาแฟที่คนไทยคุ้นเคยกัน Starbucks
เอกสารของ CNCF End User Community แนะนำ Flux เป็นเทคโนโลยีกลุ่ม "Adopt" ใน Technology Radar ของ Continuous Delivery โดยให้ Flux อยู่ในระดับเดียวกันกับ Helm

cncf.io/blog/2020/06/1…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Chanwit Kaewkasi

Chanwit Kaewkasi Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!