11 เครื่องมือที่ทำให้ Kubernetes ดีขึ้น

11 เครื่องมือที่ทำให้ Kubernetes ดีขึ้น

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

นี่คือที่ที่ส่วนเสริม ส่วนขยาย และสินค้าอื่นๆ สำหรับผู้จัดเตรียมคอนเทนเนอร์นี้ปรากฏขึ้น โดยได้รับการสนับสนุนจากชุมชนในวงกว้างที่สุด ในบทความนี้จะมี 11 สิ่งที่ดีที่สุดที่เราพบ เราเองก็เข้า Southbridge พวกมันน่าสนใจมากและเราวางแผนที่จะจัดการกับพวกมันในทางปฏิบัติ - โดยแยกชิ้นส่วนออกเป็นสกรูและน็อตแล้วดูว่ามีอะไรอยู่ข้างใน บางส่วนจะช่วยเสริมคลัสเตอร์ Kubernetes ได้อย่างสมบูรณ์แบบ ในขณะที่บางส่วนจะช่วยแก้ไขงานเฉพาะที่ไม่ได้นำไปใช้ในการกระจาย Kubernetes ทั่วไป

ผู้รักษาประตู: การจัดการนโยบาย

โครงการ เปิดตัวแทนนโยบาย (OPA) มอบความสามารถในการสร้างนโยบายบนสแต็กแอปพลิเคชันระบบคลาวด์ใน Kubernetes ตั้งแต่ทางเข้าไปจนถึง Service Mesh ยาม ช่วยให้ Kubernetes สามารถบังคับใช้นโยบายบนคลัสเตอร์ได้โดยอัตโนมัติ และยังให้การตรวจสอบเหตุการณ์หรือทรัพยากรใดๆ ที่ละเมิดนโยบายอีกด้วย ทั้งหมดนี้ได้รับการจัดการโดยกลไก Kubernetes ที่ค่อนข้างใหม่ นั่นคือตัวจัดการการรับเข้า Webhooks ซึ่งจะเริ่มทำงานเมื่อทรัพยากรมีการเปลี่ยนแปลง ด้วย Gatekeeper นโยบาย OPA จะกลายเป็นอีกส่วนหนึ่งของสถานะของคลัสเตอร์ Kubernetes ของคุณโดยไม่จำเป็นต้องมีการกำกับดูแลอย่างต่อเนื่อง

แรงโน้มถ่วง: คลัสเตอร์ Kubernetes แบบพกพา

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

แรงดึงดูด ถ่ายภาพสแนปชอตของคลัสเตอร์ Kubernetes, รีจิสตรีสำหรับอิมเมจคอนเทนเนอร์ รวมถึงแอปพลิเคชันที่ทำงานอยู่ที่เรียกว่า "แพ็คเกจแอปพลิเคชัน" แพ็คเกจดังกล่าวซึ่งเป็นไฟล์ปกติ .tarสามารถจำลองคลัสเตอร์ได้ทุกที่ที่ Kubernetes สามารถทำงานได้

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

Gravity 7 รุ่นหลักล่าสุดสามารถส่งอิมเมจ Gravity ไปยังคลัสเตอร์ Kubernetes ที่มีอยู่ แทนที่จะหมุนคลัสเตอร์ใหม่ทั้งหมดจากรูปภาพ Gravity 7 ยังสามารถทำงานร่วมกับคลัสเตอร์ที่ติดตั้งโดยไม่ต้องใช้อิมเมจ Gravity Gravity ยังรองรับ SELinux และทำงานร่วมกับเกตเวย์ Teleport SSH ได้ด้วย

Kaniko: การสร้างคอนเทนเนอร์ในคลัสเตอร์ Kubernetes

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

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

หมายเหตุ: ปัจจุบันคานิโกะ (พฤษภาคม 2020, ประมาณ นักแปล) ไม่สามารถสร้างคอนเทนเนอร์ Windows ได้

Kubecost: ตัวเลือกต้นทุนการเริ่มต้น Kubernetes

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

