Skip to main content

Prerequisites for automated migration

Before you perform the migration steps, you need to make sure that you have met the prerequisites discussed in this section. Both Export and Import activities have their own set of prerequisites to adhere to.

WarningPrerequisites will change based on where you have set your Kubernetes cluster, AWS or Azure.

Prerequisites for export​

You need to make sure that you have:

  1. The Export XML file available in GitHub. You can generate the Export XML file by following the instructions given on this page.

  2. The Linux OS installed on your system and you have installed the following tools/plugins:

    • Helm v3.xx.x

    • kubectl client

    • Jenkins

      InformationIf you have Jenkins installed on Windows OS, you need to add a Linux agent in Jenkins. Refer to this page to know how to create a Linux agent.
    • Java 1.8+

    • Git

    • AWS CLI (Required if you are using EKS)

    • Azure client (Required if you are using AKS)

    • Azure kubelogin (Required if you are using AKS)

      Warning
      • Adeptia recommends that you install:
      • Jenkins with Administrative privileges.
      • Azure client, and Azure kubelogin as the Jenkins user.
      • If installed as different users, Jenkins may have issue in executing Azure commands. 
      • Adeptia recommends that you configure the Jenkins (after the installation) using the Install suggested plugins option.
  3. Installed the following Jenkins plugins:

    1. Kubernetes
    2. Kubernetes-cli
    3. Git (git plugin 4.8.3, Git client plugin 3.9.0)
    4. Mask Passwords
    5. Credentials Binding (1.27)
    6. Parameter Separator (Optional)
    7. BlueOcean (Optional)
    8. Azure credential (Required if you are using AKS)
  4. The access to the source Kubernetes environment where the application is installed.

  5. The access to GitHub repository where you have placed the Export XML file.

  6. Created the credential IDs for GitHub, database, and Kubernetes in Jenkins. For more details refer tothis section.

Prerequisites for import​

You need to make sure that you have:

  1. The Export ZIP file is ready.
  2. The Import and Retain XMLs are available in GitHub.
  3. Met the rest of the prerequisites same as that for Export.

Generating the Credential IDs​

You can generate credential IDs in Jenkins by using Credentials Binding plugin (for EKS) that helps you store an application's credentials in Jenkins. As you store the credentials in Jenkins, a credential ID is generated which is accessible globally in Jenkins and can be used in lieu of the actual credentials for the application. For more details on creating the credential IDs using the Credentials Binding Plugin, refer tothis page.

InformationIf you are using AKS, you need to install Azure credentials plugin in addition to the Credential binding plugin.
Warning
• To create the Credential ID for GitHub and database, select the type of credentials as Username and password.
• To create the Credential ID for EKS Kubernetes cluster, select the type of credentials as Secret file.
• To create the Credential ID for AKS Kubernetes cluster, select the type of credentials as Azure Service Principal. Selecting Azure Service Principal presents you with the following fields for which you need to get the values from the AKS service provider. 
Information Azure Service Principal must have Read/Write privileges on the namespace in the Kubernetes cluster where you have deployed the application. 

• Subscription ID
• Client ID
• Client Secret
• Tenant ID