The following instructions are made to assist users set up their Amazon Web Services (AWS) environment for running Wallaroo using AWS Elastic Kubernetes Service (EKS).
These represent a recommended setup, but can be modified to fit your specific needs.
If the prerequisites are already met, skip ahead to Install Wallaroo.
The following video demonstrates this process:
To install Wallaroo in your AWS environment based on these instructions, the following prerequisites must be met:
- Register an AWS account: https://aws.amazon.com/ and assign the proper permissions according to your organization’s needs.
- The Kubernetes cluster must include the following minimum settings:
- Nodes must be OS type Linux with using the
- Role-based access control (RBAC) must be enabled.
- Minimum of 4 nodes, each node with a minimum of 8 CPU cores and 16 GB RAM. 50 GB will be allocated per node for a total of 625 GB for the entire cluster.
- RBAC is enabled.
- Recommended Aws Machine type:
c5.4xlarge. For more information, see the AWS Instance Types.
- Nodes must be OS type Linux with using the
- Installed eksctl version 0.101.0 and above.
AWS Cluster Recommendations
The following recommendations will assist in reducing the cost of a cloud based Kubernetes Wallaroo cluster.
Turn off the cluster when not in use. An AWS EKS (Elastic Kubernetes Services) cluster can be turn off when not in use, then turned back on again when needed. If organizations adopt this process, be aware of the following issues:
- IP Address Reassignment: The load balancer public IP address may be reassigned when the cluster is restarted by the cloud service unless a static IP address is assigned. For more information in Amazon Web Services see the Associate Elastic IP addresses with resources in your VPC user guide.
Assign to a Single Availability Zone: Clusters that span multiple availability zones may have issues accessing persistent volumes that were provisioned in another availability zone from the node when the node is restarted. The simple solution is to assign the entire cluster into a single availability zone. For more information in Amazon Web Services see the Regions and Zones guide.
The scripts and configuration files are set up to create the AWS environment for a Wallaroo instance are based on a single availability zone. Modify the script as required for your organization.
Community Cluster Setup Instructions
The following is based on the requirements for Wallaroo Community. Note that Wallaroo Community does not use adaptive nodepools. Adapt the settings as required for your organization’s needs, as long as they meet the prerequisites listed above.
This sample YAML file can be downloaded from here:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: # replace with the name of your server name: wallarooAWS # replace with your location region: us-east-1 version: "1.25" addons: - name: aws-ebs-csi-driver iam: withOIDC: true nodeGroups: - name: mainpool instanceType: m5.2xlarge desiredCapacity: 4 containerRuntime: containerd amiFamily: AmazonLinux2 availabilityZones: - us-east-1a
Install AWS Command Line Tools
The following steps require the installation of the following Amazon Web Services command line tools:
- AWS CLI: Complete both the AWS Command Line Installation Guide and the AWS CLI Quick Setup Guide to authenticate to your AWS account.
eksctl: A command line tool for managing Amazon EKS clusters from a configured YAML file. See the EKSCTL Install Guide for more details.
- kubectl: This interfaces with the Kubernetes server created in the Wallaroo environment.
- kots Version: Used to manage software installed in a Kubernetes environment.
Create the Cluster
Create the cluster with the following command, which creates the environment and sets the correct Kubernetes version.
eksctl create cluster -f aws.yaml
During the process the Kuberntes credentials will be copied into the local environment. To verify the setup is complete, use the
kubectl get nodes command to display the available nodes as in the following example:
kubectl get nodes
NAME STATUS ROLES AGE VERSION ip-192-168-21-253.us-east-2.compute.internal Ready <none> 13m v1.23.8-eks-9017834 ip-192-168-30-36.us-east-2.compute.internal Ready <none> 13m v1.23.8-eks-9017834 ip-192-168-55-123.us-east-2.compute.internal Ready <none> 12m v1.23.8-eks-9017834 ip-192-168-79-70.us-east-2.compute.internal Ready <none> 13m v1.23.8-eks-9017834
Wallaroo can now be installed.
With your environment ready, it’s time to install Wallaroo.
|Install Wallaroo||Install Wallaroo into a prepared environment|