Giter Club home page Giter Club 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

askulkarni2 avatar kahirokunn avatar kcoleman731 avatar kcaws avatar cvlc avatar florentio avatar vara-bonthu avatar bobdoah avatar sharepointoscar avatar allamand avatar zvikan avatar yskopets avatar aruanurag avatar vyankygh avatar victorgu-github avatar micbegin avatar spkane avatar macirculado avatar marcel-dias avatar jochemvankessel avatar csantanapr avatar bryantbiggs avatar amazon-auto avatar

Watchers

James Cloos 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.