Installation
Here are the detailed instructions for installation of Rafay Controller in GKE environments using terraform.
Install Rafay Controller¶
-
Click here to download the controller installation package to the instance
-
From your home directory, untar the package using the command below
tar -xf rafay-controller-*
- Copy and edit the config.yaml file.
cp -rp config.yaml-tmpl config.yaml
$ vi config.yaml
- Customize the config.yaml
database:
host: "10.63.192.3" # private ip of database instance
port: 5432
external-database: true
generate-self-signed-certs: false # TRUE will create self signed certs for all core endpoints. FALSE will use certs updated below.
# add the wildcard cert and key for the star-domain only when generate-self-signed-certs is false. That is we need certs/keys for star.rafay.example.com.
console-certificates:
certificate: <wildcard cert file for partner.star-domain>
key: <key file for the wildcard cert of partner.star-domain>
Creating database secrets using radm
Replace the <"public ip"> placeholder with the public ip of the database instance. Default root-user is postgres
sudo ./radm database --host <"public ip"> --kubeconfig <config file from gke cluster> --port 5432 --root-password <postgres db password> --root-user <postgres db username>
Ex: sudo ./radm database --host "34.102.3.79" --kubeconfig gke-config.yaml --port 5432 --root-password postgres --root-user postgres
Installing rafay dependencies
Install the Rafay dependencies which are required for the controller.
sudo ./radm dependency --config config.yaml --kubeconfig <gke cluster config file>
Ex: sudo ./radm dependency --config config.yaml --kubeconfig gke-config.yaml
Installing rafay application
Install the rafay application
sudo ./radm application --config config.yaml --kubeconfig <gke cluster config file>
Ex: sudo ./radm application --config config.yaml --kubeconfig gke-config.yaml
This will bring up all Rafay services.
Note: This process will take approx 20-30 mins for all pods to be up and ready.
Before proceeding further, confirm that all pods are in running state using kubectl.
kubectl get pods -A --kubeconfig <gke cluster config file>
Accessing the console UI of the controller¶
Try accessing the Rafay air-gapped controller https://console.
- A screen appears similar to the image below when accessing the UI
-
Click the Sign Up link to create the first Organization of the rafay air-gapped controller
-
Register a new account for the organization as below screenshot
- Try to login to this Organization with the newly registered account on the login screen
Uploading cluster dependencies¶
Run the below command to enable support for Kubernetes cluster provisioning from the Rafay air-gapped controller and upload dependencies for Kubernetes cluster provisioning to the controller.
sudo ./radm cluster --config config.yaml --kubeconfig <gke cluster config file>
Ex: sudo ./radm cluster --config config.yaml --kubeconfig gke-config.yaml
Modify the timescaledb retention period¶
To modify the timescaledb retention period to one day.
kubectl exec -it -n rafay-core rafay-tsdb-timescaledb-0 sh
psql
postgres=# select get_default_retention_period();
get_default_retention_period
------------------------------
90 days
(1 row)
postgres=# select set_default_retention_period(1 * INTERVAL '1 day');
set_default_retention_period
------------------------------
t
(1 row)
postgres=# select get_default_retention_period();
get_default_retention_period
------------------------------
1 day
(1 row)