Kubernetes là gì ? Những khái niệm cốt lõi trong Kubernetes

LAMP Nov 10, 2020

Kubernetes (còn được gọi là k8s) là một nền tảng mã nguồn mở cho phép bạn triển khai và quản lý các ứng dụng được đóng gói trên quy mô lớn.

Tiền thân của KubernetesBorg, công nghệ đằng sau điện toán đám mây của Google, dùng để quản lý và triển khai hàng nghìn ứng dụng của mình trên toàn thế giới. Được biết Google đã và đang tạo ra hơn 2 tỷ container deployments mỗi tuần.

Kubernetes được Google đưa thành dự án cộng đồng vào năm 2014, dựa trên một thập kỷ rưỡi kinh nghiệm vận hành khối lượng lớn workload trong thực tế của mình, kết hợp các ý tưởng và thực tiễn tốt nhất từ cộng đồng.

Tại sao cần Kubernetes ?

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

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

Các thành phần Kubernets:

Kubernetes bao gồm 2 thành phần chính: master nodeworker node. Master node đảm nhận vai trò điều khiển, quản lý, phân phối ứng dụng còn các worker node đảm nhận việc chạy ứng dụng đó.

Master node sẽ chứa file mô tả ứng dụng, Master sẽ điều khiển các Worker để chạy ứng dụng đó.

Master node

Là máy chủ điều khiển các máy Worker chạy ứng dụng. Master node bao gồm 4 thành phần chính:

+ API Server: là thành phần giúp các thành phần khác liên lạc nói chuyện với nhau, khi triển khai ứng dụng sẽ gọi API Kubernetes API Server này.

+Etcd:  là nơi lưu trữ toàn bộ dữ liệu của Kubernetes, tất cả các thông tin của Kubernetes được lưu trữ cố định vào đây.

+ Scheduler: thành phần này lập lịch triển khai cho các ứng dụng được đặt vào Worker nào để chạy

+ Controller Manager: thành phần đảm nhiệm phần quản lý các Worker, kiểm tra các Worker sống hay chết, đảm nhận việc nhân bản ứng dụng…

Worker node

Là máy chủ chạy ứng dụng trên đó. Bao gồm 3 thành phần chính:

+ Kubelet: là thành phần giao tiếp với Kubernetes API Server, và cũng quản lý các container.

+ Kube-proxy: Thành phần này đảm nhận việc phân tải giữa các ứng dụng.

+ Container runtime: là thành phần giúp chạy các ứng dụng dưới dạng Container. Thông thường người ta sử dụng Docker.

Tài liệu tham khảo

Kubernetes Components
A Kubernetes cluster consists of the components that represent the control plane and a set of machines called nodes.
Cài đặt Kubernetes (K8S) High Availability bằng kubeadm cho Production
Trong kiến trúc Microservices hiện đại, các ứng dụng được phân tán khắp mọi nơi, từ nhiều Data Center Private khác nhau cũng như từ những Cloud Infrastructure Public của nhiều nhà cung cấp như…
Giới thiệu về Kubernetes, khái niệm cơ bản và thực hành ngay trên trình duyệt Web
Trong xã hội kinh doanh hiện đại, tăng trưởng kinh doanh và tăng trưởng khách hàng là một mục tiêu tối thượng quan trọng nhất. Áp lực tăng trưởng và cạnh tranh khốc liệt khiến các công ty liên tục…

Tags

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.