Blog
Thoughts on engineering, design, and building great products.
controller-manager và scheduler: Control Loop và Leader Election
Hai thành phần biến trạng thái mong muốn thành hành động: kube-controller-manager chạy hàng chục control loop, kube-scheduler chọn node cho pod. Bài này dựng cả hai trên ba controller, giải thích cách scheduler lọc và chấm điểm node, rồi xem leader election hoạt động thật — ba bản chạy nhưng chỉ một làm việc.
kube-apiserver: Cổng Vào Cluster và Dây Chuyền Xử Lý Request
Thành phần ngồi ngay trước etcd và là cổng vào duy nhất của cluster. Bài này đi sâu vào dây chuyền authn → authz → admission mà mọi request phải qua, rồi dựng kube-apiserver trên cả ba controller: nối vào etcd bằng TLS, bật mã hóa Secret, và kiểm chứng thật rằng Secret đã được mã hóa khi đọc thẳng bytes trong etcd.
etcd: Quorum, Raft và Dựng Cluster Ba Node
Thành phần đầu tiên của control plane, và là nền móng cho mọi thứ phía trên: etcd. Bài này giải thích etcd lưu gì, vì sao nó cần số node lẻ và quorum nghĩa là gì qua thuật toán Raft — rồi dựng một cluster etcd ba node trên các controller với TLS, và kiểm chứng leader cùng sức khỏe cluster.
Gói Cert Thành kubeconfig và Cấu Hình Mã Hóa Secret
Certificate đã có, nhưng các binary Kubernetes đọc chúng qua một dạng file gói sẵn: kubeconfig. Bài này sinh kubeconfig cho admin, controller-manager, scheduler, kube-proxy và từng kubelet — giải thích mô hình cluster/user/context và vì sao control plane trỏ về 127.0.0.1 còn worker trỏ qua load balancer. Cuối bài tạo file mã hóa Secret at rest cho etcd.
Tự Tay Ký Toàn Bộ Certificate Bằng cfssl
Phần lõi của 'from scratch': dùng cfssl tạo ba CA (Kubernetes, etcd, front-proxy) rồi ký toàn bộ certificate cho từng thành phần — apiserver với SAN đầy đủ, kubelet từng worker với CN/O đặc biệt, controller-manager, scheduler, kube-proxy, client cho etcd, và cặp khóa service-account. Làm từng cái, đúng từng trường, rồi verify chuỗi tin cậy.
Dựng Sáu Máy EC2 và Chuẩn Bị Hệ Điều Hành
Bài hands-on đầu tiên: dựng một VPC riêng trên AWS với sáu máy EC2 (1 load balancer, 3 controller, 2 worker), gán IP private cố định, rồi chuẩn bị hệ điều hành — hostname, /etc/hosts, kernel module, sysctl, tắt swap — và cài bộ công cụ kubectl, cfssl. Toàn bộ làm từng bước, chạy thật.
PKI và TLS: Vì Sao Cluster Cần Nhiều Certificate Đến Vậy
Một cluster Kubernetes cần tới cả chục certificate và ba CA riêng. Bài này giải thích mô hình PKI/TLS làm nền cho mọi kết nối trong cluster: CA ký cho ai, mTLS hai chiều hoạt động ra sao, và một điểm hay quên — trường CN và O trong certificate chính là danh tính và nhóm RBAC mà api-server tin.