08.kubelet
1. kubelet - "Thuyền trưởng" trên mỗi Worker Node 👨✈️¶
Nếu Master Node là "Tàu Chỉ Huy", thì mỗi Worker Node là một "Tàu Hàng", và kubelet chính là thuyền trưởng của con tàu đó. Nó là agent chính, chịu trách nhiệm cho mọi hoạt động diễn ra trên node của mình.
kubelet là điểm liên lạc duy nhất của Master Node trên mỗi Worker Node. Mọi mệnh lệnh từ kube-api-server xuống Worker Node đều do kubelet tiếp nhận và thực thi.
2. Các Nhiệm vụ chính của "Thuyền trưởng" kubelet¶
kubelet có 3 nhiệm vụ cốt lõi:
-
Đăng ký Node (Node Registration):
-
Khi một Worker Node mới khởi động,
kubeletsẽ làm "thủ tục giấy tờ" cần thiết để đăng ký Node này với cụm Kubernetes, báo cáo rằng: "Thuyền trưởng xin báo, tàu hàng số hiệu X đã sẵn sàng nhận nhiệm vụ!". -
Tạo và Quản lý Vòng đời Pod (Pod Lifecycle):
-
Sau khi
kube-schedulerđã quyết định một Pod sẽ chạy trên Node này,kube-api-serversẽ gửi chỉ thị đếnkubelet. kubeletnhận lệnh và ra chỉ thị cho Container Runtime Engine (ví dụ: Docker, ContainerD) để kéo image cần thiết và khởi chạy các container bên trong Pod.-
Nó cũng chịu trách nhiệm hủy Pod khi có lệnh.
-
Báo cáo Trạng thái (Status Reporting):
-
kubeletliên tục theo dõi "sức khỏe" của các Pod và container đang chạy trên node của mình. - Nó đều đặn gửi các báo cáo trạng thái này về cho
kube-api-server, thông báo tình hình của "con tàu" và các "thùng hàng" trên đó.
3. Cài đặt kubelet - Một điểm "Đặc biệt" ⚠️¶
Đây là một điểm rất quan trọng bạn cần nhớ, khác biệt so với các thành phần Master Node khác:
- Ngay cả khi bạn sử dụng công cụ
kubeadmđể dựng cụm,kubeadmKHÔNG tự động cài đặtkubeletcho bạn. - Bạn phải luôn luôn cài đặt
kubeletmột cách thủ công trên tất cả các Worker Node (và cả Master Node). - Quá trình cài đặt thường bao gồm việc tải file cài đặt, giải nén và cấu hình nó chạy như một service hệ thống.
4. Xem tiến trình kubelet đang chạy¶
Để xem kubelet có đang chạy trên một node hay không và với các tùy chọn nào, bạn có thể dùng lệnh sau trên node đó:
5. "Chốt hạ" cho Kỳ thi CKA 📝¶
kubeletlà agent chính, chạy trên mỗi Worker Node (và cả Master Node).- Nó là người thực thi - nhận lệnh từ
api-servervà ra lệnh cho Container Runtime để chạy/dừng container. - Nó là người báo cáo - liên tục gửi trạng thái của Node và các Pod về cho Master.
- Quan trọng:
kubeadmkhông tự càikubelet. Bạn phải luôn cài đặt nó thủ công.
Hiểu rõ vai trò của kubelet là bạn đã hiểu được "cánh tay nối dài" của Master Node hoạt động như thế nào trên từng Worker Node rồi đó. Chúc bạn buổi chiều học tập hiệu quả!