Skip to content

Commit 64cdf1d

Browse files
committed
Image added, new sections- cleanup and resinstallation
1 parent c078614 commit 64cdf1d

File tree

3 files changed

+80
-28
lines changed

3 files changed

+80
-28
lines changed
258 KB
Loading
258 KB
Loading

articles/migrate/tutorial-discover-spring-boot.md

Lines changed: 80 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,12 @@ author: Vikram1988
55
ms.author: vibansa
66
ms.manager: abhemraj
77
ms.topic: tutorial
8-
ms.date: 09/28/2023
8+
ms.date: 12/01/2023
99
ms.custom: mvc, subject-rbac-steps, engagement-fy23, references_regions
1010
---
1111

1212
# Tutorial: Discover Spring Boot applications running in your datacenter (preview)
1313

14-
> [!CAUTION]
15-
> This article references CentOS, a Linux distribution that is nearing End Of Life (EOL) status. Please consider your use and planning accordingly.
16-
1714
This article describes how to discover Spring Boot applications running on servers in your datacenter, using Azure Migrate: Discovery and assessment tool. The discovery process is completely agentless; no agents are installed on the target servers.
1815

1916
In this tutorial, you learn how to:
@@ -68,20 +65,44 @@ After you have performed server discovery and software inventory using the Azure
6865
> [!Note]
6966
> We recommend you choose a Kubernetes cluster with disk encryption for its services. [Learn more](#encryption-at-rest) about encrypting data at rest in Kubernetes.
7067

71-
:::image type="content" source="./media/tutorial-discover-spring-boot/onboard-kubernetes-inline.png" alt-text="Screenshot displays the Onboard Kubernetes appliance screen." lightbox="./media/tutorial-discover-spring-boot/onboard-kubernetes-expanded.png":::
68+
6. In **Choose an appliance**, you can select one from the following options:
69+
70+
- **Install appliance using packaged Kubernetes cluster** - This option is selected by default as it is the recommended approach where the users can use the installer script to download and install a Kubernetes cluster on a Linux server on-premises to set up the appliance.
71+
- **Bring your own Kubernetes cluster** - You must bring your own Kubernetes cluster running on-premises, connect it to Azure Arc, and use the installer script to set up the appliance.
72+
73+
74+
#### [Install appliance using packaged Kubernetes cluster (recommended)](#tab/K8-package)
75+
76+
1. In **Provide appliance details for Azure Migrate**, the appliance name is pre-populated, but you can choose to provide your own friendly name to the appliance.
77+
78+
:::image type="content" source="./media/tutorial-discover-spring-boot/packaged-cluster-inline.png" alt-text="Screenshot that shows the Install appliance using packaged Kubernetes cluster option selected." lightbox="./media/tutorial-discover-spring-boot/packaged-cluster-expanded.png":::
79+
80+
81+
2. Select a Key Vault from the drop-down or **Create new** Key vault. This Key Vault is used to process the credentials provided in the project to start discovery of Spring Boot applications.
82+
83+
> [!Note]
84+
> The Key Vault can be chosen or created in the same subscription and region as that of the Azure Migrate Project. When creating/selecting KV, make sure it does not have purge protection enabled else there be issues in processing of credentials through the Key Vault.
85+
86+
3. After providing the appliance name and Key Vault, select **Generate script** to generate an installer script that you can copy and paste on a Linux server on-premises. Before executing the script, ensure that you meet the following prerequisites on the Linux server:
87+
88+
**Support** | **Details**
89+
---- | ----
90+
**Supported Linux OS** | Ubuntu 20.04, RHEL 9
91+
**Hardware configuration required** | 8 GB RAM, with 30 GB storage, 4 Core CPU
92+
**Network Requirements** | Access to the following endpoints: <br/><br/> api.snapcraft.io <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> [Azure Arc-enabled Kubernetes network requirements](https://learn.microsoft.com/azure/azure-arc/kubernetes/network-requirements?tabs=azure-cloud) <br/><br/>[Azure CLI endpoints for proxy bypass](https://learn.microsoft.com/cli/azure/azure-cli-endpoints?tabs=azure-cloud)
7293

73-
6. In Step 1: Set up an appliance, select **Bring your own Kubernetes cluster** - You must bring your own Kubernetes cluster running on-premises, connect it to Azure Arc and use the installer script to set up the appliance.
94+
After copying the script, you can go to your Linux server, save the script as *Deploy.sh* on the server.
7495

75-
#### Bring your own Kubernetes cluster
96+
#### [Bring your own Kubernetes cluster](#tab/K8-byoc)
7697

77-
1. In **Step 2: Choose connected cluster**, you need to select an existing Azure Arc connected cluster from your subscription. If you do not have an existing connected cluster, you can Arc enable a Kubernetes cluster running on-premises by following the steps [here](../azure-arc/kubernetes/quickstart-connect-cluster.md?tabs=azure-cli).
98+
1. In **Choose connected cluster**, you need to select an existing Azure Arc connected cluster from your subscription. If you don't have an existing connected cluster, you can Arc enable a Kubernetes cluster running on-premises by following the steps [here](../azure-arc/kubernetes/quickstart-connect-cluster.md?tabs=azure-cli).
7899

79100
> [!Note]
80-
> You can only select an existing connected cluster, deployed in the same region as that of your Azure Migrate project.
101+
> You can only select an existing connected cluster that's deployed in the same region as your Azure Migrate project.
81102

82103
:::image type="content" source="./media/tutorial-discover-spring-boot/choose-cluster-inline.png" alt-text="Screenshot displays Choose cluster option in the Onboard Kubernetes appliance screen." lightbox="./media/tutorial-discover-spring-boot/choose-cluster-expanded.png":::
83104

84-
2. In Step 3: Provide appliance details for Azure Migrate, the appliance name is prepopulated, but you can choose to provide your own friendly name to the appliance.
105+
2. In **Provide appliance details for Azure Migrate**, the appliance name is prepopulated, but you can choose to provide your own friendly name to the appliance.
85106

86107
3. You can select a Key Vault from the drop-down or **Create new** Key Vault. This Key Vault is used to process the credentials provided in the project to start discovery of Spring Boot applications.
87108

@@ -94,13 +115,14 @@ After you have performed server discovery and software inventory using the Azure
94115
---- | ----
95116
**Supported Linux OS** | Ubuntu 20.04, RHEL 9
96117
**Hardware configuration required** | 6 GB RAM, with 30 GB storage on root volume, 4 Core CPU
97-
**Network Requirements** | Access to the following endpoints: <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> [Azure CLI endpoints for proxy bypass](/cli/azure/azure-cli-endpoints?tabs=azure-cloud)
118+
**Network Requirements** | Access to the following endpoints: <br/><br/> https://dc.services.visualstudio.com/v2/track <br/><br/> [Azure CLI endpoints for proxy bypass](https://learn.microsoft.com/cli/azure/azure-cli-endpoints?tabs=azure-cloud)
98119

99120
5. After copying the script, go to your Linux server, save the script as *Deploy.sh* on the server.
121+
---
100122

101-
#### Connect using an outbound proxy server
123+
### Connect using an outbound proxy server
102124
If your machine is behind an outbound proxy server, requests must be routed via the outbound proxy server. Follow these steps to provide proxy settings:
103-
1. Open the terminal on the server and execute the following command setup environment variables as a root user:
125+
1. Open the terminal on the server and execute the following command to set up environment variables as a root user:
104126
`sudo su -`
105127
2. On the deployment machine, set the environment variables needed for `deploy.sh` to use the outbound proxy server:
106128
```
@@ -114,9 +136,36 @@ If your machine is behind an outbound proxy server, requests must be routed via
114136
> [!Note]
115137
> The machine uses proxy details while installing the required prerequisites to run the `deploy.sh` script . It won't override the proxy settings of the Azure Arc-enabled Kubernetes cluster.
116138
117-
#### Execute the installer script
139+
### Execute the installer script
140+
141+
#### [Packaged Kubernetes cluster](#tab/K8-package)
118142

119-
After you have saved the script on the Linux server, follow these steps:
143+
After you save the script on the Linux server, follow these steps:
144+
145+
> [!Note]
146+
> This script needs to be run after you connect to a Linux machine on its terminal that has met the networking pre-requisite and OS compatibility.
147+
> Ensure that you have curl installed on the server. For Ubuntu, you can install it using the command `sudo apt-get install curl`, and for other OS (RHEL/Centos), you can use the command `yum install curl`.
148+
149+
> [!Important]
150+
> Don't edit the script unless you want to clean up the setup.
151+
152+
1. Open the Terminal on the server and execute the following command to execute the script as a root user:
153+
`sudo su -`
154+
155+
2. Change the directory to where you saved the script and execute the script using command: `bash deploy.sh`
156+
157+
3. Follow the instructions in the script and sign in with your Azure user account when prompted.
158+
159+
4. The script performs the following steps:
160+
161+
1. Installing required CLI extensions.
162+
2. Registering Azure Resource Providers
163+
3. Checking for prerequisites like connectivity to required endpoints
164+
4. Setting up MicroK8s Kubernetes cluster
165+
5. Installing the required operators on the cluster
166+
6. Creating the required Migrate resources
167+
168+
#### [Bring your own cluster](#tab/K8-byoc)
120169

121170
> [!Note]
122171
> - This script needs to be run after you connect to a Linux machine on its terminal that meets the networking prerequisites and OS compatibility.
@@ -128,26 +177,21 @@ After you have saved the script on the Linux server, follow these steps:
128177

129178
1. Open the terminal on the server and execute the following command to execute the script as a root user:
130179
`sudo su -`
131-
2. Change directory to where you have saved the script and execute the script using the `bash deploy.sh` command.
180+
2. Navigate to the directory where you saved the script and execute the script using the `bash deploy.sh` command.
132181
3. Follow the instructions in the script and sign in with your Azure user account when prompted.
133182
4. The script performs the following steps:
134183
1. Installing required CLI extensions.
135184
2. Registering Azure Resource Providers.
136185
3. Checking for prerequisites like connectivity to required endpoints.
137186
5. Installing the required operators on the cluster.
138187
6. Creating the required Migrate resources.
188+
5. After the script is executed successfully, configure the appliance through the portal.
189+
---
139190

140-
After the script is executed successfully, configure the appliance through the portal.
141-
142-
##### Reinstallation
143-
144-
If you encounter any issue during script execution, you need to run the script in *delete* mode by adding the following after line #19 in the `deploy.sh` script:
145-
146-
`export DELETE= “true”`
191+
### Reinstallation
147192

148-
:::image type="content" source="./media/tutorial-discover-spring-boot/delete-image-inline.png" alt-text="Screenshot shows delete mode." lightbox="./media/tutorial-discover-spring-boot/delete-image-expanded.png":::
149-
150-
The *delete* mode helps to clean up any existing components installed on the server so that you can do a fresh installation. After running the script in *delete* mode, remove the line from the script and execute it again in the default mode.
193+
> [!NOTE]
194+
> If you encounter any issue during script execution, you need to re-run the script and it would resume from last successful state. In case you want to perform a complete fresh install, see [cleanup of setup](#cleanup-of-setup) details before you re-run the script.
151195
152196
## Encryption at rest
153197

@@ -165,7 +209,7 @@ After successfully setting up the appliance using the installer script, you need
165209
:::image type="content" source="./media/tutorial-discover-spring-boot/pending-action-inline.png" alt-text="Screenshot displays the Pending action option." lightbox="./media/tutorial-discover-spring-boot/pending-action-expanded.png":::
166210

167211
3. In **Overview** > **Manage** > **Appliances**, a filtered list of appliances appears with actions pending.
168-
4. Find the Kubernetes-based appliance that you have set up and select **Credentials unavailable** status to configure the appliance.
212+
4. Find the Kubernetes-based appliance that you set up and select **Credentials unavailable** status to configure the appliance.
169213

170214
:::image type="content" source="./media/tutorial-discover-spring-boot/appliances-inline.png" alt-text="Screenshot displays the details of the appliance." lightbox="./media/tutorial-discover-spring-boot/appliances-expanded.png":::
171215

@@ -185,6 +229,14 @@ After the credentials have been successfully synced, wait for 24 hours before yo
185229
> [!Note]
186230
> You can add/update credentials any time by navigating to **Azure Migrate: Discovery and assessment** > **Overview** > **Manage** > **Appliances** page, selecting **Manage credentials** from the options available in the Kubernetes-based appliance.
187231

232+
## Cleanup of setup
233+
234+
To cleanup, run the following script in delete mode:
235+
236+
In the script generated by the portal, after all the user arguments (after line 19 in the following image), add `export DELETE= “true”` and run the same script again. This will clean up all existing components created during appliance creation.
237+
238+
:::image type="content" source="./media/tutorial-discover-spring-boot/delete-image-inline.png" alt-text="Screenshot shows delete mode." lightbox="./media/tutorial-discover-spring-boot/delete-image-expanded.png":::
239+
188240
## Overview of Discovery results
189241

190242
The **Discovered servers** screen provides the following information:
@@ -207,4 +259,4 @@ Select any web app to view its details. The **Web apps** screen provides the fol
207259

208260
## Next steps
209261
- [Assess Spring Boot](tutorial-assess-spring-boot.md) apps for migration.
210-
- [Review the data](discovered-metadata.md#collected-data-for-physical-servers) that the appliance collects during discovery.
262+
- [Review the data](discovered-metadata.md#collected-data-for-physical-servers) that the appliance collects during discovery.

0 commit comments

Comments
 (0)