Installing the hybrid SaaS agent

4 minute read

To deploy the hybrid SaaS model, there are three options for installing and managing the required CloudBees Release Orchestration SaaS agent:

  • Managed agent

  • Self-hosted agent with Kubernetes

  • Self-hosted agent with stand-alone server

You cannot change the agent type once the agent is installed. If you need a different agent option, send us a request.

With the managed agent model, the agent is installed in a secure CloudBees Release Orchestration SaaS-managed AWS cloud environment for each user, and CloudBees manages all upgrades. The managed agent is kept up to date automatically with the latest release.

The self-hosted agent is for users who manage their DevOps tools behind a firewall, or those users who prefer to secure DevOps access credentials for CloudBees Release Orchestration SaaS within their own network.

The self-hosted agent installation environment can be either Kubernetes or a stand-alone server.

For self-hosted agent updates, Admin  Agent displays any notifications that an new agent release is available. Updating the agent requires only a few commands.

Installing the managed agent

To install the managed agent:

  1. Select Managed Agent.

    Managed agent
    Figure 1. Selecting managed agent installation
  2. Select Next.

  3. Select PROCEED.

Installed self-hosted agent
Figure 2. A successful agent installation

You have installed the managed agent. The agent status and version display briefly, and then an option to configure a CI tool displays. To learn more, refer to CI tool integration.

Installing the self-hosted agent with Kubernetes

With the self-hosted agent option, the agent is installed on-prem, and any upgrades are managed by the user.

You can choose from four different Kubernetes environments:

  • Amazon Elastic Kubernetes Service

  • Google Kubernetes Engine

  • Azure Kubernetes Service

  • VMware Tanzu Kubernetes Grid Integrated Edition

To install the self-hosted agent with Kubernetes:

  1. Select Self-Hosted.

  2. Select the Kubernetes Agent installation environment.

  3. Select a Kubernetes cluster environment from the options. Note the minimum required system specification for your option.

    Minimum required specifications
    Figure 3. Minimum specifications highlighted for selected option
  4. Select Next.

  5. Select PROCEED.

    Installing Azure
    Figure 4. Installing an Azure Kubernetes Service agent
  6. Verify that you have the prerequisites to install the agent.

  7. Copy and execute the following commands to download the package and install:

    1. Select Copy package download command to copy and run.

    2. Select kubectl create namespace riq-agent and cluster role binding to copy and run.

    3. Select Copy agent install command to copy and run.

    Azure agent installation
    Figure 5. Installation steps for agent installation highlighted

Agent installation takes approximately ten minutes, depending on the actual deployment time, including the pod startup and progression to ready state.

In the agent, run kubectl get pods -n riq-agent or, to watch the status, run kubectl get pods -n riq-agent -w. Upon completion, the services display READY, and the agent screen refreshes to display the agent version with all menus enabled.

Successful agent installation
Figure 6. Successful agent installation with Kubernetes

You have installed the self-hosted agent with Kubernetes.

Installing the self-hosted agent with a stand-alone server

Minimum requirements for installation of the CloudBees Release Orchestration SaaS self-hosted agent with a stand-alone server are:

  • CPU: 4 CPUs

  • Memory: 16 GB RAM

  • Disk space: 40 GB

  • OS: Ubuntu Server 20.04

To install the self-hosted agent with a stand-alone server:

  1. Select Self-Hosted.

  2. Select the Standalone server Agent installation environment.

  3. Select a sytem type from the options.

  4. Select a deployment preference from the options.

    Minimum required specifications
    Figure 7. Minimum specifications highlighted for selected option
  5. Select Next.

  6. Select PROCEED.

    Installing stand-alone
    Figure 8. Installing an agent on a stand-alone server
  7. Verify that you have the prerequisites to install the agent.

  8. Copy and execute the following commands to download the package and install:

    1. Select Copy package download command to copy and run.

    2. Select kubectl create namespace riq-agent to copy and run.

    3. Select Copy agent install command to copy and run.

Agent installation takes approximately ten minutes, depending on the actual deployment time, including the pod startup and progression to ready state.

In the agent, run kubectl get pods -n riq-agent or, to watch the status, run kubectl get pods -n riq-agent -w. Upon completion, the services display READY, and the agent screen refreshes to display the agent version with all menus enabled.

You have installed the self-hosted agent with a stand-alone server.

To install the agent on an agent machine which uses a proxy, run:

helm upgrade --install riq-agent -n riq-agent riq-agent --set RIQ_INSTALL_KEY="INSTALLATION_KEY" --set global.HTTP_PROXY_HOST="HTTP_PROXY_HOST_VALUE" --set global.HTTPS_PROXY_HOST="HTTPS_PROXY_HOST_VALUE" --set global.HTTP_PROXY_PORT="HTTP_PROXY_PORT_VALUE" --set global.HTTPS_PROXY_PORT="HTTPS_PROXY_PORT_VALUE" --set global.NO_PROXY="NO_PROXY_VALUE" --set global.system.properties.proxy.enable="true"

In the above command, the variables are:

  • INSTALLATION_KEY: Located on the CloudBees Release Orchestration SaaS installation screen

  • HTTP_PROXY_HOST_VALUE: http proxy host

  • HTTPS_PROXY_HOST_VALUE: https proxy host

  • HTTP_PROXY_PORT_VALUE: http proxy port

  • HTTPS_PROXY_PORT_VALUE: http proxy port

  • NO_PROXY: No proxy IP separated by a | (add *.svc.cluster.local along with your IP)

An example of this command is:

helm upgrade --install riq-agent -n riq-agent riq-agent --set RIQ_INSTALL_KEY="INSTALLATION_KEY" --set global.HTTP_PROXY_HOST="HTTP_PROXY_HOST_VALUE" --set global.HTTPS_PROXY_HOST="HTTPS_PROXY_HOST_VALUE" --set global.HTTP_PROXY_PORT="HTTP_PROXY_PORT_VALUE" --set global.HTTPS_PROXY_PORT="HTTPS_PROXY_PORT_VALUE" --set global.NO_PROXY="NO_PROXY_VALUE" --set global.system.properties.proxy.enable="true"

To install the agent on an agent machine whose Jenkins is using SSL:

  1. Copy the SSL certificate in the agent machine with the name ssl-cert.crt.

  2. If you have not yet installed the agent, run the following command:

kubectl create configmap ssl-cert --from-file=ssl-cert.crt -n riq-agent
  1. If you have installed the agent, run the following command:

kubectl create configmap ssl-cert --from-file=ssl-cert.crt -n riq-agent kubectl scale deploy workflowexecutor -n riq-agent --replicas=0 kubectl scale deploy pubsub -n riq-agent --replicas=0 kubectl scale deploy listener -n riq-agent --replicas=0 kubectl scale deploy orchestrator -n riq-agent --replicas=0 kubectl scale deploy resilience -n riq-agent --replicas=0 kubectl scale deploy ci-insights -n riq-agent --replicas=0 kubectl scale deploy workflowexecutor -n riq-agent --replicas=1 kubectl scale deploy pubsub -n riq-agent --replicas=1 kubectl scale deploy listener -n riq-agent --replicas=1 kubectl scale deploy orchestrator -n riq-agent --replicas=1 kubectl scale deploy resilience -n riq-agent --replicas=1 kubectl scale deploy ci-insights -n riq-agent --replicas=1