Kubernetes Architecture-part3

·

2 min read

Tiến trình tạo một pod trong Kubernetes diễn ra theo các bước sau:

  1. Yêu cầu tạo Pod: Một yêu cầu tạo Pod được gửi tới Kubernetes API server. Yêu cầu này chứa thông tin về Pod, bao gồm tên, định nghĩa của container, yêu cầu tài nguyên, và các cài đặt khác.

  2. Xác thực và ủy quyền: API server xác thực yêu cầu và kiểm tra các quyền truy cập của người dùng hoặc quá trình gửi yêu cầu. Nếu yêu cầu được xác thực và được ủy quyền, quá trình tiếp tục.

  3. Ghi vào etcd: Thông tin về Pod được ghi vào cơ sở dữ liệu phân tán etcd. Điều này bao gồm cả định nghĩa của Pod và trạng thái tạo Pod.

  4. Scheduler lập lịch (Scheduling): Scheduler là thành phần của Kubernetes chịu trách nhiệm lập lịch (schedule) các Pod trên các node trong cluster. Scheduler chọn một node phù hợp để chạy Pod dựa trên các yêu cầu tài nguyên, chiến lược lập lịch, và các yếu tố khác.

  5. Kubelet nhận yêu cầu: Kubelet là một agent chạy trên mỗi node trong cluster. Khi một Pod được lập lịch để chạy trên một node cụ thể, Kubelet nhận thông tin về Pod từ API server.

  6. Tạo container: Kubelet sử dụng container runtime (ví dụ như Docker) để tạo và quản lý các container. Dựa vào định nghĩa của Pod, Kubelet bắt đầu tạo các container tương ứng trên node.

  7. Báo cáo trạng thái: Kubelet liên tục báo cáo trạng thái của các container và Pod tới API server. Các trạng thái này bao gồm trạng thái chờ, đang chạy, hoặc bị lỗi.

  8. Hoàn tất tạo Pod: Khi tất cả các container trong Pod được tạo thành công và đã báo cáo trạng thái "chạy" tới API server, quá trình tạo Pod được coi là hoàn tất. Pod sẵn sàng để chạy các ứng dụng của bạn.