Về danh sách bài viết
Docker và Kubernetes cho người mới: hiểu đúng trước khi dùng
DockerKubernetes

Docker và Kubernetes cho người mới: hiểu đúng trước khi dùng

Container khác máy ảo ở đâu, khi nào thực sự cần Kubernetes, và những sai lầm khiến hệ thống chậm hơn cả khi chưa dùng container.

sang01/09/202622 lượt xem2 phút đọc

Rất nhiều nhóm dùng Kubernetes khi chưa cần đến nó, rồi tốn hàng tháng vận hành thứ đáng ra chỉ cần một máy chủ. Bài này giúp bạn quyết định đúng.

Chương 1: Container khác máy ảo thế nào

Máy ảo giả lập cả phần cứng và chạy một hệ điều hành riêng. Container dùng chung nhân hệ điều hành của máy chủ, chỉ tách biệt phần không gian tiến trình và tệp.

Hệ quả thực tế:

  • Container khởi động trong vài trăm mili giây, máy ảo mất hàng chục giây
  • Một máy chủ chạy được hàng trăm container nhưng chỉ vài máy ảo
  • Container không cách ly mạnh bằng máy ảo, nên không dùng để chạy mã không tin cậy

Chương 2: Viết Dockerfile đúng cách

Mục 2.1 Thứ tự lệnh quyết định tốc độ dựng

Docker lưu đệm theo từng lớp. Chép mã nguồn trước rồi mới cài thư viện nghĩa là mỗi lần sửa một dòng mã là cài lại toàn bộ thư viện. Luôn chép tệp khai báo phụ thuộc và cài đặt trước, chép mã nguồn sau.

Mục 2.2 Dựng nhiều tầng

Tầng đầu để biên dịch, tầng sau chỉ chép kết quả sang ảnh gọn. Cách này thường giảm kích thước ảnh từ hàng trăm megabyte xuống vài chục.

Chương 3: Khi nào cần Kubernetes

Kubernetes giải quyết bài toán điều phối nhiều container trên nhiều máy. Nếu hệ thống của bạn chạy vừa trên một hoặc hai máy chủ, nó chỉ thêm việc.

Dấu hiệu thực sự cần:

  1. Nhiều dịch vụ độc lập cần tự khởi động lại khi hỏng
  2. Tải thay đổi mạnh theo giờ, cần tự co giãn
  3. Cần triển khai không gián đoạn nhiều lần trong ngày
  4. Có người chuyên trách vận hành

Thiếu điều kiện thứ tư thì ba điều đầu cũng không cứu được.