GithubHelp home page GithubHelp logo

eks-poc's Introduction

The app is live at : (http://k8s-ekspoc-pocingre-636ebb00d8-1404276073.us-east-1.elb.amazonaws.com/) I have used secrets in the deployment and cicd. Also used the declarative approach with HELM inside kubernetes.

CICD Approach

alt text

The CICD approach here we are using is quote simple but according to best practice. Below is the breakdown of whole cicd system

1 and 2 - developer pushes the code from his system to a specific branch in github. After qa the branch merges to master
3 - Github actions trigger on the master branch and run the ci process.

4 - Github actions dockerizes the application and uses github secrets for any secrets/password/keys that are required to dockerize the app.

5 - Image pushed to docker repo, in our case it is ECR
6 - once pushed to repo AWS EKS gets the new version of the app and deploys it accordingly.

2a. - There are multiple choices for the CICD of kubernetes application depending upon where we are hosting our source code and where the target deployment. For example we can use Github Actions if we are hosting code repo in github. AWS CICD services (codepipeline, codecommit, codedeploy) are also good candidates for CICD.

We don't need to provide access to devs for the deployment process, it will be totally automated and without any human intervention. Dev can simply push the code and after merging that to master (or any other desired branch) the CICD will run. It will dockerize the app, push that into a docker repo and deploy the application to kubernetes, all automatically. Each CICD service that mentioned above provides alerts and notifications on the status of the CICD process, in this way we can be assured that the process is working fine or not. Also we can use open source monitoring tools on top of the cluster to make sure everything is working fine after the
deployment. Some of the tools are LENS, Grafana, NewRelic etc.

i - To manage secrets inside the CICD process and in kubernetes application we have various choices. We can use github secrets during CICD, or in AWS we can use AWS Secrets Manager. Also we can use Kubernetes Secrets as well for storing application related secrets.

Ii - The above part already answers this question. As we can use github secrets for CICD or AWS Secrets Manager / Kubernetes Secrets for storing application related secrets.

2b. - Addons are used to extend the functionality of K8s. We can use either HELM charts or Kubernetes Channels to install and manage these addons. This thread shows a way to use channels in K8s to manage addons
Also here is an office doc list of addons (not all)
. This doc discusses about various addons installation options and management.

eks-poc's People

Contributors

faisalazure avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.