• Home
  • >
  • DevOps
  • >
  • Progressive Delivery on OpenShift – InApps 2022

Progressive Delivery on OpenShift – InApps is an article under the topic Devops Many of you are most interested in today !! Today, let’s InApps.net learn Progressive Delivery on OpenShift – InApps in today’s post !

Read more about Progressive Delivery on OpenShift – InApps at Wikipedia

You can find content about Progressive Delivery on OpenShift – InApps from the Wikipedia website

Hai Huang

Hai is a research scientist at IBM T. J. Watson Research Center. He is a contributing member of Kubernetes, Istio, Iter8 and TPM.

We are accustomed to having high expectations of our apps. We want a constant stream of new features and bug fixes, and yet, we don’t want these updates to affect our user experience adversely. As a result, these expectations put a tremendous amount of pressure on developers.

This is where Iter8 comes in; it helps developers progressively roll out new versions of their app, gated by a combination of performance, functionality and even custom business metrics. If a new version fails to meet all the criteria, it is automatically rolled back without users ever having to see it.

Siamak Sadeghianfar

Siamak is a technical product manager at Red Hat focused on CI/CD technologies and developer tools on Kubernetes and OpenShift.

The term “progressive delivery is used to describe more advanced app deployment patterns — canary, blue/green, dark launch, A/B — that are designed to achieve goals such as minimizing downtime, reducing risks, and/or maximizing certain business metrics. Iter8 supports these advanced deployment patterns and can run on both vanilla Kubernetes and its enterprise version, OpenShift.

In this article, we will describe how Iter8 can be integrated into an existing DevOps pipeline running on OpenShift. If you already have an app deployed and managed by a DevOps pipeline, enabling Iter8 takes only a few minutes, and disabling it is also easy.

To cater to developers who are new to GitOps and/or OpenShift, in the first part of this article, we will walk through a scenario to set up a demo app that runs on OpenShift. We will also adhere to the GitOps practice, where manifests are maintained in a repo and changes are synced to the cluster continuously. Once this demo app is fully set up, the second part of the article describes how to integrate Iter8 into the pipeline we just deployed to enable progressive delivery. If you are already familiar with Openshift/DevOps, you can skip straight to the second part.

Part 1: GitOps on OpenShift

Set Up an OpenShift Cluster

John Duimovich

John is an experienced software engineer at Red Hat.

If you don’t already have an OpenShift cluster, the easiest way to kick the tires is by running a cluster locally on your laptop via CodeReady Container. If you’re familiar with Minikube used for provisioning a local Kubernetes cluster, this is similar: an all-in-one single-node OpenShift cluster running in a VM.

To install and run CodeReady Container, follow the instructions here. After the cluster is up and running, you should be able to login to the cluster as kubeadmin, e.g.:

Note that there should already be clear instructions on how to obtain the kubeadmin password on the command line, but, alternatively, you can also obtain the password with:

Fork Iter8 Repo (To Install the Demo App)

Go to github.com/iter8-tools/iter8 and fork the repo, then set the following env var:

Then run the following commands to update a few references so they point to your own fork.

Install ArgoCD / OpenShift-GitOps

We use ArgoCD for GitOps so that manifest changes in a Github repo can be immediately reflected in a running cluster. To install it, follow the instructions here. It should be as simple as copying and pasting the following commands:

As an alternative, you can install OpenShift GitOps, which installs ArgoCD under the cover, directly from the admin console. This makes installing ArgoCD even easier, and you can follow the instructions here.

Deploy the Demo App

We use a bookstore app to demonstrate how its components can be progressively rolled out in a safe manner. It can be started with the following commands:

ArgoCD should detect this action shortly after and deploy the app to our cluster. Afterward, you can open another terminal to start the port forwarding:

Now, you can open a web browser and try out the app at http://localhost:9080/productpage?u=normal. You should see something similar to:

At this time, we have a working app that adheres to the GitOps practice. Updates to the app are done via changing the app manifests in the repo, then they will be synced to the cluster by ArgoCD.

Part 2: Enabling Iter8 for Progressive Delivery

Create a Github Token for Iter8

If you’d like Iter8 to automatically promote new versions of your app when they pass certain success criteria, you’d need to provide it with a Github token for creating pull requests (PRs). The token can be generated by going to github.com > Settings > Developer settings > Personal access token > Generate new token. This token can be added to the cluster by:

Install Iter8

Now let’s install Iter8. You will need to install Kustomize by following the instructions here. Run the following commands to install Iter8:

Upgrade the Demo App

Everything is now in place for us to upgrade the demo app and see how Iter8 can help developers test a new version before promoting it to production. To make it easier to follow along, we created a Github Action. You can go to github.com/YOUR_ORG/iter8/actions, and click on “Simulate CI pipeline on OpenShift” and then “Run workflow.”

Under the cover, this will create an Iter8 Experiment custom resource and new demo app Deployment. If you run oc get experiments and oc get deployments, you will see these resources getting deployed by ArgoCD in the cluster. As Iter8 by default will use a synthetic workload to exercise new versions, it will take a bit of additional time for it to collect enough data to make a decision about whether the new version is good, and you can run the following command to monitor Iter8 experiment’s progress:

