Garden v0.10.0: แล็ปท็อปของคุณไม่จำเป็นต้องใช้ Kubernetes

บันทึก. แปล: โดยมีผู้ชื่นชอบ Kubernetes จากโครงการ สวนหย่อม เราพบกันในงานล่าสุด KubeCon ยุโรป 2019ที่พวกเขาสร้างความประทับใจให้เรา เนื้อหาของพวกเขาซึ่งเขียนในหัวข้อทางเทคนิคในปัจจุบันและมีอารมณ์ขันที่เห็นได้ชัดเจนเป็นการยืนยันที่ชัดเจนในเรื่องนี้ ดังนั้นเราจึงตัดสินใจแปลเนื้อหาดังกล่าว

เขาพูดถึงสิ่งสำคัญ (ชื่อเดียวกัน) ผลิตภัณฑ์ บริษัทซึ่งมีแนวคิดในการทำให้เวิร์กโฟลว์เป็นแบบอัตโนมัติและลดความซับซ้อนในการพัฒนาแอปพลิเคชันใน Kubernetes ในการดำเนินการนี้ ยูทิลิตี้นี้ช่วยให้คุณสามารถปรับใช้การเปลี่ยนแปลงใหม่ที่ทำในโค้ดกับคลัสเตอร์ dev ได้อย่างง่ายดาย (ด้วยคำสั่งเดียว) และยังให้ทรัพยากร/แคชที่ใช้ร่วมกันเพื่อเพิ่มความเร็วในการสร้างและทดสอบโค้ดโดยทีมงาน สองสัปดาห์ที่ผ่านมาสวนเป็นเจ้าภาพ ปล่อย 0.10.0ซึ่งเป็นไปได้ที่จะใช้ไม่เพียง แต่คลัสเตอร์ Kubernetes ในเครื่องเท่านั้น แต่ยังสามารถใช้คลัสเตอร์ระยะไกลได้ด้วย: นี่คือเหตุการณ์ที่บทความนี้กล่าวถึง

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

Garden v0.10.0: แล็ปท็อปของคุณไม่จำเป็นต้องใช้ Kubernetes
ถ่ายภาพสต็อกในธีมเพื่อเพิ่มเอฟเฟกต์

Minikube, ชนิด, k3s, Docker Desktop, microk8s ฯลฯ - เครื่องมือที่ยอดเยี่ยมที่สร้างขึ้นเพื่อให้การใช้ Kubernetes สะดวกที่สุดเท่าที่จะเป็นไปได้ และต้องขอบคุณเครื่องมือเหล่านี้สำหรับสิ่งนั้น อย่างจริงจัง. แต่ไม่ว่าคุณจะมองอย่างไร มีสิ่งหนึ่งที่ชัดเจน: Kubernetes ไม่เหมาะกับการทำงานบนแล็ปท็อปของฉัน และตัวแล็ปท็อปเองก็ไม่ได้ออกแบบมาให้ทำงานกับกลุ่มคอนเทนเนอร์ที่กระจัดกระจายไปตามชั้นต่างๆ ของเครื่องเสมือน เจ้าตัวน่าสงสารพยายามอย่างเต็มที่แต่ไม่ชอบกิจกรรมนี้อย่างเห็นได้ชัด แสดงความไม่พอใจกับเสียงหอนของคูลเลอร์ และพยายามเผาต้นขาของเขาเมื่อฉันนั่งคุกเข่าโดยประมาท

สมมติว่า: แล็ปท็อป - แล็ปท็อป

สวนหย่อม เป็นเครื่องมือสำหรับนักพัฒนาที่อยู่ในกลุ่มเดียวกับ Skaffold และ Draft ช่วยให้การพัฒนาและการทดสอบแอปพลิเคชัน Kubernetes ง่ายขึ้นและเร็วขึ้น

ตั้งแต่วินาทีแรกที่เราเริ่มทำงานกับ Garden เมื่อประมาณ 18 เดือนที่แล้ว เราก็รู้เรื่องนี้ ท้องถิ่น การพัฒนาระบบแบบกระจายเป็นวิธีแก้ปัญหาชั่วคราว ดังนั้น Garden จึงสร้างขึ้นด้วยความยืดหยุ่นที่สำคัญและเป็นรากฐานที่มั่นคง

ตอนนี้เราพร้อมที่จะรองรับสภาพแวดล้อม Kubernetes ทั้งในพื้นที่และระยะไกลแล้ว งานง่ายขึ้นมาก: การประกอบ การปรับใช้ และการทดสอบสามารถทำได้ในคลัสเตอร์ระยะไกลแล้ว

พูดสั้น ๆ :

ด้วย Garden v0.10 คุณสามารถลืมคลัสเตอร์ Kubernetes ในเครื่องได้โดยสิ้นเชิง และยังคงได้รับการตอบสนองอย่างรวดเร็วต่อการเปลี่ยนแปลงโค้ด ทั้งหมดนี้ฟรีและเป็นโอเพ่นซอร์ส

Garden v0.10.0: แล็ปท็อปของคุณไม่จำเป็นต้องใช้ Kubernetes
เพลิดเพลินไปกับประสบการณ์เดียวกันในสภาพแวดล้อมท้องถิ่นและระยะไกล

ได้รับความสนใจของคุณ?

และฉันก็ดีใจด้วยเพราะเรามีคุณสมบัติที่น่าสนใจอีกมากมาย! การใช้งานคลัสเตอร์ dev โดยทั่วไปมีผลกระทบในวงกว้างมากขึ้น โดยเฉพาะกับทีมที่ทำงานร่วมกันและไปป์ไลน์ CI

