Skip to content

Imported Clusters

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.