Validated Patterns

Deploying the Lemonade Stand AI Quickstart pattern

Prerequisites
  • An OpenShift cluster (version 4.18 or later). This pattern requires at least 1 NVIDIA GPU node for LLM inference.

    • AWS: The pattern automatically provisions 1 g5.2xlarge GPU worker node (NVIDIA A10G) during installation. No GPU nodes need to be present before you deploy.

    • Other providers and bare metal: A GPU node must already be part of the OpenShift cluster before you deploy this pattern. The pattern installs all required operators automatically.

    • To create an OpenShift cluster, go to the Red Hat Hybrid Cloud console.

    • Select OpenShift -> Red Hat OpenShift Container Platform -> Create cluster.

  • The Helm binary. For instructions, see Installing Helm.

  • The oc CLI tool. For instructions, see Getting started with the OpenShift CLI.

  • Additional installation tool dependencies. For details, see Patterns quick start.

Preparing for deployment

Procedure
  1. Fork the ai-quickstart-lemonade-stand repository on GitHub. You must fork the repository to customize this pattern.

  2. Clone the forked copy of this repository.

    $ git clone git@github.com:your-username/ai-quickstart-lemonade-stand.git
  3. Go to the root directory of your Git repository:

    $ cd ai-quickstart-lemonade-stand
  4. Run the following command to set the upstream repository:

    $ git remote add -f upstream git@github.com:validatedpatterns-sandbox/ai-quickstart-lemonade-stand.git
  5. Verify the setup of your remote repositories by running the following command:

    $ git remote -v
    Example output
    origin	git@github.com:your-username/ai-quickstart-lemonade-stand.git (fetch)
    origin	git@github.com:your-username/ai-quickstart-lemonade-stand.git (push)
    upstream	git@github.com:validatedpatterns-sandbox/ai-quickstart-lemonade-stand.git (fetch)
    upstream	git@github.com:validatedpatterns-sandbox/ai-quickstart-lemonade-stand.git (push)
  6. Optional: To customize the deployment, create and switch to a new branch by running the following command:

    $ git checkout -b my-branch

    Make your changes, then stage and commit them:

    $ git add <changed-files>
    $ git commit -m "Customize deployment"

    Push the changes to your forked repository:

    $ git push origin my-branch

Deploying the pattern by using the pattern.sh file

To deploy the pattern by using the pattern.sh file, complete the following steps:

  1. Log in to your cluster by following this procedure:

    1. Obtain an API token by visiting the OAuth token request page.

    2. Log in to the cluster by running the following command:

      $ oc login --token=<retrieved-token> --server=https://api.<your_cluster>.<domain>:6443

      Or log in by running the following command:

      $ export KUBECONFIG=~/<path_to_kubeconfig>
  2. Deploy the pattern to your cluster. Run the following command:

    $ ./pattern.sh make install
Verification

To verify a successful installation, check the health of the ArgoCD applications:

  1. Run the following command:

    $ ./pattern.sh make argo-healthcheck

    It might take several minutes for all applications to synchronize and reach a healthy state. This includes downloading detector models, initializing the GPU operator, and starting the vLLM inference service.

  2. Verify the Operator installation by navigating to Operators → Installed Operators in the OpenShift Container Platform web console. Confirm the following Operators are present:

    • NVIDIA GPU Operator

    • Red Hat OpenShift AI

    • Node Feature Discovery Operator

    • External Secrets Operator

  3. After all applications are healthy, verify the inference service is serving by running:

    $ oc get inferenceservice -A
  4. Access the Lemonade Stand chatbot UI. Navigate to Networking → Routes in the lemonade-stand namespace and open the route URL for the lemonade-stand service.

  5. Access the R Shiny monitoring dashboard. Navigate to Networking → Routes in the lemonade-stand namespace and open the route URL for the shiny-dashboard service.