This is a simple CICD pipeline using CircleCI that simplifies how to automatically deploy a container to an aws eks cluster. The idea is to help student in Udacity and developers to learn how to easily create a CICD pipeline for aws eks.
Important for Udacity Cloud DevOps students
This pipeline is missing required jobs in rubric like: linting, image build/push
- CircleCI
- AWS EKS (Kubernetes)
- Dockerhub
- circleci/[email protected]
- circleci/[email protected]
-
Create the CircleCI account
-
Create a GitHub repository
-
Download or clone this project
-
Push this project to your GitHub repository
-
In CircleCI setup the project.
Once on the Project page, find the project you are using and click Set Up Project.
According to the AWS EKS orb’s repo it is very important to meet these requirements before running the pipeline:
Add the AWS credentials as environment variables. Configure AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
and AWS_DEFAULT_REGION
as CircleCI project or context environment variables as shown in the links provided for project or context.
Add the policies to the IAM user suggested in the official eksctl website as Minimum IAM policies
Run the Pipeline by pushing a new commit to the GitHub repository or manually in the project’s GUI in CircleCI
To access the website copy the Load Balancer URL:
- You will need to put your image name in the deployment.json
- You will need to set the correct ports in the deployment.json and service.json
- You will need to set the correct Deployment and Service names in the config.yml