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.