$ sudo gravity enter $ kubectl
To Migrate Anypoint Platform Private Cloud Edition, Version 1.5.x to 1.6.1
This topic describes how to migrate from Anypoint Platform Private Cloud Edition version 1.5.x to version 1.6.1. These procedures are applicable to 1, 3, and 6 node environment.
| During the migration process, there may be some downtime as each node is migrated. |
Prerequisites
Before migrating, ensure that you have performed and met the following prerequisites:
-
Perform a backup of your system as described in About Backup and Recovery.
-
Ensure that your environment meets all of the system and network requirements described in About Minimum System Requirements
-
Enable TCP ports
5973,3022,7373intra-node to enable communication with the database cluster. -
Ensure you have permission to run the
sudocommand on the node where you launch the migration tool. -
Ensure the
kubectlcommand is available in the node where you are performing the migration. To verify thatkubectlis installed, run the following: -
Enable port 10248 on your load balancer.
The platform uses this port to perform health checks on the load balancer.
Performing the Upgrade
-
Obtain the
anypoint-1.6.1-installer.tar.gzarchive from your customer success representative. -
Determine the master node of your cluster by running the following command:
$ systemctl status | grep gravitational │ └─25249 grep --color=auto gravitational ├─gravity__gravitational.io__teleport__1.2.0.service ├─gravity__gravitational.io__planet-master__0.1.39-138.serviceYou may have to run this command on each node of your cluster. The node that displays
planet-masteris the master node. -
Use
sshto login to the master node of your cluster. -
Upload the installer to the master node of your cluster.
-
Create a directory and uncompress the installer archive.
mkdir anypoint-1.6.1 tar -xzf anypoint-1.6.1-installer.tar.gz -C anypoint-1.6.1
-
Navigate to the
anypoint-1.6.1directory, then run the upload script.cd anypoint-1.6.1 sudo ./upload
This command uploads data to the master node and performs internal updates.
Wait until the command finishes before proceeding to the next step. Depending on your network configuration, this command may take a while to complete. When the the
uploadcommand completes successfully, it displays the following message:new application anypoint 1.6.1 has been uploaded
-
Download the update script and copy it to each node in your cluster.
-
Download script from the following URL
https://anypoint-anywhere.s3.amazonaws.com/1.6.1-GA/manual_update_161.sh?Signature=xTkDlF%2F1OKFYtjG2lXPZcuc2itY%3D&Expires=1536705930&AWSAccessKeyId=AKIAITTY5MSTT3INJ7XQ
-
Copy the script to directory on the master node where you ran the
./upload. -
Copy script to the other nodes in your environment.
-
-
Export RBAC bootstrap package.
From the master node, run the following command:
./manual_update_161.sh export-rbac
-
Scale down deployments
From the master node, run the following command:
./manual_update_161.sh scale-down
-
Initiate the update operation
From the master node, run the following command:
./manual_update_161.sh start-update
-
Bootstrap the system update process
From the master node, run the following command:
./manual_update_161.sh bootstrap-system
-
Update planet configuration with proper mounts
./manual_update_161.sh update-config=<node-name>
You must run this command sequentially on each node of your cluster. Wait until this command completes on one node before running it on the next node.
-
Perform the system update by logging into each node of your cluster and running the following command.
./manual_update_161.sh update-system
+You must run this command sequentially on each node of your cluster. Wait until this command completes on one node before running it on the next node.
-
Bootstrap the RBAC configuration in the cluster
From the master node, run the following command:
./manual_update_161.sh bootstrap-rbac
-
Run the following command to determine the name of each node in your cluster:
kubectl get nodes NAME STATUS AGE 172.31.0.25 Ready 19h 172.31.0.37 Ready 19h 172.31.0.9 Ready 19h
The node name for each node in your cluster is displayed in the name column. Record these names for use in a later step.
-
Exit the gravity shell
exit
-
Drain and uncordon each node in your cluster. Draining a node stops all containers running on the node. Uncordoning a node ensures that the node is schedulable.
-
Login to each node of your cluster.
-
Drain the node by passing the node name of the node you are logged into:
./manual_update_161.sh drain=<node-name>
Before continuing, you must ensure that all pods are in
runningorpendingstate. No pod should be incrashloopbackofforterminatingstate. -
Uncordon the node by passing the node name of the node you are logged into:
./manual_update_161.sh uncordon=<node-name>
-
-
From the master node, start the application update:
./manual_update_161.sh update-app
-
If you are upgrading a one node environment, fix the LDAP config directory permissions by running the following:
./manual_update_161.sh fix-ldap
-
Finalize and complete the update operation
./manual_update_161.sh finalize-update



