Setup in Amazon Kubernetes Services (EKS)

Amazon Kubernetes Service (EKS)

The following steps can be followed to set up the LumenVox software within Amazon.

Create EKS Cluster

   

EKS Cluster Networking

  • Specify VPC, select subnets and add the relevant security groups (we used the default VPC security group) 
  • VPC to be created beforehand if it doesn’t exist.

 Select Cluster Endpoint Access

We recommend the following settings:

 

Networking add-ons

We recommend the following settings:

 

Configure logging

We recommend the following settings:

  • Review and click on create
  • Cluster creation can take several minutes to complete. Monitor for any errors. 

Create node group and create node

  • Click on Compute and then Add Node Group

 

Configure Node Group

The following default values are recommended but should be changed as per the client’s individual requirements: 

 

Set compute and scaling configuration

The following default values are recommended however the client should select the operating system that best suits their needs.

NOTE: We recommend instance type be set to: m6a.2xlarge

 

The following can be scaled as be client requirements


 
Specify Networking

  • Review and create.
  • Cluster creation can take several minutes to complete. Monitor for any errors.


Create EFS Instance (elastic file storage)

Set up as per client requirements, required as the persistent storage device

 

 

Network Access

Ensure you select the same VPC as the cluster, also select the default security group as well as the “eks-cluster-sg-***” group created by the cluster

  • Review and create
  • Create access point
  • Click on “Access points” and click on “Create access point” and accept defaults. Then click on attach

 

Install kubectl 

Create access keys

To create access keys for an IAM user

  • Sign into the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.
  • In the navigation pane, choose Users.
  • Choose the name of the user whose access keys you want to create, and then choose the Security credentials tab.
  • In the Access keys section, choose Create access key.
  • To view the new access key pair, choose Show. You will not have access to the secret access key again after this dialog box closes. Your credentials will look something like this:
    1. Access key ID: AKIAIOSFODNN7EXAMPLE
    2. Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  • To download the key pair, choose Download .csv file. Store the keys in a secure location. You will not have access to the secret access key again after this dialog box closes.Keep the keys confidential in order to protect your AWS account and never email them. Do not share them outside your organization, even if an inquiry appears to come from AWS or Amazon.com. No one who legitimately represents Amazon will ever ask you for your secret key.
  • After you download the .csv file, choose Close. When you create an access key, the key pair is active by default, and you can use the pair right away.

 

Install AWS CLI

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

Check Version 

1. aws --version



 Check current identity

1. aws sts get-caller-identity  


 If you need to modify the identity use the commands below:

1. aws configure

2. AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE

3. AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

4. Default region name [None]: us-east-1

5. Default output format [None]: json


 

Update kubeconfig

1. aws eks --region us-east-1 update-kubeconfig --name cloud-speech-1


 

Install Helm

1. curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3

2. chmod 700 get_helm.sh

3. ./get_helm.sh


 

Install Linkerd CLI

We only support up to Linkerd edge-24.5.5.

1. curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install | sh

2. Add the Linkerd CLI to your path

3. export PATH=$PATH:$HOME/.linkerd2/bin


 

Install Linkerd

1. Linkerd check pre

2. Linkerd install crds | kubectl apply -

3. linkerd install --set proxyInit.runAsRoot=true | kubectl apply --

4. linkerd check


 

Install Jaeger

1. linkerd jaeger install | kubectl apply --


 

Install Linkerd viz Dashboard

1. linkerd viz install | kubectl apply -


Should be ever need to uninstall Linkerd for troubleshooting purposes (e.g. deleting a cluster or you have issues with the Linkerd side cars you can use the following commands:

Uninstall Linkerd

1. linkerd viz uninstall | kubectl delete --

2. linkerd jaeger uninstall | kubectl delete --

3. linkerd uninstall | kubectl delete --  



 

Install nginx Ingress

1. helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

2. helm repo update

3. kubectl create ns ingress-nginx

4. helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx -n ingress-nginx --create-namespace --set controller.hostNetwork=true --set controller.allowSnippetAnnotations=true


 

Create LumenVox Namespace

1. kubectl create namespace lumenvox  


 

Change NameSpace

1. kubectl config set-context --current --namespace=lumenvox  

  

Setup TLS for Ingress

1. openssl genrsa -out server.key 2048

2. openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650 -addext "subjectAltName = DNS:lumenvox-api.testmachine.com, DNS:biometric-api.testmachine.com, DNS:management-api.testmachine.com, DNS:reporting-api.testmachine.com, DNS:admin-portal.testmachine.com, DNS:deployment-portal.testmachine.com" 

3. kubectl create secret tls speech-tls-secret --key server.key --cert server.crt


 

Apply Secrets File

1. kubectl apply -f lumenvox-secrets.yaml


 

Configure Helm

1. helm repo add lumenvox https://lumenvox.github.io/helm-charts

2. helm repo update  


 

Deploy Public Chart (Internal Resources)

1. helm install lumenvox lumenvox/lumenvox -f aws-speech-values-internal-resources.yaml -n lumenvox


 

See Setting up a deployment for final steps to for complete installation by setting up a deployment

Access the full installation guide here https://public.files.capacity.com/8e0415bb-7078-4be5-9629-9002e4a1f6ec/d68f0d62-0b36-49c7-9cc3-58acd919d994?FU=1729590624


 


Was this article helpful?
Copyright (C) 2001-2024, Ai Software, LLC d/b/a LumenVox