Get your Chaos environment

10 MINUTE EXERCISE

As a Chaos Engineer, you will need an environment to deploy applications to evaluate.

In this section, you will explore OpenShift and deploy an application using Argo CD.

explore-discover

What is Red Hat OpenShift?

Red Hat OpenShift

Red Hat® OpenShift® enables enterprises to build highly agile, scalable architectures with enhanced cluster security that can be deployed at any location.

Red Hat® OpenShift® offers automated installation, upgrades, and lifecycle management throughout the container stack—the operating system, Kubernetes and cluster services, and applications—on any cloud.

Log in to the OpenShift Web Console

OpenShift ships with a web-based console that will allow users to perform various tasks via a browser.

Click on the 'OpenShift Console' button below

Enter your username and password (user%USER_ID%/%OPENSHIFT_PASSWORD%) and then log in. After you have authenticated to the web console, you will be presented with a list of projects that your user has permission to work with.

Select the 'Developer View' then your 'chaos-engineering%USER_ID%' to be taken to the project overview page which will list all of the routes, services, deployments, and pods that you have running as part of your project. There’s nothing there now, but that’s about to change.

OpenShift - Empty Project

What is OpenShift GitOps?

Argo CD

OpenShift GitOps is a service available on top of OpenShift.

OpenShift GitOps is an OpenShift add-on which provides Argo CD and other tooling to enable teams to implement GitOps workflows for cluster configuration and application delivery.

OpenShift GitOps is available as an operator in the OperatorHub and can be installed with a simple one-click experience. Once installed, users can deploy Argo CD instances using Kubernetes custom resources.

gitops-model

Argo CD features

  • Cluster and application configuration versioned in Git

  • Automatically syncs configuration from Git to clusters

  • Drift detection, visualization and correction

  • Granular control over sync order for complex rollouts

  • Rollback and rollforward to any Git commit

  • Manifest templating support (Helm, Kustomize, etc)

  • Visual insight into sync status and history

argo features- Button

Log in to OpenShift GitOps (Argo CD)

Click on the 'OpenShift GitOps' button below

Then log in as user%USER_ID%/%OPENSHIFT_PASSWORD%. Once completed, you will be redirected to the following page which lists the Argo CD Applications.

Argo CD - Home Page

An Argo CD Application represents a deployed application instance in a given environment. It is defined by two key pieces of information:

  • source reference to the desired state in Git (repository, revision, path, environment): %WORKSHOP_GIT_REPO%/tree/%WORKSHOP_GIT_REF%/gitops

  • destination reference to the target cluster and namespace: 'chaos-engineering%USER_ID%' namespace from the current OpenShift cluster (in-cluster)

The Argo CD Application status is initially in yellow, means OutOfSync state, since the application has yet to be deployed into the 'chaos-engineering%USER_ID%' namespace, and no Kubernetes resources have been created.

Sync/Deploy the application

To deploy the application, click on your 'chaos-engineering%USER_ID%' application box then, click on 'Sync > Synchronize'.

Argo CD - Sync Application

This task retrieves the manifests from the Git Repository and performs kubectl apply command of the manifests.

After a couple of seconds, you should see everything in green. Your application is now running. You can now view its resource components,logs, events, and assessed health status.

Argo CD - Synced Application

In the OpenShift Web Console, from the Developer view, select the chaos-engineering%USER_ID% to be taken to the project overview page.

OpenShift - Coolstore Project Deployed by Argo CD

You can see that all resources of your application have been created by Argo CD.

Now you are ready to get started with the labs!