Cluster Overview
Kubernetes is a containerized application software system that can be easily deployed and managed. It facilitates container scheduling and orchestration.
For application developers, Kubernetes can be regarded as a cluster operating system. Kubernetes provides functions such as service discovery, scaling, load balancing, self-healing, and even leader election, freeing developers from infrastructure-related configurations.
When using Kubernetes, it is like you run a large number of servers as one on which your applications run. Regardless of the number of servers in a Kubernetes cluster, the method for deploying applications in Kubernetes is always the same.
Kubernetes Cluster Architecture
A Kubernetes cluster consists of master nodes (Masters) and worker nodes (Nodes). Applications are deployed on worker nodes, and you can specify the nodes for deployment.
![](https://support.huaweicloud.com/eu/usermanual-cce/public_sys-resources/note_3.0-en-us.png)
For CCE clusters, master nodes are hosted by CCE. You only need to create worker nodes.
The following figure shows the architecture of a Kubernetes cluster.
![Click to enlarge](https://support.huaweicloud.com/eu/usermanual-cce/en-us_image_0267028603.png)
Master node
A master node is the machine where the control plane components run, including API server, scheduler, controller manager, and etcd.
- API server: a transit station for components to communicate with each other. It receives external requests and writes data into etcd.
- Controller manager: carries out cluster-level functions, such as component replication, node tracing, and node fault fixing.
- Scheduler: schedules containers to nodes based on various conditions (such as available resources and node affinity).
- etcd: provides distributed data storage for cluster configurations.
In a production environment, multiple master nodes are deployed to ensure high cluster availability. For example, you can deploy three master nodes for your CCE cluster.
Worker node
A worker node is a compute node for running containerized applications in a cluster. A worker node consists of the following components:
- kubelet: communicates with the container runtime, interacts with the API server, and manages containers on the node.
- kube-proxy: an access proxy between application components.
- Container runtime: an engine such as Docker software for downloading images and running containers.
Number of Master Nodes and Cluster Scale
When you create a cluster on CCE, the number of master nodes can be set to 1 or 3. Three master nodes can be deployed to create a cluster in HA mode.
The master node specifications determine the number of nodes that can be managed by a cluster. When creating a cluster, you can select the cluster management scale, for example, 50 or 200 nodes.
Cluster Network
From the perspective of the network, all nodes in a cluster are located in a VPC, and containers are running on the nodes. You need to configure node-node, node-container, and container-container communication.
A cluster network can be divided into three network types:
- Node network: IP addresses are assigned to nodes in a cluster.
- Container network: IP addresses are assigned to containers in a cluster for communication between them. Currently, multiple container network models are supported, and each model has its own working mechanism.
- Service network: A service is a Kubernetes object used to access containers. Each Service has a fixed IP address.
When you create a cluster, select a proper CIDR block for each network to ensure that the CIDR blocks do not conflict with each other and each CIDR block has sufficient available IP addresses. After a cluster is created, the container network model cannot be modified. Plan the container network model properly before creating a cluster.
You are advised to learn about the cluster network and container network models before creating a cluster. For details, see Overview.
Cluster Lifecycle
Status |
Description |
---|---|
Creating |
A cluster is being created and is requesting for cloud resources. |
Normal |
A cluster is running properly. |
Scaling-out |
A node is being added to a cluster. |
Scaling-in |
A node is being deleted from a cluster. |
Hibernating |
A cluster is hibernating. |
Awaking |
A cluster is being woken up. |
Upgrading |
A cluster is being upgraded. |
Unavailable |
A cluster is unavailable. |
Deleting |
A cluster is being deleted. |
![Click to enlarge](https://support.huaweicloud.com/eu/usermanual-cce/en-us_image_0000001160731158.png)
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.