Kubernetes: Giới thiệu, kiến trúc và phương pháp hoạt động

minhduongpro

Thành viên
Tham gia
21/7/2017
Bài viết
4
Kubernetes, hoặc k8s là một nền móng mã nguồn mở tự động hoá việc quản lý, scaling và khai triển ứng dụng dưới dạng container hay còn gọi là Container orchestration engine. Nó loại bỏ rất nhiều các quy trình thủ công liên quan đến việc khai triển và mở rộng các containerized applications.

Gần đây, nhiều áp dụng đã thực hành container hoá bằng cách sử dụng docker và sử dụng nó như là môi trường production càng ngày càng tăng. Trên môi trường production, việc cấu trúc hệ thống chạy bằng container chỉ sử dụng docker là rất khó khăn. Do vậy việc sử dụng một nền móng Container orchestration engine như là k8s thì khá phổ biến bây chừ.

Kubernetes orchestration cho phép bạn xây dựng các dịch vụ áp dụng mở rộng nhiều containers. Nó lên lịch các containers đó trên một cụm, mở mang các containers và quản lý tình trạng của các containers theo thời kì.

Các vận dụng production thực tại mở rộng nhiều containers. Các containers đó phải được khai triển trên nhiều server hosts. Kubernetes cung cấp khả năng kết hợp và quản lý cần thiết để triển khai các containers theo quy mô cho các workloads đó.

Kubernetes ban sơ được phát triển và thiết kế bởi các kỹ sư tại Google. Đây cũng là công nghệ đằng sau các dịch vụ đám mây của Google. Google đã và đang tạo ra hơn 2 tỷ container deployments mỗi tuần và tất cả đều được hỗ trợ bởi nền móng nội bộ: Borg.

>>> Xem thêm: Giá bán máy dell r750



Nên sử dụng Kubernetes khi nào?

  • Các doanh nghiệp lớn, có nhu cầu thực sự phải scaling hệ thống mau chóng, và đã sử dụng container (Docker).
  • Các dự án cần chạy >= 5 container cùng loại cho 1 dịch vụ. (Ví dụ dùng >=5 máy cùng để chạy code website thegioimaychu.vn ).
  • Các startup tân tiến, chịu đầu tư vào công nghệ để dễ dàng auto scale về sau.
Kubernetes giải quyết vấn đề gì?

Bằng việc sử dụng docker, trên 1 host bạn có thể tạo ra nhiều container. Bên cạnh đó nếu bạn có ý định sử dụng trên môi trường production thì phải bắt buộc phải nghĩ đến những vấn đề dưới đây:

  • Việc quản lý hàng loạt docker host
  • Container Scheduling
  • Rolling update
  • Scaling/Auto Scaling
  • Monitor vòng đời và tình trạng sống chết của container.
  • Self-hearing trong trường hợp có lỗi xãy ra. (Có khả năng phát hiện và tự correct lỗi)
  • Service discovery
  • Load balancing
  • Quản lý data, work node, log
  • Infrastructure as Code
  • Sự kết liên và mở rộng với các hệ thống khác
Bằng việc sử dụng một Container orchestration engine như K8s có thể giải quyết được nhưng vấn đề trên đây. Trong trường hợp không sử dụng k8s, Thì sẽ phải cần thiết tạo ra cơ chế tự động hoá cho những cái kể trên, như thế thì cực kỳ tốn thời kì và không khả thi.

>>> Xem thêm: mua máy chủ r6515
 
×
Top Bottom