Kubernetes - Kiến trúc

Trong chương này, chúng ta sẽ thảo luận về kiến ​​trúc cơ bản của Kubernetes.

Kubernetes - Kiến trúc cụm

Như được thấy trong sơ đồ sau, Kubernetes tuân theo kiến ​​trúc máy khách-máy chủ. Trong đó, chúng tôi đã cài đặt chính trên một máy và nút trên các máy Linux riêng biệt.

Các thành phần chính của nút chính và nút được định nghĩa trong phần sau.

Kubernetes - Thành phần máy chính

Sau đây là các thành phần của Kubernetes Master Machine.

vvd

Nó lưu trữ thông tin cấu hình có thể được sử dụng bởi mỗi nút trong cụm. Nó là một kho giá trị khóa có tính khả dụng cao có thể được phân phối giữa nhiều nút. Nó chỉ có thể truy cập bằng máy chủ Kubernetes API vì nó có thể có một số thông tin nhạy cảm. Đó là một Kho lưu trữ giá trị khóa được phân phối mà tất cả mọi người đều có thể truy cập được.

Máy chủ API

Kubernetes là một máy chủ API cung cấp tất cả hoạt động trên cụm bằng cách sử dụng API. Máy chủ API triển khai một giao diện, có nghĩa là các công cụ và thư viện khác nhau có thể dễ dàng giao tiếp với nó.Kubeconfiglà một gói cùng với các công cụ phía máy chủ có thể được sử dụng để giao tiếp. Nó tiết lộ API Kubernetes.

Người quản lý điều khiển

Thành phần này chịu trách nhiệm cho hầu hết các bộ sưu tập điều chỉnh trạng thái của cụm và thực hiện một nhiệm vụ. Nói chung, nó có thể được coi là một daemon chạy trong vòng lặp liên tục và chịu trách nhiệm thu thập và gửi thông tin đến máy chủ API. Nó hoạt động theo hướng nhận trạng thái chia sẻ của cụm và sau đó thực hiện các thay đổi để đưa trạng thái hiện tại của máy chủ về trạng thái mong muốn. Bộ điều khiển chính là bộ điều khiển sao chép, bộ điều khiển điểm cuối, bộ điều khiển không gian tên và bộ điều khiển tài khoản dịch vụ. Trình quản lý bộ điều khiển chạy các loại bộ điều khiển khác nhau để xử lý các nút, điểm cuối, v.v.

Người lập kế hoạch

Đây là một trong những thành phần quan trọng của Kubernetes master. Nó là một dịch vụ tổng thể chịu trách nhiệm phân phối khối lượng công việc. Nó chịu trách nhiệm theo dõi việc sử dụng tải làm việc trên các nút cụm và sau đó đặt khối lượng công việc vào tài nguyên nào có sẵn và chấp nhận khối lượng công việc. Nói cách khác, đây là cơ chế chịu trách nhiệm phân bổ nhóm cho các nút có sẵn. Bộ lập lịch chịu trách nhiệm sử dụng khối lượng công việc và phân bổ nhóm cho nút mới.

Kubernetes - Các thành phần nút

Sau đây là các thành phần chính của máy chủ Node cần thiết để giao tiếp với Kubernetes master.

Docker

Yêu cầu đầu tiên của mỗi nút là Docker giúp chạy các vùng chứa ứng dụng được đóng gói trong một môi trường hoạt động tương đối cô lập nhưng nhẹ.

Dịch vụ Kubelet

Đây là một dịch vụ nhỏ trong mỗi nút chịu trách nhiệm chuyển tiếp thông tin đến và đi từ dịch vụ máy bay điều khiển. Nó tương tác vớietcdlưu trữ để đọc chi tiết cấu hình và giá trị wright. Điều này giao tiếp với thành phần chủ để nhận lệnh và hoạt động. Cáckubeletquy trình sau đó đảm nhận trách nhiệm duy trì trạng thái công việc và máy chủ nút. Nó quản lý các quy tắc mạng, chuyển tiếp cổng, v.v.

Dịch vụ proxy Kubernetes

Đây là một dịch vụ proxy chạy trên mỗi nút và giúp cung cấp dịch vụ cho máy chủ bên ngoài. Nó giúp chuyển tiếp yêu cầu sửa vùng chứa và có khả năng thực hiện cân bằng tải nguyên thủy. Nó đảm bảo rằng môi trường mạng có thể dự đoán và truy cập được, đồng thời nó cũng bị cô lập. Nó quản lý các nhóm trên nút, khối lượng, bí mật, tạo kiểm tra sức khỏe của vùng chứa mới, v.v.

Kubernetes - Cấu trúc Master và Node

Các hình minh họa sau đây cho thấy cấu trúc của Kubernetes Master và Node.