Create and prepare an EKS cluster
-
Create cluster:
-
Create an IAM OIDC provider for the cluster to be able to use IAM roles for service accounts (required for granting IAM permissions to LiteLLM to be able to invoke Bedrock models):
-
(Optional) Install AWS Load Balancer Controller (AWS LBC):
Note
Install AWS Load Balancer Controller if you are planning to expose LiteLLM or one of the clients on ELB.
First, create the IAM policy:
curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json export AWS_LBC_IAM_POLICY_ARN=$(aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json \ --output text \ --query "Policy.Arn") echo "export AWS_LBC_IAM_POLICY_ARN=${AWS_LBC_IAM_POLICY_ARN}" | tee -a ~/.bash_profile
Then, create IRSA setup:
Then, install AWS LBC helm chart: -
(Optional) Install EBS CSI driver (EBS volumes will be used to store Open WebUI state):
Note
Install EBS CSI driver if you are planning to use Open WebUI as it depends on EBS volumes for storing its state.
First, create IRSA dependencies:
Then, install EBS CSI driver helm chart: