GithubHelp home page GithubHelp logo

eks-blueprints-add-ons's Introduction

EKS Blueprints Add-ons

Welcome to the EKS Blueprints Add-ons repository.

This repository contains GitOps configuration which follows the ArgoCD App of Apps pattern. It demonstrates how EKS customers can leverage ArgoCD to easily bootstrap an EKS cluster with a wide variety of Kubernetes add-ons.

Usage

With the EKS Blueprints Framework

This repository can be used in concert with the Amazon EKS Blueprints framework. Please see the ArgoCD add-on documentation for details on how to easily bootstrap an EKS cluster with the add-on configuration contained in this repository.

With an Existing Cluster

To bootstrap an existing cluster, you must first install ArgoCD. Instructions for doing so can be found in the ArgoCD getting started documentation.

Configure an Application

Once ArgoCD is installed, create a new application.yaml file with the following configuration.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: add-ons
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/aws-samples/eks-blueprints-add-ons.git
    targetRevision: HEAD
    path: chart
    helm:
      release: add-ons
      values: |
        cluster-autoscaler:
          enable: true
        metrics-server:
          enable: true
  destination:
    server: https://kubernetes.default.svc
    namespace: argocd

Note that you specify which add-ons should be installed by supplying values in the spec.source.helm.values map configuration. This example will only install cluster-autoscaler and metrics-server. To view available add-ons, visit the add-ons directory.

Deploy the add-ons

Apply the yaml to bootstrap the cluster.

kubectl apply -n argocd -f application.yaml

Repo Structure

The structure of this repository follows the ArgoCD App of Apps pattern. The configuration in this repository is organized into two directories: chart and add-ons.

├── chart
└── add-ons

Chart

The chart directory contains a Helm chart which represents the root Application for the ArgoCD App of Apps pattern. This Helm chart in turn deploys additional ArgoCD Application resources which represent additional add-on Helm charts.

chart
├── templates
│   └── agones.yaml
│   └── appmesh-controller.yaml
│   └── calico.yaml
│   └── aws-cloudwatch-metrics-calico.yaml
│   └── aws-for-fluent-bit.yaml
│   └── aws-load-balancer-controller.yaml
│   └── aws-otel-collector.yaml
│   └── aws-cert-manager.yaml
│   └── ...
├── Chart.yaml
├── values.yaml

Add-ons

The add-ons directory contains a dedicated Helm chart that deploys each individual add-on.

add-ons
├── agones
│   └── Chart.yaml
│   └── values.yaml
├── appmesh-controller
│   └── Chart.yaml
│   └── values.yaml
├── calico.yaml
│   └── Chart.yaml
├── aws-cloudwatch-metrics.yaml
│   └── Chart.yaml
│   └── values.yaml
│   └── ...

Contributing

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

eks-blueprints-add-ons's People

Contributors

allamand avatar alyibrahim avatar amazon-auto avatar aruanurag avatar askulkarni2 avatar bobdoah avatar bryantbiggs avatar csantanapr avatar cvlc avatar florentio avatar jochemvankessel avatar kahirokunn avatar kcaws avatar kcoleman731 avatar macirculado avatar marcel-dias avatar micbegin avatar sharepointoscar avatar spkane avatar vara-bonthu avatar victorgu-github avatar vyankygh avatar yskopets avatar zvikan 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.