คิวบ์คอสท์ ประมวลผลพารามิเตอร์ Kubernetes แบบเรียลไทม์ ส่งผลให้ได้รับข้อมูลต้นทุนล่าสุดจากคลัสเตอร์ที่ใช้งานอยู่ที่ผู้ให้บริการคลาวด์รายใหญ่ แสดงในแผงที่มีค่าใช้จ่ายรายเดือนต่อคลัสเตอร์ ราคาสำหรับ RAM, เวลา CPU, GPU และระบบย่อยของดิสก์จะถูกแจกแจงตามส่วนประกอบของ Kubernetes (คอนเทนเนอร์ พ็อด บริการ ฯลฯ)

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

Kubecost ใช้งานได้ฟรีหากคุณมีข้อมูลบันทึกเพียงพอ 15 วัน สำหรับคุณสมบัติเพิ่มเติม ราคาเริ่มต้นที่ 199 ดอลลาร์ต่อเดือนสำหรับการตรวจสอบ 50 โหนด

KubeDB: การรันฐานข้อมูลการต่อสู้ใน Kubernetes

ฐานข้อมูลยังทำงานได้ยากใน Kubernetes คุณจะพบตัวดำเนินการ Kubernetes สำหรับ MySQL, PostgreSQL, MongoDB และ Redis แต่ทั้งหมดก็มีข้อเสีย นอกจากนี้ ชุดคุณลักษณะ Kubernetes ทั่วไปไม่ได้แก้ไขปัญหาฐานข้อมูลส่วนใหญ่ที่กำหนดไว้โดยตรง

KubeDB ช่วยคุณสร้างคำสั่ง Kubernetes สำหรับการจัดการฐานข้อมูล การเรียกใช้การสำรองข้อมูล การโคลน การตรวจสอบ สแน็ปช็อต และการสร้างฐานข้อมูลที่ประกาศเป็นส่วนที่เป็นส่วนประกอบ โปรดทราบว่าการรองรับคุณสมบัตินั้นขึ้นอยู่กับฐานข้อมูล ตัวอย่างเช่น การสร้างคลัสเตอร์ใช้ได้กับ PostgreSQL แต่ไม่ใช่สำหรับ MySQL (แล้ว มีดังที่ได้ชี้ให้เห็นอย่างถูกต้องแล้ว dnbstd, ประมาณ นักแปล).

Kube-monkey: Chaos Monkey สำหรับ Kubernetes

วิธีการทดสอบภาวะวิกฤตที่ปราศจากข้อผิดพลาดมากที่สุดถือเป็นการแจกแจงแบบสุ่ม ทฤษฎีนี้เป็นหัวใจสำคัญของ Chaos Monkey ของ Netflix ซึ่งเป็นเครื่องมือทางวิศวกรรมที่วุ่นวายซึ่งจะสุ่มปิดเครื่องเสมือนและคอนเทนเนอร์สภาพแวดล้อมการผลิตเพื่อ "จูงใจ" นักพัฒนาให้สร้างระบบที่มีความยืดหยุ่นมากขึ้น kube-ลิง - การดำเนินการตามทฤษฎีพื้นฐานเดียวกันของการทดสอบความเครียดสำหรับคลัสเตอร์ Kubernetes มันทำงานโดยการสุ่มฆ่าโมดูลในคลัสเตอร์ที่คุณกำหนด และยังสามารถตั้งค่าให้ทำงานตามช่วงเวลาที่กำหนดได้อีกด้วย

ตัวควบคุมทางเข้า Kubernetes สำหรับ AWS

Kubernetes ให้บริการโหลดบาลานเซอร์ภายนอกและบริการเครือข่ายคลัสเตอร์ผ่านบริการที่เรียกว่า สิทธิในการเข้า AWS นำเสนอคุณสมบัติการปรับสมดุลโหลด แต่ไม่ได้รวมเข้ากับคุณสมบัติ Kubernetes เดียวกันโดยอัตโนมัติ ตัวควบคุมทางเข้า Kubernetes สำหรับ AWS ปิดช่องว่างนี้

โดยจะจัดการทรัพยากร AWS สำหรับแต่ละทางเข้าในคลัสเตอร์โดยอัตโนมัติ สร้างโหลดบาลานเซอร์สำหรับทรัพยากรทางเข้าใหม่ และลบโหลดบาลานเซอร์เมื่อทรัพยากรถูกลบออก ใช้ CloudFormation เพื่อให้แน่ใจว่าสถานะคลัสเตอร์มีความสอดคล้องกัน นอกจากนี้ยังรองรับการตั้งค่า CloudWatch Alarm และจัดการองค์ประกอบอื่นๆ ที่ใช้ในคลัสเตอร์โดยอัตโนมัติ เช่น ใบรับรอง SSL และ EC2 Auto Scaling Groups

