Rafay Addon - AWS EKS Blueprints for CDK¶
EKS Blueprints for CDK is a framework that makes it easy for customers to configure and deploy Rafay Kubernetes Operator as part of an EKS Blueprints cluster on Amazon EKS.
This Addon deploys Rafay’s Kubernetes Operations Platform (KOP) for Amazon Elastic Kubernetes Service (Amazon EKS) management and operations. With KOP, your platform and site-reliability engineering (SRE) teams can deploy, operate, and manage the lifecycle of Kubernetes clusters and containerized applications in both AWS Cloud and on-premises environments.
With the Rafay Kubernetes Operations Platform, enterprises use a single operations platform to manage the lifecycle of Amazon EKS clusters and containerized applications. You can speed up the deployment of new applications to production, reduce application downtimes, and reduce security and compliance risks associated with your infrastructure.
Rafay automates the deployment of containerized applications and enables access to Kubernetes clusters through a zero-trust connectivity model. A unified dashboard provides enterprise-grade capabilities, such as monitoring across AWS Regions, role-based access control, and governance.
Installation¶
Using npm:
npm install @rafaysystems/rafay-eks-blueprints-addon
For a quick tutorial on EKS Blueprints, visit the Getting Started guide.
Basic Usage¶
import * as blueprints from '@aws-quickstart/eks-blueprints';
import * as rafayAddOn from '@rafaysystems/rafay-eks-blueprints-addon';
import { Construct } from "constructs";
export default class RafayConstruct extends Construct {
constructor(scope: Construct, id: string) {
super(scope, id);
const stackId = `${id}-blueprint`;
let rafayConfig = {
organizationName: "rafay-eks-org-1", // replace with your organization Name
email: "abc@example.com", // replace with your email
firstName: "John", // replace with your first Name
lastName: "Doe", // replace with your last Name
password: "P@$$word", // replace with a password of your own
clusterName: "eks-cluster-1", // replace with the name that you want the cluster to be created in Rafay Console
blueprintName: "minimal"
} as rafayAddOn.RafayConfig
const addOns: Array<blueprints.ClusterAddOn> = [
new rafayAddOn.RafayClusterAddOn(rafayConfig)
];
blueprints.EksBlueprint.builder()
.version("auto")
.account(process.env.CDK_DEFAULT_ACCOUNT!)
.region(process.env.CDK_DEFAULT_REGION)
.addOns(...addOns)
.build(scope, stackId);
}
}
Validation¶
kubectl get po -n rafay-system
NAME READY STATUS RESTARTS AGE
controller-manager-v3-54b4945f7f-5kvwk 1/1 Running 0 4m49s
edge-client-65995fbb78-hvp25 1/1 Running 0 6m
rafay-connector-v3-5dc986d5d9-hb2t7 1/1 Running 0 4m49s
relay-agent-6f555c4dbf-hrr4b 1/1 Running 0 6m
Validation from Rafay Console
- Login to Rafay console with the credentials used in the blueprint
- Navigate to Clusters and click on "cluster-name"