Use this Partner Solution (formerly Quick Start) to provision a highly-available architecture with an EKS cluster that spans two Availability Zones, along with the WebSphere Liberty Operator ready for you to deploy your applications. You can use WebSphere Liberty Operator to deploy and manage Liberty applications on Kubernetes-based clusters. This Partner Solution can also deploy a provided sample application or your own custom application.
IBM WebSphere Liberty is a fast, lightweight, modular, and container-friendly cloud-native runtime that supports industry standards such as Java EE, Jakarta EE, and MicroProfile.
Deploying this Partner Solution builds the following WebSphere Liberty environment in the AWS Cloud.
- A virtual private cloud (VPC) configured across two Availability Zones. In each Availability Zone, this solution provisions one public subnet and one private subnet. This creates a logically isolated networking environment that you can connect to your on-premises data centers or use as a standalone environment.
- In the public subnets:
- Managed network address translation (NAT)gateways to allow outbound internet access for resources in the private subnets.
- One Availability Zone has a boot node, Amazon Elastic Compute Cloud (Amazon EC2), to access the Amazon EKS cluster.
- In the private subnets:
- An EKS cluster with an application pod, WebSphere Liberty Operator, certificate manager, and Operator Lifecycle Manager.
- Amazon CloudWatch to monitor and track metrics for your AWS resources and applications.
- Amazon Elastic Container Registry (Amazon ECR) to store, share, and deploy container software such as application images and artifacts.
- Classic Load Balancer to enable HTTPS access to an application.
This Partner Solution provides the following deployment options:
- Deploy into a new VPC and a new Amazon EKS cluster with an application: This option builds a new AWS environment outlined in the architecture diagram. It then installs WebSphere Liberty Operator and related artifacts into this EKS cluster. It also deploys a sample or custom application and enables HTTPS access to the application.
- Deploy into a new VPC and a new Amazon EKS cluster without an application: This option builds a new AWS environment outlined in the architecture diagram. It then installs WebSphere Liberty Operator and related artifacts into this EKS cluster.
Before you launch the Partner Solution, see the AWS Partner Solutions General Information Guide.
To use IBM WebSphere Liberty, ensure that you have an active WebSphere entitlement for any of the following products.
- Standalone product editions:
- IBM WebSphere Application Server
- IBM WebSphere Application Server Liberty Core
- IBM WebSphere Application Server Network Deployment
- Other product entitlement sources:
- IBM WebSphere Hybrid Edition
- IBM Cloud Pak for Applications
- IBM WebSphere Application Server Family Edition
- Clone the Partner Solution templates (including all of its submodules) to your local machine. From the command line, run:
git clone --recurse-submodules https://github.com/aws-quickstart/quickstart-ibm-liberty-eks.git
- Install and set up the AWS Command Line Interface. This tool will allow you to create an S3 bucket and upload content to it.
- Create an S3 bucket in your region:
aws s3 mb s3://<bucket-name> --region <AWS_REGION>
- Go into the parent directory of your local clone of the Partner Solution templates and upload all the files to your S3 bucket:
aws s3 cp quickstart-ibm-liberty-eks s3://<bucket-name>/quickstart-ibm-liberty-eks --recursive --acl public-read
- Once you’ve uploaded everything, you’re ready to deploy your stack from your S3 bucket. Login to AWS console and go to S3 bucket → quickstart-ibm-liberty-eks folder to copy the main template's Object URL.
- To deploy into a new VPC and a new Amazon EKS cluster with an application, copy the Object URL of
templates/ibm-liberty-new-eks-with-app.template.yaml
- To deploy into a new VPC and a new Amazon EKS cluster without an application, copy the Object URL of
templates/ibm-liberty-new-eks-no-app.template.yaml
- To deploy into a new VPC and a new Amazon EKS cluster with an application, copy the Object URL of
- From AWS console go to Cloudformation → Create Stack. When specifying a template, paste in the Object URL copied in the previous step.
- Follow the parameter details to fill in the values and follow UI prompts to create the stack
- Provide following values for these parameters:
- Quick Start S3 bucket name=
<bucket-name>
- Quick Start S3 key prefix=quickstart-ibm-liberty-eks/
- Quick Start S3 bucket Region=
<AWS_REGION>
- Quick Start S3 bucket name=
- Provide following values for these parameters:
- The stack takes about 20 minutes to deploy. Monitor the stack’s status, and when the status is CREATE_COMPLETE, the IBM WebSphere Liberty for Amazon EKS deployment is ready.
- To view the created resources, choose the Outputs tab.
- Deploy License Service on your Kubernetes cluster. License Service is required to measure and track license use of IBM Containerized Software such as WebSphere Liberty application. Manual license measurements are not allowed.
- If you selected to deploy the sample or a custom application, launch the application. From the Outputs tab of the main stack, click the value of the
AppEndpoint
key
To manually deploy a custom application, use a IBM WebSphere Liberty for Amazon EKS on AWS custom resource (CR) file that sets parameter values for your application image deployment.
For troubleshooting common Partner Solution issues, refer to the AWS Partner Solutions General Information Guide and Troubleshooting CloudFormation.
Review the frequently asked questions for this solution.
For WebSphere Liberty Operator issues, open a Support Ticket with IBM Support and add information that can help IBM Support troubleshoot and fix the problem.
- Click Open a case on the WebSphere Application Server support or Let’s troubleshoot page.
- Add information that can help IBM Support determine the cause of the error. In the ticket, describe the error. If the error is difficult to describe, then provide a screen capture of the error. Also, provide pertinent information, such as a description of your cluster configuration and the component that is failing or having issues. Review the frequently asked questions to find the deployment logs. See Gathering information about clusters with MustGather to learn how to use MustGather to collect information for a Support Ticket.
After you deploy a Partner Solution, confirm that your resources and services are updated and configured—including any required patches—to meet your security and other needs. For more information, refer to the Shared Responsibility Model.
To post feedback, submit feature ideas, or report bugs, use the Issues section of this GitHub repo.
To submit code for this Partner Solution, see the AWS Quick Start Contributor's Kit.