Solution Pattern: Cluster as a Service
This solution pattern brings an architectural solution demonstrating how easily we can create multiple Kuberenetes clusters in AWS cloud directly from the Github code repository using GitHub Actions. In this pattern, we will be deploying multiple Managed Openshift clusters using Terraform in different AWS accounts using a deployment pipeline.
Contributors: Gaurav Midha (Red Hat)
1. What is Cluster as a service
Cluster as a service provides an easy way to define clusters using code and allows engineers to create these clusters. The main goal of ClaaS is to build a scalable, efficient and easy-to-use system to provide virtual clusters as services to an enterprise’s trusted users.
Its features are following:
-
Deploy fully provisioned clusters: Once a cluster is ready, users can start using the clusters immediately. It reduces cost and increases the speed of deployments.
-
Code-driven: All configurations of the cluster are stored in a git repo. It reduces error and eliminates configuration drifts.
-
Automated deployment pipeline: Clusters are created using automated deployment pipelines. It improves infrastructure consistency.
-
Manage multiple clusters across multi regions easily: Clusters can be deployed and managed in Multi Region or Multiple AWS accounts.
2. The Solution
Kubernetes is an open-source container orchestration engine for automating deployment, scaling and management of containerized applications. Organizations use it heavily for production grade applications. Managing 100s of kubernetes clusters across multi region and multiple aws accounts is cumbersome. This can impact productivity and adversely affect the timelines for an organization.
Each Organization’s goals should be:
-
Reduce infrastructure complexity by abstracting it and automating it.
-
Get a consistent platform on any cloud infrastructure.
-
Use a SRE managed application platform.
-
Consistency - reduce developer and operations overhead.
-
Turn-key - avoid over-investing in your own platform engineering.
-
Take advantage of strong cloud partnerships through Red Hat.
-
Reduce or eliminate long-term credentials for systems access, including automation tools and cloud platforms.
Red Hat has a premium managed Openshift offering (ROSA) in AWS. In this pattern, we will be demonstrating how we can use a CI/CD platform such as GitHub workflows and provision our multiple ROSA clusters in one or multiple AWS accounts. All of this, while also relying on AWS STS as a best-practice in cloud authentication for cluster deployment.
This solution pattern demonstrates how we can provision multiple ROSA clusters using a CI/CD pipeline directly from GitHub itself. In the workshop, We will be provisioning two clusters in two different AWS accounts directly from the github repository.
3. Explore more solution patterns
404: Not Found