Deploying to Google Cloud Platform
##################################
Prerequisites
---------------
To follow the installation, make sure you have:
* `Helm 3 `_
* :ref:`Robusta CLI `
* `Google Cloud CLI `_
GCP Guide
------------------------------
Set up a GKE global static IP
---------------------------------
* Locate your `project ID `_ if its not set on your workspace.
* Create a new global IP:
.. code-block:: bash
:name: cb-gke-create-static-global-ip
gcloud compute addresses create robusta-platform-ip --global --project=
.. admonition:: Common Errors
:class: warning
* Make sure to use --project= if its not set on your workspace.
* This must be a Global IP address.
Set up DNS
--------------
in this step we are going to route your DNS to the GKE global static IP.
* find the gloabl robusta-platform-ip address:
.. code-block:: bash
:name: cb-gke-get-global-ip-address
gcloud compute addresses list --filter=name:robusta-platform-ip --global --project=
Route the subdomains to the new IP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The linking process depends on your domain provider (e.g. Namecheap, GoDaddy or Google Domains).
Usually it involves creating an “A Record”.
**(replace MY_DOMAIN with your domain)**
1. db.MY_DOMAIN
2. platform.MY_DOMAIN
3. relay.MY_DOMAIN
4. api.MY_DOMAIN
DNS Troubleshooting
^^^^^^^^^^^^^^^^^^^^
| To validate the routing, ping the sub-domains and make sure you see the GKE global static IP.
| For example:
.. code-block:: bash
:name: cb-gke-validate-dns
ping platform.MY_DOMAIN
Generate the self host values files
---------------------------------------
**make sure to use MY_DOMAIN as domain**
.. code-block:: bash
:name: cb-gke-gen-config
robusta self-host gen-config --provider gke --domain
Deploy
--------
* Add the chart repository:
.. code-block:: bash
:name: cb-gke-add-helm-repo
helm repo add robusta-platform https://robusta-charts-all.storage.googleapis.com && helm repo update
* Install the Robusta platform into your cluster using `Helm `_ :
.. code-block:: bash
:name: cb-gke-install
helm install robusta-platform robusta-platform/robusta-platform -f self_host_values.yaml
**It will take the Robusta platform approximately 30 min to activate due to Google's SSL certificate provisioning process.**
check the :ref:`Troubleshooting ` section for more info.
Configure Robusta CLI to use your backend configuration.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
robusta_cli_config.json file was generated for you with the required settings.
* Add an environment variable that points to the config file:
.. code-block:: bash
:name: cb-gke-add-env-var-backend-config
export ROBUSTA_BACKEND_PROFILE=/Path/to/your/robusta_cli_config.json
* verify that Robusta CLI uses your backend configuration, run:
.. code-block:: console
:name: cb-gke-verify-cli-backend-config
$ robusta version
Using Robusta backend profile: /Path/to/your/robusta_cli_config.json
Integrations
----------------
Now that your values file is ready, here are a couple of guides we'd recommend you check out.
* :ref:`Google SSO integration `
* :ref:`Slack integration `
Troubleshooting
----------------
GKE Managed certificate
^^^^^^^^^^^^^^^^^^^^^^^^
Robusta's platform uses Google-managed SSL certificate which takes approximately 30~ min to activate.
* Go to `GKE Managed certificates `_ and find ``robusta-platform-certificate``.
* Make sure the certificate Status is Active and you see your 4 sub-domains with an Active status as well.
Load balancer
^^^^^^^^^^^^^^^
The load balancer depends on the managed certificate to run proprly.
* Go to `GKE Load Balancers `_ find the ``robusta-platform-ingress`` load balacer.
* Make sure there are 5 backend services running with green check mark.
Deployments
^^^^^^^^^^^^^
Run:
.. code-block:: bash
:name: cb-self-host-gke-check-deployments
kubectl get deploy
Make sure ``robusta-ui``, ``platform-relay``, ``kong``, ``auth``, ``meta`` and ``rest`` are in running state.
Login to the UI
^^^^^^^^^^^^^^^^
Go to ``https://platform.MY_DOMAIN`` and sign up. Then try to log in.
Support
^^^^^^^^^^^^^^^
For further help contact us on `Slack `_ or `support@robusta.dev `_