Updated on 2024-10-29 GMT+08:00

Introduction to CCE Cloud Bursting Engine for CCI

Overview

This section describes the functions, required resources, and custom annotations of CCE Cloud Bursting Engine for CCI (also called the bursting add-on).

Functions

The figure shows how workloads running in a CCE cluster with the bursting add-on installed are scheduled to CCI. In this process, you only need to take care of workload creation and scheduling.

Scheduling workloads to CCI is closely related to your workload settings.

Pod Configuration Item

Description

Specification

Reference

Scheduling

You can manage pods in a CCE cluster in multiple ways to control their scheduling to CCI. You can also configure scheduling policies to improve cluster resource utilization.

  • There are four scheduling policies.
  • There are two methods for managing scheduling policies.
  • Multiple virtual nodes can be scheduled.

Scheduling Pods to CCI

Resource quotas

You can configure fields such as cpu and memory to specify resource specifications and limits for containers in a pod. The add-on selects appropriate resource specifications to an integer for better resource utilization.

Appropriate pod resource quotas are selected.

Resource Specifications

Images

You can configure service images and run your service containers in Huawei Cloud CCE clusters and CCI.

  • The image configuration mode can be changed.
  • Images can be upgraded in-place.

Images

Storage

You can mount storage volumes to workloads for persistent data storage.

  • There are multiple storage volume types.
  • The hostPath volume of a workload can be replaced.

Storage

Networking

You can plan the network topology between CCE clusters and CCI.

  • Pods in CCI can be exposed by the Service.
  • Pods in a CCE cluster can communicate with pods in CCI through the Service.
  • cluster-dns can be specified.
  • Global EIPs can be bound to pods.

Networking

Logging

You can install the Cloud Native Logging and bursting add-ons at the same time to collect pod logs in CCI.

  • The cloud native logging add-on can report logs of pods scheduled to CCI.
  • Logs can be automatically dumped.

Logging

Monitoring

You can install add-ons to connect to Monitoring Center for better O&M of pods scheduled to CCI.

  • Monitoring Center can connect to AOM.
  • Monitoring Center can connect to Prometheus.

Monitoring

Resource Usage Description

The following table describes the cloud services involved when the bursting add-on is installed in a CCE cluster.

Involved Cloud Service

Resource Description

Remarks

CCI

A namespace called cce-burst-{CCE cluster ID} will be created for the bursting add-on in CCI.

  • Do not use this namespace in CCI. If you need to use CCI, create a namespace.
  • CCI namespaces are free for use.

CCE

Workloads, secrets, ConfigMaps, PVs, and PVCs in CCE are synchronized to CCI and occupy CCE node resources.

  • If there are 1,000 pod and 1,000 ConfigMaps in your CCE cluster, you can apply for 2 cores and 4 GiB of memory.
  • If there are 2,000 pod and 2,000 ConfigMaps in your CCE cluster, you can apply for 4 cores and 8 GiB of memory.
  • If there are 4,000 pod and 4,000 ConfigMaps in your CCE cluster, you can apply for 8 cores and 16 GiB of memory.

ELB

If pods in a CCE cluster can communicate with the pods CCI through the Service, the bursting add-on automatically creates a shared load balancer.

  • The shared load balancer is named cce-lb-xxx.
  • When the add-on is uninstalled, the load balancer is automatically deleted.

VPC

Pods scheduled to CCI use the same VPC as the CCE cluster.

The CIDR block of the Service in the CCI namespace is 10.247.0.0/16. Do not configure the same CIDR block for the VPC subnet of the CCE cluster.

SWR

When you create a workload in CCE, the image can be pulled from SWR.

Ensure that your image has been pushed to SWR.

Pod Annotations

If the bursting add-on is installed in a CCE cluster, custom annotations are required. The following table describes the annotations.

Annotation Key

Description

Reference

scheduling.cci.io/managed-by-profile

Profile that manages the pods scheduled to CCI

Scheduling Pods to CCI

virtual-kubelet.cci.io/burst-pod-cpu

vCPUs of pods after they are scheduled to CCI

Resource Specifications

virtual-kubelet.cci.io/burst-pod-memory

Memory of pods they are scheduled to CCI

Resource Specifications

coordinator.cci.io/inject-volumes

Annotation injected by the cloud native logging add-on for collecting CCI pod logs

Logging

logconf.k8s.io/fluent-bit-configmap-reference

Annotation injected by the cloud native logging add-on for collecting CCI pod logs

Logging

logconfigs.logging.openvessel.io

Annotation injected by the cloud native logging add-on for collecting CCI pod logs

Logging

sandbox-volume.openvessel.io/volume-names

Annotation injected by the cloud native logging add-on for collecting CCI pod logs

Logging

coordinator.cci.io/image-replacement

Annotation for replacing image path prefixes

Images