Skip to content

AhmedNasserabdelkareem/DevOps_nanodegree_capstone

Repository files navigation

DevOps_nanodegree_capstone


Project Overview

Capstone project for Udacity's "Cloud DevOps Engineer" Nanodegree Program.


Objectives

  • Working in AWS
  • Using Jenkins to implement Continuous Integration and Continuous Deployment
  • Building pipelines
  • Working with CloudFormation to deploy clusters
  • Building Kubernetes clusters
  • Building Docker containers in pipelines

Project Steps

  1. Development
  2. Create eks cluster
  3. Resources creation
  4. Create image && docker hub
  5. Deploy to Kubernetes Cluster
  6. CI/CD Pipeline

Development

  • Simple flask "Hello World" application.

EKS

  • First, Trying to create kubernetes cluster with this command:

        $ eksctl create cluster \
    			--name capstone \
    			--version 1.17 \
    			--nodegroup-name standard-workers \
    			--node-type t2.micro \
    			--nodes 2 \
    			--nodes-min 1 \
    			--nodes-max 3 \
    			--node-ami auto \
    			--region us-west-2 \
    			--zones us-west-2a \
    			--zones us-west-2b \
    			--zones us-west-2c \
    
  • Configure it using this command:

        $ aws eks --region us-west-2 update-kubeconfig --name capstone
    

1.png 2.png 3.png


AWS

  • Cluster

11.png

  • Creating stacks

12.png 13.png

  • EC2 instances

14.png

  • Creating user

15.png

  • User's policy

16.png


Docker

  • Try to lint Dockerfile

4.png 5.png

  • Building docker image

6.png

  • Upload it to Dockerhub

10.png


deploy-kubernetes-cluster

  • Applying to kubernetes using aws-auth.cm.yaml templete

7.png 8.png


ci/cd-pipeline

  • The whole pipeline

9.png

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published