Overall structure
Master Architecture
Node architecture
Layered architecture
Kubernetes design and function is actually a Linux-like layered architecture, as shown below.
- Core layer: Kubernetes core function, provide external API to build high-rise applications, providing internal plug-in application execution environment
- Application Layer: Deployment (stateless applications, stateful applications, batch jobs, clustered applications etc.) and route (service discovery, DNS parsing, etc.), Service Mesh (part of the application layer)
- Management: system metrics (such as measurement infrastructure, container and networks), automation (such as automatic scaling, dynamic Provision, etc.) and policy management (RBAC, Quota, PSP, NetworkPolicy etc.), Service Mesh (part of management is located)
- Interface Layer: kubectl command-line tool, the client SDK and a cluster federal
- Ecosystems: ecosystem cluster management scheduling large container on the interface layer, can be divided into two categories