11 công cụ giúp Kubernetes tốt hơn

11 công cụ giúp Kubernetes tốt hơn

Không phải tất cả các nền tảng máy chủ, ngay cả những nền tảng mạnh mẽ và có khả năng mở rộng nhất, đều đáp ứng mọi nhu cầu như hiện tại. Mặc dù Kubernetes tự hoạt động rất tốt nhưng nó có thể thiếu các phần phù hợp để hoàn thiện. Bạn sẽ luôn tìm thấy một trường hợp đặc biệt bỏ qua nhu cầu của bạn hoặc khi Kubernetes không hoạt động trên bản cài đặt mặc định, chẳng hạn như hỗ trợ cơ sở dữ liệu hoặc vận hành CD.

Đây là nơi xuất hiện các tiện ích bổ sung, tiện ích mở rộng và các tính năng khác dành cho bộ điều phối vùng chứa này, được cộng đồng rộng rãi nhất hỗ trợ. Trong bài viết này, sẽ có 11 điều tốt nhất mà chúng tôi tìm thấy. Bản thân chúng tôi ở Cầu nam chúng rất thú vị và chúng tôi dự định xử lý chúng một cách thực tế - tháo rời chúng thành ốc vít và đai ốc và xem bên trong có gì. Một số trong số chúng sẽ bổ sung hoàn hảo cho bất kỳ cụm Kubernetes nào, trong khi một số khác sẽ giúp giải quyết các tác vụ cụ thể không được triển khai trong bản phân phối Kubernetes điển hình.

Người gác cổng: quản lý chính sách

Dự án Đại lý chính sách mở (OPA) cung cấp khả năng tạo các chính sách trên ngăn xếp ứng dụng đám mây trong Kubernetes, từ xâm nhập đến lưới dịch vụ. Người gác cửa cung cấp cho Kubernetes khả năng tự nhiên để thực thi các chính sách trên cụm một cách tự động, đồng thời cung cấp khả năng kiểm tra mọi sự kiện hoặc tài nguyên vi phạm chính sách. Tất cả điều này được xử lý bởi cơ chế Kubernetes tương đối mới, trình quản lý tiếp nhận Webhooks, sẽ kích hoạt khi tài nguyên thay đổi. Với Gatekeeper, các chính sách OPA trở thành một phần khác trong trạng thái của cụm Kubernetes mà không cần phải giám sát liên tục.

Trọng lực: Cụm Kubernetes di động

Nếu bạn muốn triển khai một ứng dụng cho Kubernetes, nhiều ứng dụng có biểu đồ Helm hướng dẫn và tự động hóa quy trình này. Nhưng điều gì sẽ xảy ra nếu bạn muốn lấy cụm Kubernetes của mình "nguyên trạng" và triển khai nó ở một nơi khác?

Nghiêm trọng chụp ảnh nhanh các cụm Kubernetes, sổ đăng ký của chúng cho hình ảnh vùng chứa cũng như các ứng dụng đang chạy được gọi là "gói ứng dụng". Một gói như vậy là một tập tin thông thường .tar, có thể sao chép cụm ở bất cứ nơi nào Kubernetes có thể chạy.

Gravity cũng kiểm tra xem cơ sở hạ tầng mục tiêu có hoạt động giống như cơ sở hạ tầng nguồn hay không và môi trường Kubernetes trên mục tiêu có sẵn không. Phiên bản trả phí của Gravity cũng bổ sung các tính năng bảo mật, bao gồm RBAC và khả năng đồng bộ hóa cài đặt bảo mật trên các triển khai cụm khác nhau.

Bản phát hành chính mới nhất, Gravity 7, có thể đẩy hình ảnh Gravity vào cụm Kubernetes hiện có, thay vì tạo một cụm hoàn toàn mới từ hình ảnh. Gravity 7 cũng có thể hoạt động với các cụm được cài đặt mà không cần sử dụng hình ảnh Gravity. Gravity cũng hỗ trợ SELinux và hoạt động nguyên bản với cổng Teleport SSH.

Kaniko: Xây dựng các thùng chứa trong cụm Kubernetes

Hầu hết các hình ảnh vùng chứa đều được xây dựng trên các hệ thống bên ngoài ngăn xếp vùng chứa. Tuy nhiên, đôi khi bạn cần xây dựng image bên trong một chồng container, chẳng hạn như ở đâu đó trong container đang chạy hoặc trong cụm Kubernetes.

