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:
- Find the release chart version for the micro-service:
- Go to the Operations management node.
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
-
Obtain the chart values for the release:
helm get values gdpr-backend --all > values.yaml
-
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.
-
If the application uses a database, make sure that access from the AKS nodes subnet to the database is allowed:
- Correct the corresponding pg_hba.conf.
- 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.
-
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:
-
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 -
Obtain the chart values for the release:
helm get values ux1-marketplace --revision=12 --all > values.yaml
-
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