|Monday||02/11/2019 at 06:00PM|
Ask all your questions on Piazza. Assign assignment2 tag to your posts.
Individual assignment weightage on course grade of this assignment is 5%.
To keep your AWS credit usage to minimum, please stop terminate your k8s stack when you are done working on it.
Create AWS ECR Repository for Webapp¶
Create a ECR repository for your webapp. This can be done via AWS CLI or manually thru console.
Modify Webapp from CSYE 6225¶
You can start with final version of your webapp from CSYE 6225 and modify it so that it is a stateless application. Disable any API endpoint that requires authentication, database access, AWS S3, local file system access, etc. If you do not have unauthenticated endpoint, implement an api endpoint
/ping that responds with
Create a Dockerfile to build docker image for your web application.
Kubernetes Pod Configuration¶
Create a Kubernetes pod configuration file that can be used to deploy your application on Kubernetes cluster.
Ansbile Roles & Playbook¶
- Create a new
push_imagerole to build docker image from Dockerfile for your web app and push the newly built image to your AWS ECR repository.
- Create a playbook that uses the
- Create a playbook to deploy your web application using
kubectland the pod config file.
- Create a new
dashboardrole that is called in
setup kubernetesplaybook after cluster validation is successful.
Assignment will be considered late if commits are made to
feature branch after due date.
- All work for this assignment must be done on assignment2 feature branch and merged to master when you are dev complete.
- All team member’s feature and master branches must be in-sync.
Following guidelines are for information only. They are subject to change at the discretion of the instructor and TA.
- Verify webapp can be packaged into docker image using ansible playbook.
- Push docker image to AWS ECR
- Run lastest image of the app on K8S cluster using ansible playbook.
- Verify webapp endpoint access using kubectl port forward.