This section describes the steps to deploy the cloud resources to AWS, connect to the EKS cluster and deploy the services.
- Deploy the infrastructure using the provided Terragrunt project
- After deploying use the following instructions to connect and finish configuring the EKS cluster:
- Add the cluster to your local
kubeconfig:
aws eks update-kubeconfig --region eu-west-1 --name communication-eks --profile saml
- Replace the region with the region the EKS cluster is deployed in if needed.
- Ensure you have a profile called
saml
in your~/.aws/credentials
file. ( See Terragrunt project for the pre-requisites)
- Add the cluster to your local
kubeconfig:
- Monitor the deployment in the AWS console or using a Kubernetes dashboard such as Lens.
- Wait for all the nodes to come online and core pods to be running.
- Enable IP prefixing to allow more pods per
node:
kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
- The nodes must now be restarted to apply the change.
- Follow these instructions to set both spot and on demand node groups desired size to zero: https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html#mng-edit
- Wait for the nodes to be terminated (can take up to 10 minutes)
- Use the same process as step 1.iv.a to update the desired size back to the original value or apply the Terraform project again.
- Wait for the new nodes to come online.
- After deploying use the following instructions to connect and finish configuring the EKS cluster:
- Configure and deploy the resources to the Kubernetes cluster using the provided Helm chart
- Use a tool like Lens to monitor the deployment.
- Once deployed, exec into the
temporal-admintools
pod and run the following commands to create the required search attributes:tctl namespace register default
(It may already exist, so this command may fail, that's fine.)tctl admin cluster add-search-attributes --name userId --type Keyword
tctl admin cluster add-search-attributes --name gatewayId --type Keyword
tctl admin cluster add-search-attributes --name scheduleId --type Keyword
- One created, connected clients such as the schedule API take a few minutes to register the new search
attributes.
- You can force the registration by restarting the schedule and history API deployments.