Migrate Kubernetes deployments into Azure Container Apps
Project description
K8sToAzureContainerApp
Overview
K8sToAca is a Python tool designed to streamline the process of transitioning Kubernetes namespaces into Azure Container App environments. Leveraging the Kubernetes API, this tool retrieves all deployment objects within the specified namespace and generates Azure Container Apps deployment in YAMLs, JSON or Terraform(in Beta). Additionally, it provides a shell script containing commands necessary for deploying the generated deployment files using the Azure CLI.
Parameters
Parameter | Mandatory | Description |
---|---|---|
namespace |
True | The Kubernetes namespace to be migrated. |
context |
True | The name of the Kubernetes config context for the cluster. |
aca_resource_group |
True | The Azure Resource Group where the Container App Environment exists. |
aca_environment |
True | The name of the Azure Container App Environment. |
output |
False | Output format values (yaml, json, terraform). Terraform output is in preview. Default value: yaml |
outputpath |
False | Output folder. Default value: current path |
Features
K8sToAzureContainerApp can generate deployment scripts in YAML format from a specified Kubernetes namespace. Currently, it supports migrating the following objects:
- POD:
- Deployment
- Pod
- Horizontal Pod Autoscaler
- Configuration:
- Secrets
- Storage:
- Volumes
- Network/Exposure:
- Ingress
- Service
- Endpoint
Installation
You can install K8sToAca using pip:
-
pip install: Run the following command:
pip3 install k8s-to-azure-container-app
-
Generate a package:
Alternatively, you can download the source code and follow these steps for a manual installation:
pip install -e .
Usage
Run K8sToAca using the following command:
K8sToAca --namespace my_name_space --context cluster_context --aca_resource_group target_resource_group --aca_environment target_container_app_environment_name
Replace the placeholders with your actual values.
Deploy to Azure deployment script:
./deployment.sh
Recomendation
Install Azure CLI using https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
Ensure your Azure CLI and the Azure Container Apps extension are up to date by executing the following commands:
az upgrade
az extension add -n containerapp --upgrade
License
This tool is licensed under the MIT License. See the LICENSE file for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file k8s_to_azure_container_app-0.1.0.tar.gz
.
File metadata
- Download URL: k8s_to_azure_container_app-0.1.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb36d37ec8755225fb972838deeac266724a68764a9617f3772c6388a51aaa3b |
|
MD5 | 964af2d5088258df70af4861bdbf189a |
|
BLAKE2b-256 | 68e9a9bd445d324c172563f27232ec58fe6237fc4b1bf5644b79c71d2e843e06 |
File details
Details for the file k8s_to_azure_container_app-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: k8s_to_azure_container_app-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5892ef947436e5841da562aee9e34e136e4eb6e01cb1198acb61863834a48a7 |
|
MD5 | c940b9cb6074154bb0de975da2f08b31 |
|
BLAKE2b-256 | 5a36bf4df271f232640b645c72ddcfbf17b8187217225f1ecefd1c5fb933ac3a |