Migrating Micro-Services

This step is a part of the service nodes migration to Azure. The migration procedure is applicable to all micro-service applications.

Pre-requisites

If a micro-service uses a database, the database must be migrated to Azure before starting the micro-service migration.

Migration Procedure

To migrate a micro-service to Azure:

  1. Find the release chart version for the micro-service:
    1. Go to the Operations management node.
    2. Run the following command (the example below is for GDPR):

      helm ls gdpr
      NAME REVISION UPDATED STATUS CHART NAMESPACE
      gdpr-backend 1 Fri Aug 3 14:15:47 2018 DEPLOYED gdpr-backend-1.0.446 default
  2. Obtain the chart values for the release:

    helm get values gdpr-backend --all > values.yaml
  3. If the application uses a database, before installing the application helm package to the AKS, change the DB host IP address setting in the chart values:

    Open values.yaml and set dshost to the IP address which was assigned to the DB host during the application database migration.

  4. If the application uses a database, make sure that access from the AKS nodes subnet to the database is allowed:

    1. Correct the corresponding pg_hba.conf.
    2. Reload the Postgres service.

    Note: Since more nodes can be added to the AKS in future or a node's IP address can be changed, we recommend that you allow access to the database for the whole AKS nodes subnet. By default, the AKS nodes subnet IP range is 10.240.0.0/24.

  5. Install the same micro-service release to the AKS:

    Note: Make sure that the chart version is the same as the version you retrieved above.

    helm install --wait --values=values.yaml --name=gdpr-backend a8n/gdpr-backend --version=1.0.446

Example (UX1 Marketplace)

To migrate UX1 Marketplace to Azure:

  1. Find the release chart version for the UX1 Marketplace micro-service:

    # helm ls ux1-marketplace
    NAME REVISION UPDATED STATUS CHART NAMESPACE
    ux1-marketplace 12 Wed Sep 12 06:29:55 2018 DEPLOYED ux1-marketplace-1.2.0-502 default
  2. Obtain the chart values for the release:

    helm get values ux1-marketplace --revision=12 --all > values.yaml
  3. Install the same UX1 Marketplace release to the AKS:

    Note: Make sure that the chart version is the same as the version you retrieved above: 1.2.0-502

    helm install --wait --values=values.yaml --name ux1-marketplace a8n/ux1-marketplace --version 1.2.0-502