As a consistent user and developer on the OpenShift platform over the years, I've tried helping users by sharing my application development content as we've journeyed from
cartridges all the way to
container base development.
With container based
development we've also transitioned from using templates to define how to deploy our tooling and
applications, to operators. There are many examples of how to work with the templated versions of our
applications around decision management and process automation found on Red Hat Demo Central and JBoss Demo Central.
Over the releases of
OpenShift 4.x we've seen that operators have become the preferred method of packaging, deploying
and managing a Kubernetes-native, thus OpenShift, application. With this in mind it felt like time to explore and
update existing demos and example projects to employ the provided operators for installation and
runtime.
In this series of articles I'll be providing a walk through what it is to use the latest tooling
provided by the business automation operator on the OpenShift Container Platform. We'll install the
operator by hand, start instances of the decision management and process automation tooling using the OpenShift
console, explore command line automation of installing, starting, and configuring the same tooling from the command
line, and share a fully automated process automation tooling installation with pre-installed example project.
In
the previous article we've installed the business automation operator in the OpenShift web console, installed the provided decision management and process automation tooling. In our final article of this series, let's install the business
automation operator and its provided developer tooling using the command line.
Command line operator installation
The starting point in this article is that you have installed OpenShift using CodeReady Containers as shown in
part one, which makes used of my project that validates your environment ensuring you have the
proper OpenShift client tooling known as
oc client.
This client tooling is what we need to interact with the OpenShift platform APIs and is a mainstay for both
developers and operations. In this article we'll be using this client tooling as a developer as much as possible, but
some of our actions require administrator access to set up the operator installation.
If you chose for some reason to install the CodeReady Containers yourself then you might not have the initial set
up described here. In that case you will have seen a message in your startup logs (after running crc
start) that points you to the provided client, shown here for a unix based environment from your favorite
console:
$ crc oc-env
export PATH="/Users/eschabel/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
# eval $(crc oc-env)
If you test the version of this client executable, you'll find that it matches the version of the OpenShift
platform:
$ ~/.crc/bin/oc/oc version --client
Client Version: 4.6.6
The first thing we need to do is ensure you are logged in to your OpenShift platform, which is provided in the
start up logs (all one line):
$ oc login -u developer -p developer https://api.crc.testing:6443
Let's set up a new project called appdev-in-cloud:
$ oc new-project appdev-in-cloud
Now using project "appdev-in-cloud" on server "https://api.crc.testing:6443".
There is more output lines following the project creation, but they are not that important to us right now. If you
want to verify that this project exists you can list your users projects with:
This will list the newly created appdev-in-cloud project as active. Next up, let's take a closer
look at preparing to install the business automation operator from our client tooling. This requires admin user
access for the next two actions, so let's switch users:
$ oc login -u kubeadmin -p HERE https://api.crc.testing:6443
Note your kubeadmin user password was generated during the CodeReady Containers installation and should
be used instead of my placeholder above. The login will report access to many more projects, but is currently using
your appdev-in-cloud project.
There are two steps needed before you can install the business automation operator in the project appdev-in-cloud.
First you need to define the operator group, which is done by creating a file called create-operatorgroup.yaml
that contains the following lines:
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
annotations:
olm.providedAPIs: KieApp.v2.app.kiegroup.org
name: businessautomation-operator
namespace: appdev-in-cloud
spec:
targetNamespaces:
- appdev-in-cloud
Once you have this file available, you can apply it to your project with the following:
$ oc apply -f create-operatorgroup.yaml
operatorgroup.operators.coreos.com/businessautomation-operator created
The output shows that the group was successfully created. Now we need to set the subscription for this operator, done by creating a file called sub-operator.yaml that contains the following lines:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: businessautomation-operator
namespace: appdev-in-cloud
spec:
channel: stable
installPlanApproval: Automatic
name: businessautomation-operator
source: redhat-operators
sourceNamespace: openshift-marketplace
Once you have this file available, you can apply it the same as the previous one:
$ oc apply -f sub-operator.yaml
subscription.operators.coreos.com/businessautomation-operator created
The output again shows the subscription was successfully created. Now you can see that the business automation
operator is installed (if you like, using the OpenShift web console as you did in part one of this series) with the following:
This lists your operator as ready to install. For the final part you can install either one of the provided tools,
either Red Hat Decision Manager or Red Hat Process Automation Manager, by using their respective definitions.
First log back in as the developer user:
$ oc login -u developer -p developer https://api.crc.testing:6443
Then create a file called kieapp-rhdm-authoring.yaml and put the following in it:
apiVersion: app.kiegroup.org/v2
kind: KieApp
metadata:
name: rhdm
labels:
app: crc-rhdm-install
namespace: appdev-in-cloud
spec:
commonConfig:
adminPassword: redhatdm1!
adminUser: erics
applicationName: rhdm
environment: rhdm-authoring
This file creates the same instance of the tooling you experienced with
part two of this series. To do this from the client tooling, just run the following command:
$ oc apply -f kieapp-rhdm-authoring.yaml
kieapp.app.kiegroup.org/rhdm created
This starts the installation of an instance of the decision management tooling based on the operator you added to
the project appdev-in-cloud. View the installation progress with the following:
The output lists the operator and other pods being set up, initially the status will be ContainerCreating.
This takes some time, but when they are fully operational the status should change to Completed. The same can
be done for process automation tooling, just like you did in
part three of this series by creating a file called kieapp-rhpam-authoring.yaml and
putting the following in it:
apiVersion: app.kiegroup.org/v2
kind: KieApp
metadata:
name: rhpam
labels:
app: crc-rhpam-install
namespace: appdev-in-cloud
spec:
commonConfig:
adminPassword: redhatpam1!
adminUser: erics
applicationName: rhpam
environment: rhpam-authoring
Start the instance creation from the client tooling by running the following command:
$ oc apply -f kieapp-rhpam-authoring.yaml
kieapp.app.kiegroup.org/rhpam created
This starts the installation of an instance of the decision management tooling based on the operator you added to the
project appdev-in-cloud. View the installation progress with the following:
Again, you'll find pods starting to install process automation tooling in the status ContainerCreating,
after some time they will change to Completed. If you are having issues with memory running out, you can
remove the project after installing the decision management tooling with the following command:
$ oc delete project appdev-in-cloud
Once this completes it's removal of the project, you can recreate
appdev-in-cloud and install the process automation tooling using the above file.
This completes your tour of installing the business automation operator using the client tooling,
then leveraging the operator to install both of the provided developer tooling options.
If you have any comments for feedback, please reach out. I hope you enjoyed this series and tour.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.