Kaniko xây dựng các vùng chứa bên trong môi trường vùng chứa nhưng không phụ thuộc vào dịch vụ chứa vùng chứa, chẳng hạn như Docker. Thay vào đó, Kaniko trích xuất hệ thống tệp từ hình ảnh cơ sở, thực thi tất cả các lệnh xây dựng không gian người dùng trên hệ thống tệp được trích xuất, chụp ảnh nhanh hệ thống tệp sau mỗi lệnh.

Lưu ý: Kaniko hiện tại (tháng 2020 năm XNUMX, khoảng người phiên dịch) không thể tạo vùng chứa Windows.

Kubecost: Tùy chọn chi phí khởi động Kubernetes

Hầu hết các công cụ quản trị Kubernetes đều tập trung vào tính dễ sử dụng, giám sát, hiểu hành vi bên trong nhóm, v.v. Nhưng còn việc theo dõi chi phí - tính bằng rúp và kopecks - liên quan đến việc ra mắt Kubernetes thì sao?

Kubecost xử lý các tham số Kubernetes theo thời gian thực, dẫn đến thông tin chi phí cập nhật từ các cụm đang chạy tại các nhà cung cấp đám mây lớn, được hiển thị trong bảng điều khiển với chi phí hàng tháng cho mỗi cụm. Giá RAM, thời gian CPU, GPU và hệ thống con ổ đĩa được chia nhỏ theo các thành phần Kubernetes (container, pod, dịch vụ, v.v.)

Kubecost cũng theo dõi chi phí của các tài nguyên không thuộc cụm như bộ chứa Amazon S3, mặc dù điều này bị hạn chế bởi AWS. Dữ liệu chi phí có thể được gửi đến Prometheus để bạn có thể sử dụng dữ liệu đó nhằm thay đổi hành vi của cụm theo chương trình.

Kubecost được sử dụng miễn phí nếu bạn có đủ dữ liệu nhật ký trong 15 ngày. Đối với các tính năng bổ sung, giá bắt đầu từ $199 hàng tháng để theo dõi 50 nút.

KubeDB: Chạy cơ sở dữ liệu chiến đấu trong Kubernetes

Cơ sở dữ liệu cũng khó chạy một cách ngoạn mục trong Kubernetes. Bạn sẽ tìm thấy các toán tử Kubernetes cho MySQL, PostgreSQL, MongoDB và Redis, nhưng chúng đều có nhược điểm. Ngoài ra, bộ tính năng Kubernetes điển hình không giải quyết trực tiếp hầu hết các vấn đề về cơ sở dữ liệu đã xác định.

KubeDB giúp bạn tạo các câu lệnh Kubernetes để quản lý cơ sở dữ liệu. Chạy sao lưu, nhân bản, giám sát, chụp nhanh và tạo cơ sở dữ liệu khai báo là các bộ phận cấu thành của nó. Lưu ý rằng việc hỗ trợ tính năng phụ thuộc vào cơ sở dữ liệu. Ví dụ: việc tạo một cụm hoạt động với PostgreSQL, nhưng không hoạt động với MySQL (đã có, như đã được chỉ ra một cách đúng đắn dnbstd, khoảng người phiên dịch).

Kube-monkey: Khỉ hỗn loạn cho Kubernetes

Phương pháp kiểm tra sức chịu đựng ít xảy ra lỗi nhất được coi là sự cố ngẫu nhiên. Lý thuyết này là trọng tâm của Chaos Monkey của Netflix, một công cụ kỹ thuật hỗn loạn tắt ngẫu nhiên các máy ảo và vùng chứa môi trường sản xuất để "khuyến khích" các nhà phát triển xây dựng các hệ thống linh hoạt hơn. khỉ kube - triển khai lý thuyết cơ bản tương tự về kiểm tra sức chịu đựng cho các cụm Kubernetes. Nó hoạt động bằng cách tắt ngẫu nhiên các mô-đun trong cụm mà bạn chỉ định và cũng có thể được đặt để chạy trong một khoảng thời gian cụ thể.

Bộ điều khiển xâm nhập Kubernetes cho AWS

