Who’s Using Kubernetes? Huawei

Rahul Prajapati
5 min readDec 26, 2020

--

What is Kubernetes?

Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.

How Huawei uses Kubernetes.

Auto Cluster Scaling

Computing resources can be adjusted based on service requirements and preset strategies. The number of cloud servers or containers increases or decreases with service traffic changes, ensuring service stability.

Advantages

Flexibility

Offer multiple scaling policies and scale containers in seconds when specified conditions are met.

High Availability

Automatically detect the statuses of pods in auto-scaling groups and replace unhealthy pods with new ones.

Low Cost

Charge you only for the cloud servers that you use.

Kubernetes on HUAWEI CLOUD

Kubernetes is an open source container orchestration engine that allows you to deploy, run, and manage containerized applications.

Kubernetes Overview

With Kubernetes, you can deploy, run, and manage containerized applications at scale. Kubernetes has a large, rapidly growing ecosystem. It’s services, support, and tools are widely available.

On HUAWEI CLOUD, you can build highly scalable Kubernetes clusters in Cloud Container Engine (CCE), a Kubernetes-certified service, which is supported by high-performance IaaS services for compute (ECS/BMS), network (VPC/EIP/ELB), and storage (EVS/OBS/SFS).

How Kubernetes Works

Kubernetes manages clusters of compute instances and schedules containers to run on the clusters based on available resources and the resources requested by each container. Kubernetes runs and scales containers in logical groups called pods. Kubernetes control plane components determine when and where to run pods, manage traffic routing, and scale pods based on the resource utilization or metrics you define.

  • Container Grouping and Scheduling.
  • Service Discovery.

https://support.huaweicloud.com/intl/en-us/basics-cce/kubernetes_0023.html

  • Auto scaling.

Why Use Kubernetes

Kubernetes is an open source project. You can use it to run your containerized applications without changing the toolsets you use. Kubernetes is maintained by a large community of volunteers who continuously improve it. Many other open source projects and vendors are also building and maintaining Kubernetes-compatible software that you can use to improve and extend your application architecture.

  • Run applications at scale

Kubernetes allows you to define complex containerized applications and run them at scale across a cluster of servers.

  • Migrate applications seamlessly

Containerized applications are separated from their underlying resources. Therefore, you can seamlessly migrate your containerized applications from local development machines to production deployments in the cloud using the same toolset.

  • Scale pods easily

Kubernetes automatically scales pods based on monitoring metrics. It monitors and maintains your containers to ensure that services run reliably.

  • Add more scalability

As an open source project, Kubernetes is maintained by a large community of developers and companies that build extensions, integrations, and plug-ins to help you do more with Kubernetes.

Run Kubernetes on HUAWEI CLOUD

HUAWEI CLOUD makes it easy to run Kubernetes. You can choose to manage your Kubernetes infrastructure using HUAWEI CLOUD CCE, or obtain an automatically provisioned, managed Kubernetes control plane by using CCE. Either way, you get powerful, community-backed integrations to HUAWEI CLOUD services such as VPC, IAM, service discovery, as well as the enterprise-grade security, scalability, and high availability that HUAWEI CLOUD provides.

Contribution to the Kubernetes Community

HUAWEI CLOUD continues to contribute to the open source community in many fields, including edge computing, batch computing, and container networking.

KubeEdge originates from HUAWEI CLOUD Intelligent EdgeFabric (IEF). KubeEdge became an official project of CNCF in March 2019, and is the first and only open source CNCF project that extends native containerized application orchestration capabilities to hosts at the edge.

Volcano derives from the HUAWEI CLOUD Kubernetes-Native Batch Computing Solution. Volcano became an official project of CNCF in April 2020, and is the first container batch computing project of CNCF. It provides a suite of mechanisms commonly required by AI, genomics, and big data applications, which is currently unavailable from Kubernetes.

In June 2020, CNCF officially accepted CNI-Genie developed by HUAWEI CLOUD. CNI-Genie is a cloud-native multi-network-plane project based on Kubernetes. It enables Kubernetes to simultaneously have access to different implementations of the Kubernetes network model in the container runtime.

Kubernetes FAQs

What is a Kubernetes cluster?

A Kubernetes cluster is a logical group of HUAWEI CLOUD compute instances on which your containers run. A cluster consists of the control plane (instances that control when, where, and how containers run) and the data plane (instances where your containers run). You need to create a cluster and then use Kubernetes to run containers or services.

What is a Kubernetes node?

A Kubernetes node is a single compute instance (VM). There are two types of nodes: master and worker nodes. A master node hosts the Kubernetes API server and controls container running. A worker node is where your containers run and process data.

What is a Kubernetes pod?

Kubernetes uses pods to run your containers on a compute instance. A pod contains containers and parameters that define how the container runs, networking configuration, and storage modes. A pod can contain a single container or multiple containers tightly coupled. A single-container pod can be regarded as a running container.

What are affinity scheduling and anti-affinity scheduling?

Kubernetes supports node-level and pod-level affinity and anti-affinity. You can configure custom rules to achieve affinity and anti-affinity scheduling. For example, you can deploy frontend pods and backend pods together, deploy the same type of applications on a specific node, or deploy different applications on different nodes.

Does CCE support Kubernetes?

CCE makes it easy to run Kubernetes. Because HUAWEI CLOUD is an integral part of the Kubernetes community, you can use CCE to seamlessly run the Kubernetes engine on HUAWEI CLOUD without installing or operating the Kubernetes control plane.

--

--

No responses yet