Setting up Initial SWIFT Dashboard Access

After creating a SWIFT instance, connect to the instance and execute the below command to set a password for the 'admin' user.

# sudo swiftcli user modify admin --password < password_of_your_choice >

Login to the SWIFT dashboard

To access the SWIFT dashboard, use the URL:
https://<swift-host-ip>/swift/dashboard

Username: admin

Password: <password_set_in_prerequisite_step>

If you have logged in successfully, then congratulations! You are now ready to migrate the Kubernetes/OpenShift applications to the Azure Kubernetes Service and/or enable DR/backup.

Downloading Operations Guide/Get Additional Help

If you need more help, download operations guide from login page,

Or if you are already logged in then, Click on Help > Help.

Upload TRAI Image to your Azure Container Registry

TRAI stands for Transient RackWare Agent Image. TRAI is an exclusive container image deployed with the SWIFT. It is used by the SWIFT server to deploy under your SWIFT managed Kubernetes or OpenShift cluster for the transient sync time. To know more about TRAI image, please check the “SWIFTOperationsGuide.pdf”

The TRAI image needs to be uploaded to the container registry for the SWIFT managed Kubernetes or OpenShift cluster. It is an one-time configuration step. The below section highlights steps for uploading TRAI image to Azure Container Registry (ACR). If you are managing any non-Azure clusters under SWIFT (like you source cloud or on-prem cluster for migration, for example), then you can use the SWIFT Operations Guide for specific steps. The steps overall remain the same for uploading TRAI image to any registry type.

Note: It's not mandatory to use ACR registry and you can use a container registry of your choice. Just make the TRAI image available to the source and target namespace by setting up the image pull secret with similar steps as below.

Upload TRAI Image to ACR

  1. Connect to ACR with username and token

# docker login < registry-name >.azurecr.io

Here you will need to enter your container registry’s name. This will prompt you to enter the username and password values which are as follows:

Username: < service principal's application (client ID) >
Password : < service principal's password (client secret) >
  1. The TRAI image for the respective SWIFT version is deployed along with the SWIFT. You can find it at /opt/swift/traipod/rackware-trai-docker.tar.gz on your SWIFT server. Copy the TRAI image tar file (mentioned above) from the SWIFT server to a host where you have the 'docker' client installed and configured.Change the directory to which the TRAI image is copied.
  2. Execute the below command to load the image. With ‘docker images’ command, verify that image is loaded.
# docker load < rackware-trai-docker.tar.gz >
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rackware-trai Release-1.1.0.340 148d70c65ab7 18 hours ago 837 MB
  1. You will see the tagged image loaded in the output above. Use the TAG field displayed in the step 3 output and run below command to tag the image for your ACR registry.
# docker tag < image-id >< registryname >.azurecr.io/< namespace >/< image >
Note: Namespace can be empty if you choose to load your image in root namespace.
Example:
# docker tag 148d70c65ab7 myregistry.azurecr.io/mynamespace:release-1.1.0.340
  1. Push the image to ACR.
# docker push < registry-name >.azurecr.io/< namespace >/< image >
Example:
# docker push myregistry.azurecr.io/mynamespace:release-1.1.0.340
  1. Once the TRAI image is uploaded to your private registry. You need to make it available to the source and target cluster namespaces that you are going to migrate or set up DR on. To do this, configure the image-pull secret in the namespace.

    Note that there are multiple ways to make a container image available to the Kubernetes cluster and recommended way for SWIFT is to set up anImagePullSecrete in each namespace. The below steps highlight setting up such a secret.
  1. Connect to the K8S/OpenShift source cluster. Create an image pull secret in the in the namespace which you are going to migrate
# kubectl --namespace < app_namespace_to_migrate > create secret docker-registry < secret_name > --docker-server=< registry-name >.azurecr.io --docker-username=< client-id > --docker-password=< client-secret > --docker-email=< user-email >
Example:
# kubectl --namespace app1 create secret docker-registry acrsecret --docker-server=myregistry.azurecr.io --docker-username= ‘b8cef2ab-f259-4bc2-ad33-fe84e3e40522’ --docker-password= ‘4yT7Q~cK2fgkG38MEro8hTm5Y_WSy-lvSS38K' --docker-email='[email protected]'
  1. Follow the same process for all namespaces that you want to replicate or set up DR on.
  2. Note down the uploaded TRAI image name and version from the registry and the image-pull secret created on both sides of clusters. You will use those two inputs for sync configuration later. You can also optionally configure these two inputs as defaults under SWIFT managed cluster (from SWIFT cluster administration menu and Config option of the SWIFT dashboard), so you don't have to input these for each sync or replication run.
For the above example,values to note will be following:

TRAI Image name: myregistry.azurecr.io/mynamespace:release-1.1.0.340

Image pull secret: acrsecret
>