Đối với mỗi dự án được tham chiếu trong bài viết này, tất cả các hướng dẫn cài đặt đều có sẵn trên Git. Nó sẽ giúp bạn học cách triển khai, quản lý và kiểm tra căng thẳng các ứng dụng Kubernetes của mình, cũng như cung cấp tổng quan về các khái niệm cốt lõi của Kubernetes nói chung.
Top 5 dự án Kubernetes dành cho người mới bắt đầu
1. Robot Shop
Robot Shop là một cửa hàng thương mại điện tử được phát triển bởi Instana. Nó cung cấp các microservice mẫu mà bạn có thể sử dụng để tìm hiểu và thử nghiệm các kỹ thuật giám sát khác nhau. Tuy nhiên, dự án không dành cho những ai muốn tìm hiểu về microservices; thay vào đó, nó giúp bạn hiểu các khái niệm như điều phối ứng dụng được containerized.
Ứng dụng đã được phát triển bằng cách sử dụng:
- AngularJS (1.x)
- Nginx
- NodeJS (Express)
- Java (Spark Java)
- Python (Flask)
- Golang
- MongoDB
- RabbitMQ
- Redis
- MySQL
Nó là một ứng dụng web một trang sử dụng Angular, được cung cấp thông qua Nginx, cũng hoạt động như một máy chủ reverse proxy. MongoDB được sử dụng để lưu trữ dữ liệu cho các sản phẩm, trong khi MySQL được sử dụng để lưu trữ thông tin vận chuyển.
Dự án sử dụng nhiều công nghệ khác nhau như Angular, Java, Python, v.v., có thể giúp bạn hiểu được quy trình phát triển toàn bộ hoàn chỉnh. Đồng thời, bạn cũng sẽ hiểu cách Instana được sử dụng để xử lý và giám sát ứng dụng khi được triển khai trong Kubernetes.
Sao chép dự án:
git clone instana/robot-shop
2. Kubedoom
Kubedoom là một dự án đặc biệt thú vị cho phép bạn “kill” Pod trong dự án Kubernetes của mình thông qua một trò chơi 3D. Nếu bạn yêu thích trò chơi FPS, bạn sẽ rất thích dự án này. Pod là phần nhỏ nhất, có thể triển khai của dự án Kubernetes. Nó có thể đóng gói một hoặc nhiều ứng dụng. Kubedoom cho phép bạn kiểm tra khả năng phục hồi của dự án Kubernetes của mình bằng cách sử dụng các hoạt ảnh đồ họa, khiến phần kiểm thử trở nên đặc biệt thú vị.
Khi bạn làm việc trên một dự án Kubernetes, bạn phải đảm bảo rằng ngay cả thành phần nhỏ nhất của dự án cũng đang hoạt động như bình thường. Kubedoom cho phép bạn thực hiện được điều này. Nó hiển thị một số thông tin quan trọng như namespace, danh sách vùng chứa, Pod, v.v., cho phép bạn “kill” chúng để kiểm tra mức độ linh hoạt của dự án.
Sao chép dự án:
git clone storax/kubedoom
3. Prometheus
Prometheus là một hệ thống giám sát và cảnh báo mã nguồn mở cho các ứng dụng Kubernetes. Ban đầu, nó được xây dựng tại SoundCloud để giám sát các dịch vụ của họ và theo cách tương tự, nó có thể được sử dụng để giám sát các cụm Kubernetes . Nó đi kèm với một ngôn ngữ truy vấn được gọi là PromQL mà bạn có thể sử dụng để tận dụng mô hình dữ liệu đa chiều.
Prometheus là một trong những hệ thống giám sát nguồn mở phổ biến nhất cho các cụm Kubernetes. Bạn có thể học PromQL để đối phó với mô hình dữ liệu đa chiều đang được sử dụng cho các mục đích nâng cao. PromQL cho phép bạn chia nhỏ dữ liệu chuỗi thời gian, thậm chí có thể được sử dụng để tạo đồ thị đặc biệt. Prometheus giúp bạn giám sát các cụm và tránh các lỗi hệ thống rất dễ dàng.
Sao chép dự án:
git clone prometheus/prometheus
4. Wayne
Wayne là một nền tảng quản lý đa cụm khác dựa trên web. Nhiều nhà phát triển không muốn đi sâu vào thiết bị đầu cuối để kiểm tra trạng thái cụm. Wayne ra đời để giải quyết vấn đề này. Nó đi kèm với hệ thống IAM của riêng mình, cho phép bạn quản lý quyền truy cập của bất kỳ cụm nào cho bất kỳ người dùng nào. Nó cũng đơn giản hóa việc tạo đối tượng trong Kubernetes bằng cách cung cấp tệp JSON / YAML để tạo đối tượng.
Wayne được phát triển bởi 360 Search Private Cloud và được đặt tên như vậy dựa trên sự yêu thích của công ty đối với DC Comics.
Nền tảng này có thể giúp bạn quản lý các cụm khác nhau mà không cần tìm hiểu về các lệnh Kubernetes khác nhau. Wayne đi kèm với một giao diện người dùng thân thiện, giúp những người không phải là nhà phát triển quản lý các cụm Kubernetes dễ dàng hơn.
Sao chép dự án:
git clone Qihoo360/wayne
5. Helm
Nếu bạn là một nhà phát triển Python, thì bạn phải sử dụng pip3; nếu bạn là nhà phát triển NodeJS, bạn phải sử dụng npm. Tương tự, bạn có thể sử dụng Helm cho Kubernetes. Helm là một Hệ thống quản lý gói (Package manager) mà bạn có thể sử dụng để quản lý các chart trong các ứng dụng Kubernetes của mình. Chart là các tài nguyên Kubernetes được xác định trước mà bạn có thể nhập vào các dự án Kubernetes của mình.
Helm đặc biệt hữu ích ở chỗ nó giúp cải thiện năng suất của bạn và giảm độ phức tạp của việc triển khai.
Trong bài viết này, bạn đã tìm hiểu về 5 dự án Kubernetes để giúp bạn hiểu rõ hơn về hoạt động của Kubernetes. Hãy tạo cho mình một nền tảng tốt, và sau đó đi sâu vào một số dự án cơ bản để thực hành. Sau khi hoàn thành các dự án đề xuất được nêu trong bài viết này, bạn sẽ sớm thấy mình được trang bị và sẵn sàng để tăng độ phức tạp trong công việc của mình trong Kubernetes. Việc ứng dụng Kubernetes sẽ đơn giản và dễ dàng hơn rất nhiều nếu doanh nghiệp lựa chọn Bizfly Kubernetes Engine – một giải pháp tự động hoá toàn bộ quy trình triển khai, vận hành Kubernetes, xây dựng hạ tầng container cho ứng dụng chỉ với vài cú click mà không cần công sức vận hành. Nếu bạn đang muốn bắt đầu với Kubernetes, hãy truy cập: https://bizflycloud.vn/kubernetes-engine để trải nghiệm miễn phí ngay hôm nay.