z/OS Cloud Broker architectural overview

IBM® z/OS® Cloud Broker provides an operator, which is built from the Red Hat and Kubernetes Operator Framework. Operators are pieces of software that ease the operational complexity of running and maintaining applications and services in a Kubernetes cluster. For z/OS® Cloud Broker, operators enable the provisioning and stateful management of z/OS® resources.

The following concepts are key to understanding operators:

Custom resource definitions (CRDs)

A custom resource definition is a Kubernetes mechanism that defines the schema and validation criteria for custom resources. A custom resource definition can also define the dependencies of a custom resource.

An operator can use custom resource definitions to introduce custom resources and its dependencies to a cluster.

Custom resources (CRs)

A custom resource is created from a custom resource definition. After a custom resource is created, users can add the resource into their projects.

Controllers

A controller runs on the Kubernetes master nodes and compares the current state of a Kubernetes-native resource with the desired state. If necessary, the controller reconciles the current state of a Kubernetes resource with the desired state; that is, the controller automatically takes action to maintain the desired state.

An operator is essentially a custom controller that compares the current state of custom resources in a cluster against the desired state. The operator watches the custom resources and is notified about their presence or modification. Based on the notification that it receives, the operator decides what actions to take automatically to attain and maintain the desired state of the custom resources.

For more information about operators, see What are Operators? in the Red Hat OpenShift documentation.

The z/OS Cloud Broker operator

The z/OS Cloud Broker operator provisions and manages the resources, including CRDs and CRs, that are required to run instances of z/OS Cloud Broker. The z/OS Cloud Broker operator provisions and manages the resources that are required to access and provision z/OS resources in OpenShift® Container Platform.

The z/OS Cloud Broker operator provides and uses the following custom resource definitions (CRDs):

The z/OS Cloud Broker CRD (ZosCloudBroker)

Defines and validates the ZosCloudBroker custom resource (CR) that you create in OpenShift Container Platform. For z/OS Cloud Broker 1.3.x, a ZosCloudBroker CR is an instance of z/OS Cloud Broker.

The ZosCloudBroker CRD also automatically installs the resources that are required for an instance of z/OS Cloud Broker to run.

After you create a ZosCloudBroker CR, that is, after you create an instance of z/OS Cloud Broker, you use the Instance Dashboard to configure the z/OSMF endpoint for the instance and to enter your z/OSMF credentials. This enables the z/OS Cloud Broker instance to connect to and access the z/OS resource and service templates that have already been defined by using the IBM Cloud™ Provisioning and Management (CP&M) plugin in z/OSMF.

The z/OSMF CRD (ZosmfCatalog)

Defines and validates the ZosmfCatalog CR, which is automatically created after you configure the z/OSMF endpoint and enter your z/OSMF credentials.

The ZosmfCatalog CR queries the specified z/OSMF CP&M domain for the z/OS resource and service templates that are published. For every published z/OSMF template, a ConfigMap bundle is automatically created in the same OpenShift Container Platform namespace.

A ConfigMap bundle contains the configuration data for the z/OS resource described in the published template. The bundle also enables an operator to be automatically created for each z/OS resource. For z/OS Cloud Broker 1.3.x, the operator that is created for each z/OS resource published in z/OSMF CP&M is referred to as a 'sub-operator'. This is because sub-operators are children of, and are dynamically installed and managed by, the z/OS Cloud Broker operator. You can then install the sub-operators so that they are available in the OpenShift Container Platform catalog to application developers for self-service consumption.