Skip to content

Commit 4c98440

Browse files
committed
feat: eks strands agents demo - add alb ingress
1 parent 9ecd6ef commit 4c98440

4 files changed

Lines changed: 30 additions & 6 deletions

File tree

modules/agents/eks-strands-agents-demo/deployspec.yaml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,34 @@ deploy:
1111
- export REPOSITORY_NAME=${SEEDFARMER_PARAMETER_ECR_REPOSITORY_NAME:=strands-agents-weather}
1212
- export REPOSITORY_URI=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/${REPOSITORY_NAME}
1313
# Create Amazon EKS cluster in auto mode
14-
- eksctl create cluster --name $CLUSTER_NAME --enable-auto-mode
14+
- eksctl create cluster --name $CLUSTER_NAME --enable-auto-mode || true
1515
- aws eks update-kubeconfig --name $CLUSTER_NAME
1616
- aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
1717
# Create Amazon ECR repository
18-
- aws ecr create-repository --repository-name strands-agents-weather --region ${AWS_REGION}
18+
- aws ecr create-repository --repository-name strands-agents-weather --region ${AWS_REGION} || true
1919
# Build & push agent Docker image
2020
- docker build --platform linux/amd64 -t strands-agents-weather:latest docker/
2121
- docker tag strands-agents-weather:latest ${REPOSITORY_URI}:latest
2222
- docker push ${REPOSITORY_URI}:latest
2323
# Associate permissions
24-
- eksctl create addon --cluster=eks-strands-agents-demo --name=eks-pod-identity-agent
25-
- aws iam create-policy --policy-name strands-agents-weather-bedrock-policy --policy-document file://bedrock-policy.json
24+
- eksctl create addon --cluster=eks-strands-agents-demo --name=eks-pod-identity-agent || true
25+
- aws iam create-policy --policy-name strands-agents-weather-bedrock-policy --policy-document file://policies/bedrock-policy.json || true
2626
- |
2727
eksctl create podidentityassociation --cluster $CLUSTER_NAME \
2828
--namespace default \
2929
--service-account-name strands-agents-weather \
3030
--permission-policy-arns arn:aws:iam::${AWS_ACCOUNT_ID}:policy/strands-agents-weather-bedrock-policy \
31-
--role-name eks-strands-agents-weather
31+
--role-name eks-strands-agents-weather || true
32+
# Configure ALB
33+
# - kubectl apply -f manifests/ --wait --timeout=30s
34+
# - export ALB_URL=$(kubectl get ingress strands-agents-weather -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
35+
# - aws elbv2 wait load-balancer-available --load-balancer-arns $(aws elbv2 describe-load-balancers --query 'LoadBalancers[?DNSName==`'"$ALB_URL"'`].LoadBalancerArn' --output text)
3236
# Deploy agent
3337
- |
3438
helm install strands-agents-weather ./chart \
35-
--set image.repository=${REPOSITORY_URI} --set image.tag=latest
39+
--set image.repository=${REPOSITORY_URI} --set image.tag=latest --replace
40+
# --set ingress.enabled=true \
41+
# --set ingress.className=alb || true
3642
- kubectl wait --for=condition=available deployments strands-agents-weather --all --timeout=120s
3743
destroy:
3844
phases:
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: eks.amazonaws.com/v1
2+
kind: IngressClassParams
3+
metadata:
4+
name: alb
5+
spec:
6+
scheme: internet-facing
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: IngressClass
3+
metadata:
4+
name: alb
5+
annotations:
6+
ingressclass.kubernetes.io/is-default-class: "true"
7+
spec:
8+
controller: eks.amazonaws.com/alb
9+
parameters:
10+
apiGroup: eks.amazonaws.com
11+
kind: IngressClassParams
12+
name: alb

modules/agents/eks-strands-agents-demo/bedrock-policy.json renamed to modules/agents/eks-strands-agents-demo/policies/bedrock-policy.json

File renamed without changes.

0 commit comments

Comments
 (0)