10 Using and Migrating Container Services
10 Using and Migrating Container Services
2
Contents
1. Huawei Cloud Container Services
2. Container Migration
3
What Is a Container?
⚫ Containers are a lightweight virtualization technology. This technology allows user space on an OS to be
isolated and divided into several independent units that run in the kernel.
4
Differences Between Containers (Using Docker as
an Example) and VMs
Application 1 Application 2 Application 3
Host OS Host OS
Hardware Hardware
Server Container
5
Differences Between Cloud Containers (Using
Docker as an Example) and VMs
Container Container Container
image 1 image 2 image 3
Application 1 Application 2 Application 3
Docker engine
Support Support Support
module module module Support module
Host OS Host OS
Hardware Hardware
7
Container Scheduling and Kubernetes
A scheduler needs to know:
◼ Where are the available resources? What is ◆ Kubernetes is an orchestration management platform
the utilization of resources? proposed by Google.
◼ Which containers need to be run? ◆ Kubernetes is the most popular container platform.
◼ How many container instances need to be run? ◆ Huawei Cloud is an initial participant and important
◼ What is the way to start or stop an expected contributor of the Kubernetes community.
container on a selected resource? ◆ Huawei Cloud provides industry-recognized, leading
Kubernetes service implementation.
Kubernetes Master
(master node)
9
Container Implementation on Huawei Cloud
SoftWare Repository
for Container
(SWR)
Resource Formation Service
(RFS)
Auto scheduling of basic resources
Cloud Container
Engine
Heavy O&M:
(CCE)
Cloud Container Cloud Container security, patches, availability,
Instance Instance Cloud backup...
(CCI) (CCI)
server
10
CCE Turbo: A Flagship Container Engine Running
on Cloud Native Infrastructure
User UI Lower costs
New console • Container storage and networking offloading based on
QingTian architecture to improve resource utilization by 30%
• Higher container density (up to 256 independent IP
O&M upgrade Cluster version Cluster patch Add-on Cloud native addresses) on a single node in passthrough networking
Custom images
upgrade upgrade upgrade monitoring
Higher efficiency
• Passthrough networking through trunkports (for VMs) and ENIs
Backup and DR Data caching
Cross-cloud
Data migration
Storage fault (for BMSs), 40% higher performance
Storage access chain • Faster auto scaling: 500 nodes within 1 minute and 3,000
containers within 30 seconds
Common
container
Common
container
... Common
container
Kata
container
• Ultra-fast scheduling (up to 10,000 pods/second); cache +
multi-scheduler shared view
Comprehensive experience
• New GUI with scenario-specific wizard
Cloud native infrastructure powered by QingTian • Multi-path and one-click cluster upgrade without service
interruption
11
SoftWare Repository for Container (SWR)
multiple tags
Event triggers
12
SWR: Unified Cloud Native Artifact Repository
with Dedicated Isolation and Global Distribution
Product features:
OCI Helm Operator • SWR Enterprise Edition is independently deployed for
each tenant with dedicated domain names, resources,
and flow control.
Image Helm Operator
Enterprise-
repository repository repository dedicated
artifact Enterprise A Enterprise Advantages:
dedicated B
repository 1. Dedicated isolation
repository dedicated
OCI Helm Operator repository ⚫ Enhances the security of enterprise-grade
cloud native artifacts with physical multi-
tenancy deployment and access control.
2. Unified management of cloud native artifacts
⚫ Unifies management and distribution of
artifacts such as images, Helm charts, and
Operators.
Enterprise Enterprise A Enterprise B
3. Global image distribution and accelerated pulls:
applications application application
⚫ Allows pulls from Huawei Cloud, Huawei
Cloud Stack, and edge cloud across all
regions. Accelerates pulls with P2P, image
buffer, and download-free approaches.
14
Hybrid Cloud Native Resource Pool
CCE
ClusterManager NodePoolController CCI
• Supports hybrid
deployment of
API BMSs, VMs, and
Gateway
serverless for
high density and
CCE cluster CCI resource
flexibility.
pool
Prometheus HPA AutoScaler
Virtual • BMSs provide fixed
Kubelet
pod resources and VMs
provide elastic
Fixed resource pool Elastic resource CCI resource pool
pool pod resources. The
Node Node Node Node VM node
AutoScaler enables
pod pod pod pod pod
fast and flexible
pod pod pod pod pod scaling of cluster
nodes.
5 Observability
7
4 CCE cluster VM cluster BMS cluster End-to-end intelligent monitoring, logs, topologies, and tracing
6 Grayscale release
Node 1 Node N Node 1...N Node 1...N
Diverse forms of built-in grayscale release, such as canary
Pod 1 . Pod 1...N release, blue-green deployment, and A/B testing; traffic policies
VM BMS based on traffic ratio, request content (cookie, OS, and browser),
. VM VM
Container
Container Container
Container VM VM and source IP address
Container . Container
7 Cross-cluster governance
All-domain, unified service governance in multi-/hybrid
16 clouds
UCS: Extends Cloud Native to Wherever Needed
Government Large enterprises Internet Finance
Seamless cross-cloud and cross-region
Smart Smart Smart Smart Live Internet DR and Asset
Security IoV Gaming Education
transportation community healthcare stores streaming finance backup management
Hours ->
Third-party cloud 10 times 30%
Minutes
Local IDC O&M
Smartcom travel App access
efficienc
upgrade latency
Central region y
Dedicated region Edge cloud
17
Contents
1. Huawei Cloud Container Services
2. Container Migration
18
Cloud Native Application Migration Process
Scenario Phase Description
1. Cluster and node configuration information is automatically
collected by using tools. 2. Information about networking
Cloud native application survey
planning, dependencies, and service requirements is obtained
through surveys.
1. Evaluate whether the migration is complete and migration
actions are properly executed based on the migration checklist.
1. Use the image migration tool to migrate images. 2. After the
Image migration enterprise edition repository is brought online, migrate images on
the enterprise edition repository page.
1. Create a CCE cluster. 2. Create nodes (including labels and
Cloud native application taints) in the target cluster. 3. Customize resources (such as
Preparations for a CCE cluster
migration external DNS server configuration, storage and scheduling add-ons,
and credentials for accessing OBS).
Cloud disk, OBS, and file storage migration 1. Use the corresponding storage service for migration. 2. Create
the corresponding PVC/PV in the target cluster.
1. Connect the source and target clusters to UCS using the console
Application migration (free of charge). 2. Migrate clusters using the console (the
source cluster version must be 1.15 or later).
1. Modify the load balancer ID after the ingress and load balancer
Adaptation and modification after migration
are migrated.
Joint commissioning, test, and verification Cooperate with the customer to verify services.
19
Container Migration Process - Survey
【3】 Technology stack survey (covering cicd, monitoring, configuration center, etc.)
20
Output a Service Architecture Topology of
Containerized Applications
Containerized Application
Service Architecture Topology of
Cloud services
a Project
MySQL Redis Kafka NAS
CCE cluster
Public access CCI APM
CCI AOM OBS
Servers
Deployment SWR
ConfigMap
CDN WAF DNS Microservic Load PV/PVC Secret
e gateway balancing Pod Pod Pod
OpenResty
Self-built services on
Git ECS Nexus server
repository
Node Node Node
Self-built services on ECS
Development Testing Pre-release Production
Build and push an image ZooKeeper MQs Apollo Elasticsearch
to SWR. Create a
Deployment workload using
Jenkins- the image on CCE.
ECS
21
Item Sub-item Option Migration Method Remarks
Compute VM ECS SMS + Redeployment
VPC VPC
Load balancer ELB
Elastic IP address EIP
SNAT NAT Gateway Redeployment
Networking
DANT NAT Gateway
Private line Direct Connect
Security group SEG
SSL-VPN N/A Self-built and re-deployed VMs Dial-up access to cloud resources in offices
Interconnection between self-built CI/CD and CCE and
K8s CCE Container image, redeployment
containerization are involved.
Containerize Image repository, Harbor SWR is not supported. Self-built server + SMS
d Self-built MySQL RDS + DDM
application DRS + Database and table re-sharding Database and table sharding on the source client
Service-oriented MySQL RDS
Adaptation between the original standalone CME and the two-replica
Document database DDS DRS
deployment
RabbitMQ RabbitMQ Migrating the production first
Message
middleware Kafka Kafka Migrating the production first
23
Example of Collecting Cloud Native Application
Information
Kubernetes version and cluster
scale
Container engine: runC, Kata, and Podman
Whether the vendor or self-developed CRD or operator is
used.
Whether there are strong requirements for guest
OSs. Kubernetes-
related Performance requirements
Whether the vendor-developed Webhook and sidercar are information
used. Network connectivity. Pods can be accessed
Whether the vendor or self-developed scheduler is Container externally.
used. networking Security requirements: flat network and network
Data source of auto scaling rules policies
Whether a fixed IP address is
Whether heterogeneous resources, such as Arm and GPU, are required.
used.
Whether snapshot, encryption, backup, capacity Workload type
expansion, and block storage are required. Containerized
applications Whether to use Helm to manage applications. Helm
Whether file is used for
versions.
storage.
Information
Whether OBS is used. collection
Container storage
Service mesh Whether to use Istio. Istio version.
Whether local disk is used
Whether to interconnect with the DevOps pipeline and whether standard
Whether local PV is used. Kubernetes APIs or vendor's private APIs are used
Whether security tools such as image scanning, image runtime Whether to interconnect with IaaS to automatically manage and scale
detection, and image signature are used. nodes.
Securit Whether to connect to the user authentication system and the connection
Whether the vendor-provided key management system (KMS) is used or y Interconnection mode.
whether the encryption protocol is used. with the Whether to interconnect with the O&M system and whether to interconnect with the
customer system O&M system through private APIs or middleware such as Kafka and Elasticsearch.
Whether vendor-provided middleware services are used, such as Other Whether the cloud CMDB platform is interconnected and whether standard Kubernetes
databases, caches, and message queues. dependencies APIs or vendor's private APIs are used.
Whether to connect to the load balancer and whether to use the vendor-defined
ingress.
24
Summary of Cloud Native Migration Services
Project Sub-project Migration Method Remarks
Kubernetes Scale: 50/200/1000/2000
cluster Type: General and Turbo cluster
Container image Use Docker pull/push commands or image-syncer to push images to SWR.
Container For details, see Huawei Cloud planning: VPC network, ENIs, and overlay
Container networking
networking network.
Service/Ingress After the migration, modify the load balancer configuration.
Kubernetes Source cluster: Velero tool
metadata Target cluster: e-backup add-on
Container
storage
Source cluster: Velero tool
PV Single PV < 500 GB
Target cluster: e-backup add-on
Mount the volume to VMs and migrate data to Huawei Cloud using private
Non PV
lines.
Dependency
Relational database Migrate data through DRS.
OBS Migrate data through OMS.
Redis Migrate data through DCS.
NAS Migrate data using the rclone tool.
25
Creating a CCE Cluster and an SWR Repository
1. Create CCE clusters, nodes, and namespaces based on the LLD output in the survey table.
2. Configure the kubectl command on nodes.
26
Migrating Images to Huawei Cloud SWR Using
image-syncer Migration
Application scenario: Migrating an open source or self-built principle
Migrating an image repository using the image synchronization
image repository to Huawei Cloud SWR function
Other cloud or
Huawei Cloud
self-built
repository
(SWR) Migration procedure
1. Create an SWR repository.
Source Kubernetes 2. Create a namespace, set the default repository type, and
platform
CCE or CCI
enable the function of automatically creating a
Repository Migration SWR
repository.
3. Configure access control for the public network.
4. Configure access credentials.
5. Use the password created in the access credential to
complete the synchronization configuration of image-
syncer.
Image migration 6. Run the tool.
27
Migrating Dependencies
Storage data migration
1. Migrate backend storage volumes NAS and OBS to Huawei Cloud using the rclone tool.
2. Connect to an existing SFS file system (OBS) to create a PV and PVC using kubectl.
Migrate the source cloud services to the corresponding Huawei Cloud services.
Migrate the self-built ECS and source services to Huawei Cloud using the SMS host or
29
Modifying Applications for Adaptation
⚫ After the migration, update and adapt the service system to Huawei Cloud as required
to secure that services can run properly. The adaptation content includes but is not
limited to the following:
Change the store class type as required. Currently, Huawei Cloud supports csi-disk, csi-disk-
Storage class
topology, csi-nas, csi-obs, and csi-sfsturbo.
1. Obtain the connection mode of Huawei Cloud RDS (check and update for cloud native
Database databases).
2. Update the application configuration and connect to the target database.
30
Verifying Services
Check the running status of the Deployment workload and
check whether pods are killed due to a health check
failure.
Check the container service logs on AOM.
Enable the APM probe and view the call chain on the APM console.
【4】 Perform the function test and CTPS pressure test based on the service.
31
Thank You.
Copyright©2023 Huawei Technologies Co., Ltd. All Rights Reserved.
The information in this document may contain predictive statements including,
without limitation, statements regarding the future financial and operating
results, future product portfolio, new technology, etc. There are a number of
factors that could cause actual results and developments to differ materially
from those expressed or implied in the predictive statements. Therefore, such
information is provided for reference purpose only and constitutes neither an
offer nor an acceptance. Huawei may change the information at any time
without notice.
32