Legacy Container의 Migration
Legacy Container의 Migration
Overview
Kubernetes is a platform designed to automate the management of multiple container applications. You can build and operate container-based applications by automating various tasks, such as container deployment, management, and scaling, using Kubernetes.
Kubernetes Engine, the Kubernetes product provided by Samsung Cloud Platform, is a platform for deploying and managing containerized applications.
This document introduces the migration of third-party Kubernetes-based applications and platforms to Samsung Cloud Platform, a prerequisite for using the Kubernetes Engine service.
Architecture Diagram
- Migrate the Storage currently used in the existing Kubernetes environment to the Samsung Cloud Platform environment.
- Apply for the Kubernetes Engine product based on the migrated Storage and create a Node pool.
- Create PV (Persistent Volume) and PVC (Persistent Volume Claim) objects for services within the Kubernetes Engine cluster to prepare for storage connection.
- Deploy a Kubernetes Object to a Kubernetes Engine cluster from a kubectl client environment or a Kubernetes deployment environment.
Use Cases
A. Migration in an environment managing Kubernetes Manifest files
You can perform the migration by deploying to a Kubernetes Engine cluster using the Kubernetes Manifest files you previously managed. Apply your own Kubernetes deployment environment and CD tools (Helm, ArgoCD, etc.) directly to the Samsung Cloud Platform’s Kubernetes Engine cluster environment, deploying Kubernetes Objects in the same way as before, which enables a more stable and efficient migration.
When creating a Kubernetes service based on the existing data of the transferred storage, PV and PVC objects may need to be created manually using manifest files rather than a CD tool.
B. Migration work in environments where Kubernetes Manifest files are not managed
If you have not been managing Kubernetes Manifest files, you can extract the Manifest files from your existing Kubernetes cluster environment and migrate them to the Samsung Cloud Platform Kubernetes Engine cluster.
Extract Kubernetes Object (manifest) information (.yaml) from the existing environment, refine it to fit the Kubernetes Engine environment, and deploy via the kubectl command to migrate.
Prerequisites
Before creating the Kubernetes Engine service, you need to create and configure related products. (VPC, Subnet, Security Group, Load Balancer, File Storage, etc.)
You need to connect to the Samsung Cloud Platform Kubernetes cluster from the kubectl client environment and the Kubernetes deployment environment. (Network, kube config, etc.)
When creating PVs and PVCs, the manifest file must be refined with information about the transferred storage.
To use Service type:LoadBalancer, a Load Balancer product that can be linked to the Kubernetes Engine offering is required.
Constraints
The maximum number of Worker Nodes that can be created in Kubernetes Engine is limited by the available IP range in the subnet, and you can create at most 100.
Worker Nodes created in Kubernetes Engine may be assigned IPs different from the existing environment.
Considerations
You need to verify the list of services subject to migration.
If you are currently managing Kubernetes Manifest files using an existing CD tool for service deployment, you must decide whether to use the CD tool when deploying the service.
Sizing work is required for products related to Kubernetes Engine. (Storage, LB, Node(VM), etc.)
After creating a Kubernetes Engine product, you need to consider in advance the integrated services (e.g., load balancers, storage, etc.) that cannot be modified.
Depending on the supported Kubernetes Engine version, major/minor updates may be required if necessary.
Related Services
This is a list of Samsung Cloud Platform services associated with the features or configurations described in this guide. Please refer to this when selecting and designing the service.
| service group | Service | Detailed description |
|---|---|---|
| Container | Kubernetes Engine | Kubernetes container orchestration service |
| Networking | VPC | A service that provides an isolated virtual network in a cloud environment |
| Networking | Security Group | Virtual firewall that controls VM traffic |
| Storage | File Storage | Storage that enables multiple client servers to share files over a network connection. |
| Compute | Virtual Server | Virtual server optimized for cloud computing |
| Networking | Load Balancer | A service that automatically distributes server traffic load. |
