Skip to content

Surya Kant Pasayat

Monitoring Kubernetes Environments using Rafay

Rafay is a Kubernetes management platform that enables platform teams automate the entire lifecycle of K8s clusters, including provisioning, scaling, upgrading, and monitoring. For companies that are embracing a multi-cloud approach, visibility and effective monitoring of clusters require use of disparate tools. Rafay provides various tools and features to centralize manage the cluster estate and track the performance, health, and resource utilization of your Kubernetes clusters and workloads.

Here are some key aspects of Rafay's monitoring solution:

Create Git Pipeline on Rafay in 3 easy steps

Rafay’s Kubernetes Operations Platform includes a GitOps service that enables infrastructure orchestration (Infra GitOps) and application deployment (App GitOps) through multi-stage, git-triggered pipelines. In this blog post, we will discuss setting up a simple pipeline to sync cluster configuration to a Git repo in 3 easy steps.

In this example, we will start with a brownfield cluster that we will import and convert to a ‘Rafay managed’ cluster. We will then initiate a ‘system sync’ operation to write back the cluster configuration to a specified Git repo.

Mermaid

Helm-Based Import

Early this year, we released the ability to import existing brownfield clusters into the Rafay platform using an official Helm Chart. With the helm-based import, it's a simple 3 step process a) Add the rafay-helm-charts to your helm repo b) Download the values.yaml using the API, RCTL or TF. This allows you to customize certain configurations as needed. c) Helm install with the custom values. This will bootstrap the Rafay operator onto the cluster.

Steps for this process are documented here.

Advantages of using Helm-Based Import

  • automate through the same Helm based interface that you are used to today and add this to your existing Helm automation
  • ability to use custom values.yaml file just like you would do with normal Helm to deploy the same bootstrap chart to multiple clusters
  • expanded and deeper integration with our technology partners - for example you can install Rafay through the AWS Marketplace

Values.yaml file customization

Using the API or TF, the default values.yaml file can be downloaded that will be used for the Helm install. Whether you are operating using the SaaS or self-hosted controller, the API endpoints, tokens, registries etc. will be populated with the latest and up to date information. You can change things like the Rafay relay image cpu and memory limits to fine tune performance accordingly. An example of what the values.yaml file looks like is shown here:

global:
  Rafay:
    ClusterLabels:
      rafay.dev/clusterID: 'kg1nqzk'
      rafay.dev/clusterLocation: 'newyorkcity-us'
      rafay.dev/clusterName: 'do-c'
      rafay.dev/clusterType: 'imported'
      rafay.dev/kubernetesProvider: 'OTHER'

connector:
  image:
    repository: "registry.rafay-edge.net/rafay/rafay-connector"
    pullPolicy: IfNotPresent
    tag: "r1.25.0-1"

controller:
  image:
    repository: "registry.rafay-edge.net/rafay/cluster-controller"
    pullPolicy: IfNotPresent
    tag: "r1.25.0-1"

relay:
  image:
    repository: "registry.rafay-edge.net/rafay/rafay-relay-agent"
    pullPolicy: IfNotPresent
    tag: "r1.25.0-1"
  resources:
    requests:
      cpu: 100m
      memory: 128Mi
    limits:
      cpu: 500m
      memory: 512Mi

initContainer:
  image:
    repository: "registry.rafay-edge.net/rafay/busybox"
    pullPolicy: IfNotPresent
    tag: "1.33"

token: "ci174q5rhpjof3hkjv40"
api_addr: "api.rafay.dev."
control_addr: "control.rafay.dev."
allow_insecure_bootstrap: ""
cluster_id: 'kg1nqzk'
max_dials: '2'
relays: '[{"token":"ci174q5rhpjof3hkjv4g","addr":"app.rafay.dev.:443","endpoint":"*.connector.kubeapi-proxy.rafay.dev.:443","name":"rafay-core-relay-agent","templateToken":"bsegkge8bg0jn4l6pdjg"}]'
http_proxy: ""
https_proxy: ""
no_proxy: ""
proxy_auth: ""
openshift: false

Example

In this YouTube video below, I show an example of how you can use the Rafay API to download the values.yaml file, which you can customize according to your needs and then import the cluster into Rafay using Helm.

Blog Ideas

Sincere thanks to readers of our blog who spend time reading our product blogs. Please Contact the Rafay Product Team if you would like us to write about other topics.


Rafay terraform provider

Rafay's Terraform Provider

Terraform is today one of the most popular tools to provision resources on all major cloud platforms, such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure. It uses Infrastructure as a Code (IaC) to automate infrastructure provisioning. This blog will discuss the Terraform provider for Rafay.

The Rafay Terraform provider Terraform Provider is a plugin that allows Terraform to manage resources in the Rafay platform. It enables users to automate the creation, configuration, and deletion of Rafay resources such as clusters, projects, policies, and environments. It is available as an open-source project on GitHub, and it can be installed using the standard Terraform plugin installation process Terraform installation