Kubernetes cung cấp bộ cân bằng tải bên ngoài và các dịch vụ mạng cụm thông qua một dịch vụ có tên Sự đi vào AWS cung cấp các tính năng cân bằng tải nhưng không tự động kết hợp chúng với các tính năng Kubernetes tương tự. Bộ điều khiển xâm nhập Kubernetes cho AWS thu hẹp khoảng cách này.

Nó tự động quản lý tài nguyên AWS cho mỗi lần truy cập trong cụm, tạo bộ cân bằng tải cho tài nguyên lối vào mới và xóa bộ cân bằng tải khi tài nguyên bị xóa. Nó sử dụng CloudFormation để đảm bảo trạng thái cụm luôn nhất quán. Nó cũng hỗ trợ cài đặt Cảnh báo CloudWatch và tự động quản lý các thành phần khác được sử dụng trong cụm, chẳng hạn như chứng chỉ SSL và Nhóm tự động mở rộng quy mô EC2.

Kubespray: Tự động cài đặt Kubernetes

Kubespray tự động hóa quá trình cài đặt cụm Kubernetes sẵn sàng sản xuất, từ cài đặt trên máy chủ phần cứng đến các đám mây công cộng lớn. Nó sử dụng Ansible (tùy chọn Vagrant) để bắt đầu triển khai và tạo cụm có tính sẵn sàng cao ngay từ đầu với sự lựa chọn của bạn về các tiện ích bổ sung mạng (như Flannel, Calico, v.v.) theo lựa chọn phân phối Linux phổ biến của bạn khi cài đặt trên máy chủ phần cứng.

Skaffold: Phát triển lặp lại cho Kubernetes

giàn giáo - một trong những công cụ của Google dùng để sắp xếp các đĩa CD ứng dụng trong Kubernetes. Ngay khi bạn thực hiện các thay đổi đối với mã nguồn, skaffold sẽ tự động phát hiện điều này, bắt đầu xây dựng và triển khai, đồng thời cảnh báo bạn nếu có bất kỳ lỗi nào. Skaffold chạy hoàn toàn ở phía máy khách, do đó có thể có một chút khác biệt trong quá trình cài đặt hoặc cập nhật. Nó có thể được sử dụng với các đường dẫn CICD hiện có cũng như tương tác với một số công cụ xây dựng bên ngoài, chủ yếu là Bazel của Google.

Teresa: PaaS đơn giản nhất trên Kubernetes

Teresa là một hệ thống triển khai ứng dụng chạy PaaS đơn giản trên Kubernetes. Người dùng được nhóm có thể triển khai và quản lý các ứng dụng của riêng họ. Điều này giúp mọi việc dễ dàng hơn một chút đối với những người tin tưởng ứng dụng này và không muốn giải quyết Kubernetes cũng như tất cả sự phức tạp của nó.

Nghiêng: Truyền trực tuyến các bản cập nhật vùng chứa tới cụm Kubernetes

Nghiên, được phát triển bởi Windmill Engineering, giám sát các thay đổi đối với các Dockerfile khác nhau, sau đó triển khai dần dần các vùng chứa thích hợp vào cụm Kubernetes. Về bản chất, nó cho phép bạn cập nhật cụm sản xuất theo thời gian thực chỉ bằng cách cập nhật Dockerfiles. Tilt xây dựng bên trong cụm, mã nguồn là tất cả những gì cần thay đổi. Bạn cũng có thể chụp ảnh nhanh trạng thái cụm và nắm bắt tình trạng lỗi trực tiếp từ Tilt để chia sẻ với các thành viên trong nhóm nhằm gỡ lỗi.

Tái bút Tất cả những công cụ này chúng tôi đã sử dụng nhiều lần Cầu nam thăm dò bằng bàn tay tò mò của chúng tôi. Sẽ trình bày các phương pháp thực hành thực tế (hy vọng vậy!) tại các buổi tập trung ngoại tuyến vào tháng Hai. Cơ sở Kubernetes Ngày 8–10 tháng 2021 năm XNUMX. Và Kubernetes Mega Ngày 12–14 tháng XNUMX. Thành thực mà nói, chúng tôi cũng nhớ không khí ấm áp và tràn đầy năng lượng của buổi học offline. Cho dù công nghệ có tiên tiến đến đâu, chúng cũng sẽ không thay thế được sự giao tiếp trực tiếp của con người và bầu không khí đặc biệt khi tụ tập những người cùng chí hướng.

Nguồn: www.habr.com

Thêm một lời nhận xét