Promote the New Version

Once the experiment is declared successful, you can go to github.com/YOUR_ORG/iter8/pulls, and there should be a new PR created automatically by Iter8 to promote the new version, i.e.:

Click on “Merge pull request” and wait a bit for ArgoCD to pick up this change, and now you can use a web browser to access the app again. This time, you should see something similar to:

The subtle change in the new version is that the words “William Shakespeare’s” are highlighted in a different color than our initial version.

Part 3: What’s Next

If you would like to know more about how Iter8 can help you manage your application updates, you can access the most up-to-date version of Iter8 and its documentation at https://iter8.tools. Code and other resources are available at https://github.com/iter8-tools. We can always be reached on Slack and also have a bi-weekly community meeting. See this link for more information. Feel free to join us and ask questions!

Featured image via Pixabay.

Source: InApps.net

List of Keywords users find our article on Google:

openshift
openshift security
openshift documentation
openshift getting started
istio github
openshift app
openshift application
openshift vm
openshift service
what is openshift
progressive delivery
openshift version
open shift
openshift deployment
argocd openshift
amazon openshift
progressive delivery software
managed openshift
openshift com
progressive delivery kubernetes
openshift components
openshift online
alternative to openshift
openshift consulting
red hat openshift
set of progressive rolls with covers firm
set of progressive rolls without covers firm
red hat codeready
progressive recruitment
openshift console
red hat openshift cluster manager
openshift monitoring
red hat openshift installation
openshift reviews
codeready
github metrics
openshift dedicated
ibm openshift
app yaml
github repo metrics
openshift managed service
openshift free alternative
openshift development company
openshift enterprise
argo workflow
openshift is free
openshift on aws
tpm wikipedia
saas application development orange county
openshift istio
open shift istio
github jq
saas app development orange county
redhat openshift icon
redhat openshift cluster manager
githubusercontent icons
openshift dedicated pricing
openshift errors
openshift cluster
ibm github
openshift developer
progressive customer service representative
progressive travel recruitment
openshift review
openshift ibm
openshift learn
openshi
openshift free trial
openshift community edition
install openshift
learn openshift
openshift 3
openshift free version
openshift image stream
progressive customer service jobs
saas developer orange county
deploy openshift
openshift technology
argo workflow ui
progressive labs
openshift and aws
openshift origin
ibm watson api
progressive sight
iter8
minikube github
argo wikipedia
github ibm watson
argo workflow github
red hat openshift errors
bi nguyen wikipedia
openshift github
argoproj
progressiverecruitment
jq github
openshift jobs
progressive recruitment erfahrungen
red hat openshift metrics
githubusercontent.com
istio openshift
argocd github
ibm watson email templates
great expectations github
aws cloudformation ref
raw github user content icons
github cluster
open shift console
openshift status
argo json
openshift design
install red hat openshift
openshift red hat documentation
openshift vulnerabilities
create openshift cluster
red hat openshift cluster
gitops openshift
openshift gitops
red hat update command
redhat openshift cluster
argocd logo
openshift node
openshift wiki
progressive recruitment jobs
try openshift
developer openshift
github great expectations
monitoring for openshift
openshidt
openshift add node
openshift cluster manager
openshift icon
how to openshift
progressive delivery platform
components of openshift
open shift cluster
openshift application deployment
openshift application monitoring
openshift versions
github yaml
openshift core
openshift performance
openshift similar products
openshift cluster installation
openshift container platform installation
how to install openshift
open shoft
openshift api
openshift ci
openshift workloads
how to start openshift
openshift apps
openshift create cluster
redhat openshift installation
how to use openshift
node red whatsapp bot
opemshift
openshift database
openshiift
opne shift
red hat codeready containers
what is cluster in openshift
fb tpm
how to setup openshift
openshift cluster admin
productivity tools orange county
what is openshift pod
openshift apply
openshift installation step by step
openshift installera
openshift what is
openshiuft
istio versions
open shift とは
opensift
aws openshift pricing
oepnshift
learning openshift
openshif
openshift secrets
openshuft
what is the use of openshift
oc create service
oc template
red hat openshift alternatives
setup openshift cluster
argo cd alternatives
getting started openshift
github ibm
openshift yaml template
tpm recruitment
deploy openshift on aws
openshift as a service
openshift image streams
yaml github
ci cd openshift
getting started with openshift
manage openshift
openshift laptop
red hat openshift 3
set of covers for progressive rolls
github actions argocd
amazon default delivery instructions
ibm cloud openshift
ibm watson consultant
openshift cost
openshift help
red hat advanced cluster security
service openshift
ibm watson demo
openshift applications
openshift management
openshift uses
openshift free
openshift platform
what is openshift used for
argocd
devops with openshift
ibm openshift container platform
open shift enterprise
openshift to kubernetes migration
argo cd aws
github tag
progressive part time jobs
why use openshift
cloudformation ref
openshift for developers
openshift kubernetes version
progressive industries
argocd getting started
integrate argo cd
what is an open shift
yaml wiki
redhat openshift
is openshift free to use
openshift online free
websphere commerce build and deployment tool
argocd add account
github token
kubernetes namespaces provisioning
openshift container
Rate this post
Content writer

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...