Published on

Tháng 12: Kubernetes, Azdigi và LVH

Authors

Chuyển sang Kubernetes cluster

Sau một vài tháng sử dụng AWS thì Tuấn đã chuyển sang một nhà cung cấp khác một lần nữa, không phải do AWS có vấn đề mà nhà cung cấp mới sẽ phù hợp với hướng học tập và công việc của mình hơn. Lần này thật ra là chuyển sang nhiều nhà cung cấp khác nhau tạo thành một cụm server Kubernetes. Mình có 1 node 4 core/8GB RAM của GreenCloudVPS 🔗, 3 worker node mỗi node 2 core/2GB RAM của RackNerd 🔗, mức vừa đủ để cụm server có thể chạy ổn định.

Kinh nghiệm của Tuấn: nếu bạn thật sự muốn tìm hiểu và sử dụng Kubernetes cho ứng dụng của mình, không cần quá nhiều worker node, 2 node cũng đã đủ, hãy chọn worker node có 4GB RAM trở lên, như vậy sẽ thoải mái hơn rất nhiều.

Sau vài tuần đau khổ cùng microk8s 🔗, mình đã chuyển sang sử dụng k3s 🔗 và hoàn toàn hài lòng với mức tiêu thụ tài nguyên của k3s. Bên dưới là namespace (dự án) mà blog của mình đang chạy, chỉ tốn 10% trên tổng 100% * 10 core của cụm, RAM cũng chỉ chiếm khoảng 1.5GB trên tổng 14GB của cụm, rất nhẹ.

true

true

Ưu điểm khi chuyển sang Kubernetes đối với mình là tính linh động của nó. Ví dụ với WordOps, mình tốn đâu đó khoảng 10 - 15 phút để có thể hoàn toàn khôi phục blog, đó là chưa bao gồm kiểm tra xem blog có hoạt động bình thường hay không, review lại bảo mật, setup cronjob các thứ.

Với Kubernetes, mình cũng tốn tầm đó thời gian để cài đặt k3s, join tất cả server lại với nhau và apply file cấu hình, vậy là xong. Kết quả mình có một website chạy trên 3 server, hư server này thì tự động "restore" lên server khác; một server có vấn đề (ví dụ trả về lỗi 500) cũng được deploy lại lên server khác một cách tự động. Điều này là không bao giờ là dễ dàng nếu mình còn sử dụng WordOps và các control panel khác.

Và cuối cùng, càng làm việc nhiều với Kubernetes, có nhiều kinh nghiệm với nó sẽ giúp đỡ Tuấn rất nhiều trong công việc, có nhiều tiền để uống trà sữa hơn ;)


Chuyển sang sử dụng Azdigi

Nhân dịp có khuyến mãi Black Friday thì mình cũng đã mua 1 năm gói Turbo server 1 🔗 của Azdigi để làm cache server thay cho Bizfly Cloud 🔗. Mình chuyển sang nhà cung cấp mới cũng không phải vì Bizfly Cloud có vấn đề, đơn giản là dùng ở Azdigi mình cảm thấy rẻ hơn, tiết kiệm tiền để mình còn mua thêm server cày Kubernetes nữa :D Ngoài ra, tự ép mình chuyển các nhà cung cấp cũng giúp Tuấn xây dựng các công cụ linh hoạt hơn cho các lần chuyển tới. Linh hoạt thế nào cùng mình xem phần cuối nhé.

À đừng đánh giá vì Azdigi mà bạn comment khá chậm nhé. Do cụm server mình bây giờ toàn bên Mỹ nên kết nối về Việt Nam chậm hơn rất nhiều. Các bạn thông cảm chờ thêm giây lát nhé.

true

Do mình khá bận nên vài ngày sau mới có thể thực hiện loadtest, kết quả đạt response time trung bình tầm 250ms cho 650 client/giây. Dù chạy trên môi trường Docker nhưng mức sử dụng resource khá tốt, chỉ 17% CPU thôi.


Chia sẻ cấu hình Cache server

Tuấn nói rất nhiều về Cache server mà mình đang sử dụng nhưng chưa bao giờ đi sâu chi tiết hay chia sẻ cách cài đặt vì nó rất phức tạp. Hôm nay, trong lúc miền Nam lạnh đến cóng tay thì mình đã hoàn thành luôn rồi, xin chia sẻ với các bạn source code tại đây: https://github.com/tdtgit/LVH 🔗.

Cái tên LVH đến từ OpenLitespeed + Varnish + Haproxy là những ứng dụng mà mình đang dùng để vận hành cache server. Nhờ vào Docker nên mình (và các bạn nữa) có thể tạo cache server, copy từ server này sang server khác một cách nhanh chóng hơn rất nhiều.

Vậy thôi, source code đã public rồi, hẹn các bạn trong bài viết chia sẻ chính thức về LVH nhé.