AWS Deployment
Last updated
Was this helpful?
Last updated
Was this helpful?
On a workstation with access to your AWS cloud, install the following tools if you don’t already have them available:
AWS CLI:
Helm:
Kubectl:
Create a new EKS cluster:
Select Custom Configuration and disable EKS Auto Mode:
Create a new Cluster IAM role with the default settings and select it.
On the next screen, make sure to select the VPC and subnets where you want to install the app
On the add-ons screen (Step 4), add the EBS CSI Driver addon:
Create the cluster, wait for it to finish initializing. Once it is ready, go to the Compute Tab and click Add a Node Group.
Create a new IAM Role for the node group. In addition to the default policies, attach the AmazonEBSCSIDriverPolicy
Choose Amazon Linux 2 as the AMI Type
Select an instance type with at least 8GB of RAM. t3.large or bigger is a good choice.
Set the Disk Size to 100GiB
Set the Desired Size and Maximum Size to at least 3 nodes
Connect your workstation kubectl to the new EKS cluster. Substitute <eks-cluster-name>
with your new EKS cluster in the following:
Add a new profile containing the Violet AWS Credentials to your workstation. These values are provided by Violet Labs and are specific to your installation:
Create a new file, violet-values.yml
containing your AWS credentials and specific application configuration:
Create a new kubernetes namespace for the Violet installation:
Install the nginx ingress controller chart which allows EKS to set up a load balancer to route traffic from the internet to the new Violet deployment:
Install the external-secrets chart. This is used to load some customer-specific secrets from AWS into the Violet deployment:
Create a secret that allows Kubernetes to access the Violet Helm Chart repository:
Login to the Helm repository:
Install the Violet Helm Chart:
Note that it may take up to 5 minutes to run the database provisioning scripts. You can check the status of the deployment by looking at the pods:
After installation is complete the helm chart will print our some information and commands including the URL to access your new deployment, how to get the DNS Name of the ingress load balancer that the deployment is served at (for setting up DNS rules) and how to obtain the auto-generated password for the violet_admin@violetlabs.com
account.