This repository contains an example project for deploying a gRPC service on Amazon EKS and exposing it via an Application Load Balancer (ALB).
This repo is an example for deploying a gRPC service on Amazon EKS and exposing it via an Application Load Balancer (ALB). It is intended to be used as a reference for building your own gRPC service on Amazon EKS and access it via ALB.
We welcome contributions to this repo in the form of fixes to existing examples or addition of new examples. For more information on contributing, please see CONTRIBUTING for more information.
- An EKS cluster Deployed
- AWS LoadBalancer Controller Deployed into your EKS Cluster
Use the below commands to deploy the sample. Make sure you substitute the values accordingly.
Using envsubst
for substituting the variables:
export ACM_ARN="arn:aws:acm:<AWS-Region>:<AccountId>:certificate/<certificate_ID>"
export DNS_HOSTNAME="<DNS-HostName>"
envsubst < ./kubernetes/grpc-sample.yaml | kubectl apply -f -
If you dont have envsubst
, then
- Replace the below variables placeholders in the
kubernetes/grpc-sample.yaml
file with the actual values:
${ECR_URL} with ECR image Uri --> "<AccountId>.dkr.ecr.<AWS-Region>.amazonaws.com/helloworld-grpc:1.0"
${ACM_ARN} with ACM ARN --> "arn:aws:acm:<AWS-Region>:<AccountId>:certificate/<certificate_ID>"
${DNS_HOSTNAME} with a valid DNS Host Name in the following example format --> "www.example.com" or "amazon.com"
- Deploy using
kubectl
kubectl apply -f ./kubernetes/grpc-sample.yaml
This library is licensed under the MIT-0 License. See the LICENSE file.