Skip to main content

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:

  1. pip install: Run the following command:

    pip3 install k8s-to-azure-container-app
    
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

k8s_to_azure_container_app-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

k8s_to_azure_container_app-0.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file k8s_to_azure_container_app-0.1.0.tar.gz.

File metadata

File hashes

Hashes for k8s_to_azure_container_app-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb36d37ec8755225fb972838deeac266724a68764a9617f3772c6388a51aaa3b
MD5 964af2d5088258df70af4861bdbf189a
BLAKE2b-256 68e9a9bd445d324c172563f27232ec58fe6237fc4b1bf5644b79c71d2e843e06

See more details on using hashes here.

File details

Details for the file k8s_to_azure_container_app-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for k8s_to_azure_container_app-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d5892ef947436e5841da562aee9e34e136e4eb6e01cb1198acb61863834a48a7
MD5 c940b9cb6074154bb0de975da2f08b31
BLAKE2b-256 5a36bf4df271f232640b645c72ddcfbf17b8187217225f1ecefd1c5fb933ac3a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page