Deploying to RedHat OpenShift Using Helm

Introduction

There are considerations that need to be made when deploying to OpenShift, a platform that simplifies and graphically enables users to manage their Kubernetes clusters. There are some slight differences between OpenShift and Kubernetes terminology, but they are not major. Helm for OpenShift will need to be utilized to perform the installation of ModelOp Center, the oc command is what is used to control releases.

Please see here for Helm on RedHat OpenShift: Using Helm with Red Hat OpenShift

Helm installation for OpenShift 4.7, as an example, please pick the version of OpenShift that matches your current release: https://docs.openshift.com/container-platform/4.7/cli_reference/helm_cli/getting-started-with-helm-on-openshift-container-platform.html

Considerations

Some things to keep in mind when deploying to OpenShift:

  • oc command line utility, instead of kubectl.

  • “Projects” are what could be considered Namespaces, though ensuring that you are using the proper project while making oc command line calls is essential.

  • Some pods/containers might not work as intended depending on security precautions that were put in place in OpenShift, or if the correct containers could not be fetched from open sources.

  • Resource requests might be enforced by OpenShift requiring strict declarations for service templates such as this in the model-manager.yaml in the templates of the Helm Charts:

  • An egress may be required to whitelist ModelOp Center with external services like ServiceNow, Jira, or Jenkins, this can be defined in OpenShift with the help of this guide:

https://docs.openshift.com/container-platform/4.6/networking/openshift_sdn/configuring-egress-firewall.html

  • You may need to declare PVCs via the OpenShift UI manually, as opposed through the values.yaml or overrides yaml file you have defined..