DEV Community

Cover image for CloudBees CI add-on for Amazon EKS blueprints
SamanthaF for CloudBees

Posted on • Originally published at cloudbees.com

CloudBees CI add-on for Amazon EKS blueprints

Hey there! If you've dabbled with Amazon Elastic Kubernetes Service (Amazon EKS), you know it's a breeze to run add-ons developed by the Kubernetes open-source community. But, with so many tools and designs out there, crafting a custom Amazon EKS cluster to fit your app's needs might seem like a marathon.

Enter Amazon EKS blueprints – your new best friend for easily setting up EKS clusters packed with everything your software delivery team dreams of. These blueprints are like your recipe for success, using Infrastructure as Code (IaC) modules to serve up a ready-to-go Amazon EKS cluster for CloudBees CI, complete with all the essential tools to get those workloads running. And the cherry on top? You can deploy it across different accounts and regions in Amazon Web Services (AWS) without breaking a sweat.

Now, you might wonder, "Where does CloudBees CI fit into this picture?"

Well…..(puts on marketing hat)

1: CloudBees is thrilled to announce its integration into the expansive Amazon EKS blueprints community as an AWS partner add-on. This collaboration simplifies the adoption and exploration of CloudBees CI’s enterprise features through two key components:

  • The deployment of CloudBees CI on modern platforms in AWS EKS is streamlined into a singular Terraform module, making the onboarding process seamless and efficient.
  • A suite of blueprints for the CloudBees CI add-on module, designed for compatibility with Amazon EKS blueprints for Terraform that adhere to the EKS Best Practices Guides, ensuring optimized performance.

2: CloudBees CI is a super robust continuous integration (CI) tool built on Jenkins—you know, the go-to CI/CD orchestrator. It's perfect for big enterprises that love Jenkins but need more oomph in managing and scaling it. While there's a bunch to highlight, we're zeroing in on how CloudBees CI and Amazon EKS blueprints team up.

3: If you have played around with the new CloudBees platform, the Terraform module and its companion blueprints leverage the CloudBees platform for the blueprint CI builds. CloudBees platform actions orchestrated by workflows allow us to perform automated testing for each new release (refer to the .cloudbees folder) for more info.

(pause while i take off my marketing hat and put on my “make it so” hat)

Setting up your Amazon EKS cluster with CloudBees CI is now as easy as pie (mmmm pie), letting you focus on what really matters – delivering awesome software.

Let's get to the good stuff:

Blueprint 01: Getting Started
Get started with the CI on modern platforms in Amazon EKS by running this blueprint, which installs CloudBees CI on modern platforms and its prerequisites, to help you understand the minimum setup which includes:

  • AWS Certificate Manager (ACM)
  • Amazon EKS blueprints add-ons: AWS Load Balancer Controller ExternalDNS Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) driver, to allocate Amazon EBS volumes for hosting $JENKINS_HOME.

Blueprint 02: Deployment at Scale
Once you are familiar with CloudBees CI blueprint add-on: Getting started(Blueprint 01 from above), this blueprint presents a scalable architecture and configuration by adding:

  • An Amazon Elastic File System (Amazon EFS) drive that is required by CloudBees CI High Availability/Horizontal Scalability (HA/HS) controllers and is optional for non-HA/HS controllers.

  • An Amazon Simple Storage Service (Amazon S3) bucket to store assets from applications like CloudBees CI, Velero, and Fluent Bit.

  • Amazon EKS managed node groups for different workloads: CI applications, CI on-demand agents, CI spot agents, and Kubernetes applications.

  • Amazon CloudWatch Logs to explode control plane logs and Fluent Bit logs.

  • The following Amazon EKS blueprints add-ons:

   1. AWS EFS CSI Driver: Connects the Amazon EFS drive 
      to the Amazon EKS cluster
   2. AWS for Fluent Bit: Acts as an applications log 
      router for log observability in CloudWatch.
   3. Cluster Autoscaler: Watches Amazon EKS managed node 
      groups, to accomplish CloudBees CI auto-scaling 
      nodes on Amazon EKS.
   4. Kube Prometheus Stack: Used for metrics 
      observability.
   5. Metrics Server: This is a requirement for CloudBees 
      CI High Availability controllers for horizontal pod 
      autoscaling.
   6. Velero: Backs up and restores Kubernetes resources 
      and volume snapshots, which is only compatible with 
      Amazon EBS.
Enter fullscreen mode Exit fullscreen mode
  • Cloudbees CI uses Configuration as Code (CasC)to enable exciting new features for streamlined DevOps and other enterprise features, such as CloudBees CI Hibernation
    • The CI operations center is using the CasC Bundle Retriever.
    • Managed controller configurations are managed from the operations center using source control management (SCM).
    • The managed controllers are using CasC bundle inheritance (refer to the parent folder). This "parent" bundle is inherited by two types of "child" controller bundles: high availability (HA) and none-HA, to accommodate considerations about HA controllers.

Conclusion

There you have it! With Amazon EKS blueprints and CloudBees, you're essentially fast-tracking your projects. So, why not give it a shot and see how it can boost your projects? Trust me, it's worth exploring.

This is a summary repost from the blog: CloudBees CI add-on for Amazon EKS blueprints, which contains even more links and architectural diagrams of the infrastructure for your viewing enjoyment.

Top comments (0)