ได้อย่างไร?

ก่อนอื่น ตัวรวบรวมภายในคลัสเตอร์ - ไม่ว่าจะเป็น Docker daemon มาตรฐานหรือ Kaniko - รวมถึงการลงทะเบียนภายในคลัสเตอร์จะถูกแชร์ สำหรับทั้งคลัสเตอร์. ทีมของคุณสามารถแชร์คลัสเตอร์ dev โดยมีแคชบิวด์และอิมเมจสำหรับนักพัฒนาทุกคน เนื่องจากรูปภาพแท็ก Garden ตามแฮชแหล่งที่มา แท็กและเลเยอร์จึงถูกกำหนดไม่ซ้ำกันและสม่ำเสมอ

ซึ่งหมายความว่าเมื่อนักพัฒนาสร้างภาพขึ้นมา มันจะกลายเป็น ใช้ได้กับทั้งทีม. วันแล้ววันเล่า เราดาวน์โหลดอิมเมจพื้นฐานเดียวกันและสร้างโครงสร้างเดียวกันบนคอมพิวเตอร์ของเรา อยากรู้ว่าการจราจรและไฟฟ้าสิ้นเปลืองไปขนาดไหน?..

เช่นเดียวกันอาจกล่าวได้เกี่ยวกับการทดสอบ: ผลลัพธ์ของพวกเขาพร้อมสำหรับคลัสเตอร์ทั้งหมดและสมาชิกในทีมทุกคน หากนักพัฒนาคนใดคนหนึ่งได้ทดสอบโค้ดเวอร์ชันใดเวอร์ชันหนึ่งแล้ว ก็ไม่จำเป็นต้องทำการทดสอบเดิมซ้ำอีก

กล่าวอีกนัยหนึ่ง มันไม่ใช่แค่เรื่องการไม่ใช้งาน minikube เท่านั้น การก้าวกระโดดครั้งนี้จะปูทางให้ทีมของคุณก้าวไป มากมาย โอกาสในการเพิ่มประสิทธิภาพ - ไม่ต้องสร้างและทดสอบการทำงานที่ไม่จำเป็นอีกต่อไป!

แล้วซีไอไอล่ะ?

พวกเราส่วนใหญ่คุ้นเคยกับความจริงที่ว่า CI และ dev ในระบบเป็นสองโลกที่แยกจากกันซึ่งจำเป็นต้องกำหนดค่าแยกกัน (และพวกเขาไม่ได้แชร์แคช) ตอนนี้คุณสามารถรวมเข้าด้วยกันและกำจัดส่วนเกิน:

คุณสามารถดำเนินการคำสั่งเดียวกันใน CI และในกระบวนการพัฒนาได้ ตลอดจน ใช้สภาพแวดล้อม แคช และผลการทดสอบเดียว

โดยพื้นฐานแล้ว CI ของคุณจะกลายเป็นบอทนักพัฒนาที่ทำงานในสภาพแวดล้อมเดียวกันกับคุณ

Garden v0.10.0: แล็ปท็อปของคุณไม่จำเป็นต้องใช้ Kubernetes
องค์ประกอบของระบบ การพัฒนาและการทดสอบที่ราบรื่น

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

เจาะลึกการกำหนดค่าและสคริปต์จำนวนนับไม่ถ้วน จากนั้นผลักดัน รอ หวัง และทำซ้ำไม่รู้จบ... ทั้งหมดนี้เป็นเพียงอดีต คุณแค่กำลังพัฒนา ไม่มีการเคลื่อนไหวที่ไม่จำเป็น

และเพื่อชี้แจงสถานการณ์ในที่สุด: เมื่อคุณหรือสมาชิกในทีมคนอื่นสร้างหรือทดสอบบางอย่างกับ Garden สิ่งเดียวกันนี้เกิดขึ้นกับ CI. หากคุณไม่ได้เปลี่ยนแปลงอะไรเลยตั้งแต่การทดสอบดำเนินไป คุณไม่จำเป็นต้องดำเนินการทดสอบ (หรือแม้แต่บิลด์) สำหรับ CI Garden ทำทุกอย่างด้วยตัวมันเอง จากนั้นจึงก้าวไปสู่งานอื่นๆ เช่น การจัดสภาพแวดล้อมก่อนการเปิดตัว การผลักดันสิ่งประดิษฐ์ ฯลฯ

ฟังดูน่าดึงดูด จะลองได้อย่างไร?

ยินดีต้อนรับสู่ พื้นที่เก็บข้อมูล GitHub ของเรา! ติดตั้ง Garden และเล่นกับตัวอย่าง สำหรับผู้ที่ใช้ Garden อยู่แล้วหรืออยากรู้จักมากขึ้นเราขอเสนอ คู่มือ Kubernetes ระยะไกล. เข้าร่วมกับเราในช่อง #สวนใน Kubernetes Slack, หากคุณมีคำถาม ปัญหา หรือเพียงต้องการแชท เราพร้อมเสมอที่จะช่วยเหลือและยินดีรับข้อเสนอแนะจากผู้ใช้

ปล.จากผู้แปล

ในไม่ช้าเราจะเผยแพร่บทวิจารณ์ยูทิลิตี้ที่มีประโยชน์สำหรับนักพัฒนาแอปพลิเคชันที่ทำงานใน Kubernetes ซึ่งรวมถึงโครงการที่น่าสนใจอื่น ๆ นอกเหนือจาก Garden... ในระหว่างนี้อ่านในบล็อกของเราด้วย:

ที่มา: will.com

เพิ่มความคิดเห็น