Skip to content

Commit a21802e

Browse files
Merge pull request #242327 from edburns/edburns-msft-em-4042-move-wls-aks-quickstart-to-aks-area
On branch edburns-msft-em-4042-move-wls-aks-quickstart-to-aks-area
2 parents 67f156a + d352b86 commit a21802e

File tree

9 files changed

+150
-1
lines changed

9 files changed

+150
-1
lines changed

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,8 @@
588588
href: ../postgresql/flexible-server/tutorial-django-aks-database.md
589589
- name: Build Java app with WebSphere Liberty or Open Liberty
590590
href: howto-deploy-java-liberty-app.md
591+
- name: Build Java app with WebLogic Server
592+
href: howto-deploy-java-wls-app.md
591593
- name: Build WordPress app with MySQL
592594
href: ../mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md
593595
maintainContext: true
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
---
2+
title: "Deploy WebLogic Server on Azure Kubernetes Service using the Azure portal"
3+
description: Shows how to quickly stand up WebLogic Server on Azure Kubernetes Service.
4+
author: KarlErickson
5+
ms.author: edburns
6+
ms.topic: how-to
7+
ms.date: 06/22/2023
8+
ms.custom: devx-track-java, devx-track-javaee, devx-track-javaee-wls, devx-track-javaee-wls-aks, devx-track-extended-java
9+
---
10+
11+
# Deploy a Java application with WebLogic Server on an Azure Kubernetes Service (AKS) cluster
12+
13+
This article shows you how to quickly deploy WebLogic Application Server (WLS) on Azure Kubernetes Service (AKS) with the simplest possible set of configuration choices using the Azure portal. For a more full featured tutorial, including the use of Azure Application Gateway to make WLS on AKS securely visible on the public Internet, see [Tutorial: Migrate a WebLogic Server cluster to Azure with Azure Application Gateway as a load balancer](/azure/developer/java/migration/migrate-weblogic-with-app-gateway).
14+
15+
For step-by-step guidance in setting up WebLogic Server on Azure Kubernetes Service, see the official documentation from Oracle at [Azure Kubernetes Service](https://oracle.github.io/weblogic-kubernetes-operator/samples/azure-kubernetes-service/).
16+
17+
## Prerequisites
18+
19+
- [!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
20+
- Ensure the Azure identity you use to sign in and complete this article has either the [Owner](/azure/role-based-access-control/built-in-roles#owner) role in the current subscription or the [Contributor](/azure/role-based-access-control/built-in-roles#contributor) and [User Access Administrator](/azure/role-based-access-control/built-in-roles#user-access-administrator) roles in the current subscription. For an overview of Azure roles, see [What is Azure role-based access control (Azure RBAC)?](/azure/role-based-access-control/overview) For details on the specific roles required by WLS on AKS, see [Azure built-in roles](/azure/role-based-access-control/built-in-roles).
21+
- Have the credentials for an Oracle single sign-on (SSO) account. To create one, see [Create Your Oracle Account](https://aka.ms/wls-aks-create-sso-account).
22+
- Accept the license terms for WLS.
23+
- Visit the [Oracle Container Registry](https://container-registry.oracle.com/) and sign in.
24+
- If you have a support entitlement, select **Middleware**, then search for and select **weblogic_cpu**.
25+
- If you don't have a support entitlement from Oracle, select **Middleware**, then search for and select **weblogic**.
26+
> [!NOTE]
27+
> Get a support entitlement from Oracle before going to production. Failure to do so results in running insecure images that are not patched for critical security flaws. For more information on Oracle's critical patch updates, see [Critical Patch Updates, Security Alerts and Bulletins](https://www.oracle.com/security-alerts/) from Oracle.
28+
- Accept the license agreement.
29+
30+
## Create a storage account and storage container to hold the sample application
31+
32+
Use the following steps to create a storage account and container. Some of these steps direct you to other guides. After completing the steps, you can upload a sample application to run on WLS on AKS.
33+
34+
1. Download a sample application as a *.war* or *.ear* file. The sample app should be self-contained and not have any database, messaging, or other external connection requirements. The sample app from the WLS Kubernetes Operator documentation is a good choice. You can download [testwebapp.war](https://aka.ms/wls-aks-testwebapp) from Oracle. Save the file to your local filesystem.
35+
1. Sign in to the [Azure portal](https://aka.ms/publicportal).
36+
1. Create a storage account by following the steps in [Create a storage account](/azure/storage/common/storage-account-create). You don't need to perform all the steps in the article. Just fill out the fields as shown on the **Basics** pane, then select **Review + create** to accept the default options. Proceed to validate and create the account, then return to this article.
37+
1. Create a storage container within the account. Then, upload the sample application you downloaded in step 1 by following the steps in [Quickstart: Upload, download, and list blobs with the Azure portal](/azure/storage/blobs/storage-quickstart-blobs-portal). Upload the sample application as the blob, then return to this article.
38+
39+
## Deploy WLS on AKS
40+
41+
The steps in this section direct you to deploy WLS on AKS in the simplest possible way. WLS on AKS offers a broad and deep selection of Azure integrations. For more information, see [What are solutions for running Oracle WebLogic Server on the Azure Kubernetes Service?](/azure/virtual-machines/workloads/oracle/weblogic-aks)
42+
43+
:::image type="content" source="media/howto-deploy-java-wls-app/portal-start-experience.png" alt-text="Screenshot of Azure portal showing WebLogic Server on AKS." lightbox="media/howto-deploy-java-wls-app/portal-start-experience.png":::
44+
45+
The following steps show you how to find the WLS on AKS offer and fill out the **Basics** pane.
46+
47+
1. In the search bar at the top of the Azure portal, enter *weblogic*. In the auto-suggested search results, in the **Marketplace** section, select **Oracle WebLogic Server on Azure Kubernetes Service**.
48+
49+
:::image type="content" source="media/howto-deploy-java-wls-app/marketplace-search-results.png" alt-text="Screenshot of Azure portal showing WLS in search results." lightbox="media/howto-deploy-java-wls-app/marketplace-search-results.png":::
50+
51+
You can also go directly to the [Oracle WebLogic Server on Azure Kubernetes Service](https://aka.ms/wlsaks) offer.
52+
53+
1. On the offer page, select **Create**.
54+
1. On the **Basics** pane, ensure the value shown in the **Subscription** field is the same one that has the roles listed in the prerequisites section.
55+
1. You must deploy the offer in an empty resource group. In the **Resource group** field, select **Create new** and fill in a value for the resource group. Because resource groups must be unique within a subscription, pick a unique name. An easy way to have unique names is to use a combination of your initials, today's date, and some identifier. For example, `ejb0723wls`.
56+
1. Under **Instance details**, select the region for the deployment. For a list of Azure regions where AKS is available, see [AKS region availability](https://azure.microsoft.com/global-infrastructure/services/?products=kubernetes-service).
57+
1. Under **Credentials for WebLogic**, leave the default value for **Username for WebLogic Administrator**.
58+
1. Fill in `wlsAksCluster2022` for the **Password for WebLogic Administrator**. Use the same value for the confirmation and **Password for WebLogic Model encryption** fields.
59+
1. Scroll to the bottom of the **Basics** pane and notice the helpful links for documentation, community support, and how to report problems.
60+
1. Select **Next: Configure AKS cluster**.
61+
62+
The following steps show you how to start the deployment process.
63+
64+
1. Scroll to the section labeled **Provide an Oracle Single Sign-On (SSO) account**. Fill in your Oracle SSO credentials from the preconditions.
65+
1. Accurately answer the question **Is the specified SSO account associated with an active Oracle support contract?** by selecting **Yes** or **No** accordingly. If you answer this question incorrectly, the steps in this quickstart won't work. If in doubt, select **No**.
66+
1. In the section **Java EE Application**, next to **Deploy your application package**, select **Yes**.
67+
1. Next to **Application package (.war,.ear,.jar)**, select **Browse**.
68+
1. Start typing the name of the storage account from the preceding section. When the desired storage account appears, select it.
69+
1. Select the storage container from the preceding section.
70+
1. Select the checkbox next to the sample app uploaded from the preceding section. Select **Select**.
71+
72+
The following steps make it so the WLS admin console and the sample app are exposed to the public Internet with a built-in Kubernetes `LoadBalancer` service. For a more secure and scalable way to expose functionality to the public Internet, see [Tutorial: Migrate a WebLogic Server cluster to Azure with Azure Application Gateway as a load balancer](/azure/developer/java/migration/migrate-weblogic-with-app-gateway).
73+
74+
1. Select the **Networking** pane.
75+
1. Next to the question **Create Standard Load Balancer services for Oracle WebLogic Server?**, select **Yes**.
76+
1. In the table that appears, under **Service name prefix**, fill in the values as shown in the following table. The port values of *7001* for the admin server and *8001* for the cluster must be filled in exactly as shown.
77+
78+
| Service name prefix | Target | Port |
79+
|---------------------|--------------|------|
80+
| console | admin-server | 7001 |
81+
| app | cluster-1 | 8001 |
82+
83+
:::image type="content" source="media/howto-deploy-java-wls-app/load-balancer-minimal-config.png" alt-text="Screenshot of Azure portal showing the simplest possible load balancer configuration on the Create Oracle WebLogic Server on Azure Kubernetes Service page." lightbox="media/howto-deploy-java-wls-app/load-balancer-minimal-config.png":::
84+
85+
1. Select **Review + create**. Ensure the green **Validation Passed** message appears at the top. If it doesn't, fix any validation problems, then select **Review + create** again.
86+
1. Select **Create**.
87+
1. Track the progress of the deployment on the **Deployment is in progress** page.
88+
89+
Depending on network conditions and other activity in your selected region, the deployment may take up to 30 minutes to complete.
90+
91+
## Examine the deployment output
92+
93+
The steps in this section show you how to verify that the deployment has successfully completed.
94+
95+
If you navigated away from the **Deployment is in progress** page, the following steps will show you how to get back to that page. If you're still on the page that shows **Your deployment is complete**, you can skip to the steps after the image below.
96+
97+
1. In the upper left of any portal page, select the hamburger menu and select **Resource groups**.
98+
1. In the box with the text **Filter for any field**, enter the first few characters of the resource group you created previously. If you followed the recommended convention, enter your initials, then select the appropriate resource group.
99+
1. In the left navigation pane, in the **Settings** section, select **Deployments**. You'll see an ordered list of the deployments to this resource group, with the most recent one first.
100+
1. Scroll to the oldest entry in this list. This entry corresponds to the deployment you started in the preceding section. Select the oldest deployment, as shown in the following screenshot.
101+
102+
:::image type="content" source="media/howto-deploy-java-wls-app/resource-group-deployments.png" alt-text="Screenshot of Azure portal showing the resource group deployments list." lightbox="media/howto-deploy-java-wls-app/resource-group-deployments.png":::
103+
104+
1. In the left panel, select **Outputs**. This list shows the output values from the deployment. Useful information is included in the outputs.
105+
1. The **adminConsoleExternalUrl** value is the fully qualified, public Internet visible link to the WLS admin console for this AKS cluster. Select the copy icon next to the field value to copy the link to your clipboard. Save this value aside for later.
106+
1. The **clusterExternalUrl** value is the fully qualified, public Internet visible link to the sample app deployed in WLS on this AKS cluster. Select the copy icon next to the field value to copy the link to your clipboard. Save this value aside for later.
107+
108+
The other values in the outputs are beyond the scope of this article, but are explained in detail in the [WebLogic on AKS user guide](https://aka.ms/wls-aks-docs).
109+
110+
## Verify the functionality of the deployment
111+
112+
The following steps show you how to verify the functionality of the deployment by viewing the WLS admin console and the sample app.
113+
114+
1. Paste the value for **adminConsoleExternalUrl** in an Internet-connected web browser. You should see the familiar WLS admin console login screen as shown in the following screenshot.
115+
116+
:::image type="content" source="media/howto-deploy-java-wls-app/wls-admin-login.png" alt-text="Screenshot of WLS admin login screen." border="false":::
117+
118+
> [!NOTE]
119+
> This article shows the WLS admin console merely by way of demonstration. Don't use the WLS admin console for any durable configuration changes when running WLS on AKS. The cloud-native design of WLS on AKS requires that any durable configuration must be represented in the initial docker images or applied to the running AKS cluster using CI/CD techniques such as updating the model, as described in the [Oracle documentation](https://aka.ms/wls-aks-docs-update-model).
120+
121+
1. Understand the `context-path` of the sample app you deployed. If you deployed the recommended sample app, the `context-path` is `testwebapp`.
122+
1. Construct a fully qualified URL for the sample app by appending the `context-path` to the value of **clusterExternalUrl**. If you deployed the recommended sample app, the fully qualified URL will be something like `http://123.456.789.012:8001/testwebapp/`.
123+
1. Paste the fully qualified URL in an Internet-connected web browser. If you deployed the recommended sample app, you should see results similar to the following screenshot.
124+
125+
:::image type="content" source="media/howto-deploy-java-wls-app/test-web-app.png" alt-text="Screenshot of test web app." border="false":::
126+
127+
## Clean up resources
128+
129+
To avoid Azure charges, you should clean up unnecessary resources. When you no longer need the cluster, use the [az group delete](/cli/azure/group#az-group-delete) command. The following command will remove the resource group, container service, container registry, and all related resources.
130+
131+
```azurecli
132+
az group delete --name <resource-group-name> --yes --no-wait
133+
```
134+
135+
## Next steps
136+
137+
Learn more about running WLS on AKS or virtual machines by following these links:
138+
139+
> [!div class="nextstepaction"]
140+
> [WLS on AKS](/azure/virtual-machines/workloads/oracle/weblogic-aks)
141+
142+
> [!div class="nextstepaction"]
143+
> [WLS on virtual machines](/azure/virtual-machines/workloads/oracle/oracle-weblogic)

articles/aks/index.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ landingContent:
102102
url: https://code.visualstudio.com/docs/containers/bridge-to-kubernetes
103103
- text: Use Bridge to Kubernetes with Visual Studio
104104
url: /visualstudio/containers/bridge-to-kubernetes
105+
- text: Run Java Open Liberty
106+
url: howto-deploy-java-liberty-app.md
107+
- text: Run Java WebLogic Server
108+
url: howto-deploy-java-wls-app.md
105109

106110
# Card
107111
- title: Architecture guidance
@@ -203,4 +207,4 @@ landingContent:
203207
url: /troubleshoot/azure/azure-kubernetes//troubleshoot-aks-cluster-creation-issues
204208
- text: Troubleshoot common issues
205209
url: /troubleshoot/azure/azure-kubernetes/aks-common-issues-faq
206-
210+
127 KB
Loading
86.2 KB
Loading
87 KB
Loading
249 KB
Loading
34.5 KB
Loading
25.9 KB
Loading

0 commit comments

Comments
 (0)