Docker - Kiến trúc Kubernetes
Kubernetes là một khung điều phối cho các vùng chứa Docker giúp hiển thị các vùng chứa dưới dạng dịch vụ với thế giới bên ngoài. Ví dụ: bạn có thể có hai dịch vụ - Một dịch vụ sẽ chứanginx và mongoDBvà một dịch vụ khác sẽ chứa nginx và redis. Mỗi dịch vụ có thể có một IP hoặc điểm dịch vụ có thể được kết nối bởi các ứng dụng khác. Kubernetes sau đó được sử dụng để quản lý các dịch vụ này.
Sơ đồ sau đây cho thấy ở một định dạng đơn giản cách Kubernetes hoạt động theo quan điểm kiến trúc.
Các minionlà nút mà tất cả các dịch vụ chạy trên đó. Bạn có thể có nhiều tay sai chạy cùng một lúc. Mỗi minion sẽ lưu trữ một hoặc nhiều POD. MỗiPODgiống như lưu trữ một dịch vụ. Mỗi POD sau đó chứa các vùng chứa Docker. Mỗi POD có thể lưu trữ một tập hợp các vùng chứa Docker khác nhau. Sau đó proxy được sử dụng để kiểm soát việc đưa các dịch vụ này ra thế giới bên ngoài.
Kubernetes có một số thành phần trong kiến trúc của nó. Vai trò của từng thành phần được giải thích bên dưới & mius;
etcd - Thành phần này rất sẵn có key-value cửa hàng được sử dụng để lưu trữ shared configuration và service discovery. Tại đây, các ứng dụng khác nhau sẽ có thể kết nối với các dịch vụ thông quadiscovery service.
Flannel - Đây là một mạng phụ trợ cần thiết cho các vùng chứa.
kube-apiserver - Đây là một API có thể được sử dụng để sắp xếp các vùng chứa Docker.
kube-controller-manager - Điều này được sử dụng để kiểm soát Kubernetes services.
kube-scheduler - Điều này được sử dụng để lập lịch các vùng chứa trên máy chủ.
Kubelet - Điều này được sử dụng để kiểm soát việc khởi chạy các vùng chứa thông qua manifest files.
kube-proxy - Điều này được sử dụng để cung cấp dịch vụ proxy mạng cho thế giới bên ngoài.