Kubespray: การติดตั้ง Kubernetes อัตโนมัติ

คูบีสเปรย์ ทำให้การติดตั้งคลัสเตอร์ Kubernetes ที่พร้อมใช้งานจริงเป็นอัตโนมัติ ตั้งแต่การติดตั้งบนเซิร์ฟเวอร์ฮาร์ดแวร์ไปจนถึงระบบคลาวด์สาธารณะหลัก โดยจะใช้ Ansible (ตัวเลือก Vagrant) เพื่อเริ่มต้นการปรับใช้และสร้างคลัสเตอร์ที่มีความพร้อมใช้งานสูงตั้งแต่เริ่มต้นด้วยตัวเลือกเสริมเครือข่ายที่คุณเลือก (เช่น Flannel, Calico ฯลฯ) บนตัวเลือกการกระจาย Linux ยอดนิยมของคุณเมื่อติดตั้งบนเซิร์ฟเวอร์ฮาร์ดแวร์

Skaffold: การพัฒนาซ้ำสำหรับ Kubernetes

นั่งร้าน - หนึ่งในเครื่องมือของ Google ที่ใช้ในการจัดระเบียบซีดีแอปพลิเคชันใน Kubernetes ทันทีที่คุณทำการเปลี่ยนแปลงซอร์สโค้ด skaffold จะตรวจพบสิ่งนี้โดยอัตโนมัติ เริ่มสร้างและปรับใช้ และเตือนคุณหากมีข้อผิดพลาดใดๆ Skaffold ทำงานบนฝั่งไคลเอ็นต์โดยสมบูรณ์ ดังนั้นการติดตั้งหรือการอัปเดตอาจมีความแตกต่างเล็กน้อย สามารถใช้กับไปป์ไลน์ CICD ที่มีอยู่ได้ เช่นเดียวกับโต้ตอบกับเครื่องมือสร้างภายนอกบางอย่าง ซึ่งส่วนใหญ่เป็น Bazel ของ Google

Teresa: PaaS ที่ง่ายที่สุดบน Kubernetes

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

Tilt: สตรีมการอัปเดตคอนเทนเนอร์ไปยังคลัสเตอร์ Kubernetes

เอียงพัฒนาโดย Windmill Engineering ติดตามการเปลี่ยนแปลงใน Dockerfiles ต่างๆ จากนั้นปรับใช้คอนเทนเนอร์ที่เหมาะสมกับคลัสเตอร์ Kubernetes อย่างต่อเนื่อง โดยพื้นฐานแล้ว ช่วยให้คุณสามารถอัปเดตคลัสเตอร์การผลิตแบบเรียลไทม์ได้ง่ายๆ เพียงอัปเดต Dockerfiles Tilt builds ภายในคลัสเตอร์ ซอร์สโค้ดคือสิ่งเดียวที่ต้องเปลี่ยนแปลง คุณยังสามารถถ่ายภาพสถานะของคลัสเตอร์และบันทึกเงื่อนไขข้อผิดพลาดได้โดยตรงจาก Tilt เพื่อแชร์กับสมาชิกในทีมเพื่อทำการดีบัก

ป.ล. เครื่องมือทั้งหมดนี้เรามีเข้ามาซ้ำแล้วซ้ำเล่า Southbridge ตรวจดูด้วยมือที่อยากรู้อยากเห็นของเรา เพื่อนำเสนอการปฏิบัติจริงแล้ว (หวังว่า!) ที่เข้มข้นออฟไลน์ในเดือนกุมภาพันธ์ ฐาน Kubernetes 8–10 กุมภาพันธ์ 2021 และ Kubernetes เมกะ 12–14 กุมภาพันธ์ จริงๆ แล้ว เรายังพลาดบรรยากาศที่อบอุ่นและกระตือรือร้นของการเรียนรู้แบบออฟไลน์ด้วย ไม่ว่าเทคโนโลยีจะก้าวหน้าแค่ไหนก็ตาม พวกเขาไม่สามารถแทนที่การสื่อสารของมนุษย์และบรรยากาศพิเศษเมื่อผู้คนที่มีความคิดเหมือนกันมารวมตัวกัน

ที่มา: will.com

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