<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SamanthaF</title>
    <description>The latest articles on DEV Community by SamanthaF (@samanthabee).</description>
    <link>https://dev.to/samanthabee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1279212%2F60cb81f6-bc0a-45fa-8854-a8f48781d270.png</url>
      <title>DEV Community: SamanthaF</title>
      <link>https://dev.to/samanthabee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samanthabee"/>
    <language>en</language>
    <item>
      <title>CloudBees CI add-on for Amazon EKS blueprints</title>
      <dc:creator>SamanthaF</dc:creator>
      <pubDate>Thu, 04 Apr 2024 07:00:00 +0000</pubDate>
      <link>https://dev.to/cloudbees/cloudbees-ci-add-on-for-amazon-eks-blueprints-1dpo</link>
      <guid>https://dev.to/cloudbees/cloudbees-ci-add-on-for-amazon-eks-blueprints-1dpo</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Now, you might wonder, "Where does CloudBees CI fit into this picture?" &lt;/p&gt;

&lt;p&gt;Well…..&lt;em&gt;(puts on marketing hat)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;1: CloudBees is thrilled to announce its integration into the expansive Amazon EKS blueprints community as an &lt;a href="https://aws-ia.github.io/terraform-aws-eks-blueprints-addons/main/aws-partner-addons/" rel="noopener noreferrer"&gt;AWS partner add-on&lt;/a&gt;. This collaboration simplifies the adoption and exploration of CloudBees CI’s enterprise features through two key components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;A suite of &lt;a href="https://github.com/cloudbees/terraform-aws-cloudbees-ci-eks-addon/tree/main/blueprints" rel="noopener noreferrer"&gt;blueprints&lt;/a&gt; for the CloudBees CI add-on 
    module, designed for compatibility with &lt;a href="https://aws-ia.github.io/terraform-aws-eks-blueprints-addons/main/" rel="noopener noreferrer"&gt;Amazon EKS 
    blueprints for Terraform&lt;/a&gt; that adhere to the &lt;a href="https://aws.github.io/aws-eks-best-practices/" rel="noopener noreferrer"&gt;EKS Best 
    Practices Guides&lt;/a&gt;, ensuring optimized performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2: &lt;a href="https://www.cloudbees.com/capabilities/continuous-integration" rel="noopener noreferrer"&gt;CloudBees CI&lt;/a&gt; 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.&lt;/p&gt;

&lt;p&gt;3: If you have played around with the new &lt;a href="https://www.cloudbees.com/products/saas-platform" rel="noopener noreferrer"&gt;CloudBees platform&lt;/a&gt;, the Terraform module and its companion blueprints leverage the CloudBees platform for the blueprint CI builds.  CloudBees platform &lt;a href="https://docs.cloudbees.com/docs/cloudbees-platform/latest/actions" rel="noopener noreferrer"&gt;actions&lt;/a&gt; orchestrated by &lt;a href="https://docs.cloudbees.com/docs/cloudbees-platform/latest/workflows/?_gl=1*1alsm34*_ga*MTE2NDM3Njk3NS4xNzExOTgyNzQx*_ga_37TX6SE1FC*MTcxMjE2NjQ2Ny4zLjEuMTcxMjE3OTc5NS4wLjAuMA.." rel="noopener noreferrer"&gt;workflows&lt;/a&gt; allow us to perform automated testing for each new release (refer to the &lt;a href="https://github.com/cloudbees/terraform-aws-cloudbees-ci-eks-addon/tree/main/.cloudbees" rel="noopener noreferrer"&gt;.cloudbees folder&lt;/a&gt;) for more info.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(pause while i take off my marketing hat and put on my “make it so” hat)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's get to the good stuff:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Blueprint 01:&lt;/strong&gt; &lt;a href="https://github.com/cloudbees/terraform-aws-cloudbees-ci-eks-addon/tree/main/blueprints/01-getting-started" rel="noopener noreferrer"&gt;Getting Started&lt;/a&gt; &lt;br&gt;
Get started with the &lt;a href="https://docs.cloudbees.com/docs/cloudbees-ci/latest/eks-install-guide/?_gl=1*1kn55hs*_ga*MTE2NDM3Njk3NS4xNzExOTgyNzQx*_ga_37TX6SE1FC*MTcxMjE2NjQ2Ny4zLjEuMTcxMjE2ODAyOC4wLjAuMA.." rel="noopener noreferrer"&gt;CI on modern platforms in Amazon EKS&lt;/a&gt; by running this blueprint, which installs CloudBees CI on modern platforms and its prerequisites, to help you understand the minimum setup which includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Certificate Manager (ACM)&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Blueprint 02:&lt;/strong&gt; &lt;a href="https://github.com/cloudbees/terraform-aws-cloudbees-ci-eks-addon/tree/main/blueprints/02-at-scale" rel="noopener noreferrer"&gt;Deployment at Scale&lt;/a&gt;&lt;br&gt;
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:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An Amazon Simple Storage Service (Amazon S3) bucket to store assets from applications like CloudBees CI, Velero, and Fluent Bit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amazon EKS managed node groups for different workloads: CI applications, CI on-demand agents, CI spot agents, and Kubernetes applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amazon CloudWatch Logs to explode control plane logs and Fluent Bit logs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The following Amazon EKS blueprints add-ons:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   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.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Cloudbees CI uses &lt;a href="https://docs.cloudbees.com/docs/cloudbees-ci/latest/casc-controller/" rel="noopener noreferrer"&gt;Configuration as Code&lt;/a&gt; (CasC)to enable exciting new features for streamlined DevOps and other enterprise features, such as CloudBees CI &lt;a href="https://docs.cloudbees.com/docs/cloudbees-ci/latest/cloud-admin-guide/managing-controllers#_hibernation_in_managed_masters" rel="noopener noreferrer"&gt;Hibernation&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;The CI operations center is using the CasC Bundle Retriever.&lt;/li&gt;
&lt;li&gt;Managed controller configurations are managed from the operations center using source control management (SCM).&lt;/li&gt;
&lt;li&gt;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: &lt;a href="https://docs.cloudbees.com/docs/cloudbees-ci/latest/ha/ha-fundamentals" rel="noopener noreferrer"&gt;high availability&lt;/a&gt; (HA) and none-HA, to accommodate considerations about HA controllers.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;This is a summary repost from the blog: &lt;a href="https://www.cloudbees.com/blog/deploy-cloudbees-ci-to-amazon-web-services-aws-elastic-kubernetes-service" rel="noopener noreferrer"&gt;CloudBees CI add-on for Amazon EKS blueprints&lt;/a&gt;, which contains even more links and architectural diagrams of the infrastructure for your viewing enjoyment.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>eks</category>
      <category>cicd</category>
      <category>kubernetes</category>
    </item>
  </channel>
</rss>
