- create Aws free tier account with root user
- Create a new IAM user with full access as admin
- create username and password for this new iam user
- create access key and secret key for this user.
- Configure aws cli profile for hte iam user
- Download and install eksclt
- Create eks-config.yaml file and configure cluster settings
- create cluster with eksclt using below command line
eksctl create cluster -f ./eks-config.yaml --profile <<Profile>>
- create ecr repository for images using below command
aws ecr create-repository --repository-name <<repo name>>
- copy the ecr repo URI and configure as below
ACCOUNT_ID=<<Accountid>> REGION=<<region>> PREFIX=${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/<reponame>
- Use docker to tag local image to remote image
GATEWAY_LOCAL=<gatewat-image>
GATEWAY_REMOTE=${PREFIX}:<gatewat-image>
MODEL_LOCAL=<model-image>
MODEL_REMOTE=${PREFIX}:<model-image>
docker tag ${GATEWAY_LOCAL} ${GATEWAY_REMOTE}
docker tag ${MODEL_LOCAL} ${MODEL_REMOTE}
- login via awscli
ecr get-login-password \
--region ${REGION} \
| docker login \
--username AWS \
--password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/<ecr-repo-name>
- push remote images using docker
docker push <<GATEWAY_REMOTE>>
docker push <<MODEL_REMOTE>>
- modify the image location in deployments.yaml file to ecr uri
- use kubectl to apply deployment ans services.