vania-janet/multiturn-rag-retrieval-data huggingface dataset:
[Deploy microservices with Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-openshift-microservices)Deploy microservices with Red Hat OpenShift on IBM Cloud

This tutorial demonstrates how to deploy applications to Red Hat OpenShift on IBM Cloud. Red Hat OpenShift on IBM Cloud provides a great experience for developers to deploy software applications and for System Administrators to scale and observe the applications in production.

Red Hat OpenShift on IBM Cloud Log Analysis

+3

Monitoring,Kubernetes service,Cloudant



* 3 hours
* 2023-05-18



[Best practices for organizing users, teams, applications](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-users-teams-applications)Best practices for organizing users, teams, applications

This tutorial gives an overview of the concepts available in IBM Cloud for identity and access management and how they can be implemented to support the multiple development stages of an application.

Red Hat OpenShift on IBM Cloud Log Analysis

+3

Monitoring,Kubernetes service,Cloudant



* 1 hour
* 2023-06-14



[Enforcing private endpoints to configure IBM Cloud Metrics Routing resources](https://cloud.ibm.com/docs/metrics-router?topic=metrics-router-endpoints-enforce-private)Enforcing private endpoints to configure IBM Cloud Metrics Routing resources

Use this tutorial to learn how to enforce the use of private endpoints to configure IBM Cloud Metrics Routing resources in your account.

Metrics Routing



* 1 hour
* 2023-06-06



[Sending SMS notifications to IBM Cloud Event Notifications](https://cloud.ibm.com/docs/monitoring?topic=monitoring-tutorial-en-sms)Sending SMS notifications to IBM Cloud Event Notifications

In this tutorial, you learn how to set up IBM Cloud® Monitoring to send alert notifications to IBM Cloud Event Notifications.
* [Planning app deployments](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deploy) for more details.
* [Deploying applications on Red Hat OpenShift on IBM Cloud Service Mesh](https://docs.openshift.com/container-platform/4.5/service_mesh/v1x/prepare-to-deploy-applications-ossm.html)









 Related resources 



* [Security for Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift?topic=openshift-security)
* [Scalable web application on Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-scalable-webapp-openshift)
* [Deploy microservices with Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-openshift-microservices)







 Related controls in IBM Cloud Framework for Financial Services 

The following [IBM Cloud Framework for Financial Services controls](https://cloud.ibm.com/docs/framework-financial-services?topic=framework-financial-services-aboutframework-control-requirements) are most related to this guidance. However, in addition to following the guidance here, do your own due diligence to ensure you meet the requirements.



Table 1. Related controls in IBM Cloud Framework for Financial Services

 Family Control 

 Identification and Authentication (IA) [IA-2 (1) Identification and Authentication (Organizational Users) | Network Access to Privileged Accounts](https://cloud.ibm.com/docs/framework-financial-services-controls?topic=framework-financial-services-controls-ia-2.1)
Host system requirements 

Review the following requirements that relate to the computing and system setup of host machines for IBM Cloud Satellite®.

You can add hosts from other cloud providers to your location. For more information, see [Cloud infrastructure providers](https://cloud.ibm.com/docs/satellite?topic=satellite-infrastructure-plan).



* If you plan on deploying Red Hat OpenShift clusters, make sure the operating system that you want to use for your hosts is supported for your location type and cluster version. For more information, see [Red Hat OpenShift version information](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions).
* Make sure that you use [official Red Hat certified hardware](https://catalog.redhat.com/hardware).
* If you cannot meet these host requirements, [contact IBM Support](https://cloud.ibm.com/docs/get-support?topic=get-support-using-avatar) and include the following information: the host system configuration that you want, why you want the system configuration, and how many hosts you intend to create.



You can verify your host setup with the satellite-host-check script. For more information, see [Checking your host setup](https://cloud.ibm.com/docs/satellite?topic=satellite-host-network-check).



 Computing characteristics 



* Hosts must run the latest Red Hat Enterprise Linux 7 or 8, or the latest Red Hat CoreOS on x86 architecture with the kernel that is distributed with those versions. Other operating systems, such as Windows; other mainframe systems, such as IBM Z or IBM Power; and other kernel versions are not supported.



* For RHEL 7, the latest is 7.9.
* For the latest RHEL 8 version information, see [Red Hat Enterprise Linux Release Dates](https://access.redhat.com/articles/3078RHEL8).
* For the latest Red Hat CoreOS version information, see [Red Hat CoreOS mirrors](https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/).
Developing apps to run on Red Hat OpenShift 

Develop a configuration to deploy your app workload to Red Hat® OpenShift® on IBM Cloud®. Because Kubernetes is an extensible container orchestration platform that does not mandate a specific language or app, you can run various workloads such as stateless, stateful, and data-processing apps that are written in the language of your choice.



 Specifying your app requirements in your YAML file 

In Kubernetes, you describe your app in a YAML file that declares the configuration of the Kubernetes object. The Kubernetes API server then processes the YAML file and stores the configuration and required state of the object in the etcd data store. The Kubernetes scheduler schedules your workloads onto the worker nodes within your cluster, taking into account the specification in your YAML file, any cluster policies that the admin sets, and available cluster capacity.

Review a copy of the [complete YAML file](https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/deploy-apps-clusters/deploy_wasliberty.yaml). Then, review the following sections to understand how you can enhance your app deployment.

Want more information about how Kubernetes objects work together for your deployment? Check out [Understanding Kubernetes objects for apps](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deploykube-objects).



 Basic deployment metadata 

Use the appropriate API version for the [kind of Kubernetes object](https://cloud.ibm.com/docs/openshift?topic=openshift-plan_deployobject) that you deploy. The API version determines the supported features for the Kubernetes object that are available to you. The name that you give in the metadata is the object's name, not its label. You use the name when interacting with your object, such as oc get deployment <name>.

apiVersion: apps/v1
kind: Deployment
metadata:
name: wasliberty





 Replica set
Then, you access built-in Red Hat OpenShift components, deploy an app in a Red Hat OpenShift project, and expose the app on with a VPC load balancer so that external users can access the service.





 Audience 

This tutorial is for administrators who are creating a cluster in Red Hat OpenShift on IBM Cloud in VPC compute for the first time.





 Prerequisites 

Complete the following prerequisite steps to set up permissions and the command-line environment.

Permissions: If you are the account owner, you already have the required permissions to create a cluster and can continue to the next step. Otherwise, ask the account owner to [set up the API key and assign you the minimum user permissions in IBM Cloud IAM](https://cloud.ibm.com/docs/openshift?topic=openshift-access_referencecluster_create_permissions).

Command-line tools: For quick access to your resources from the command line, try the [IBM Cloud Shell](https://cloud.ibm.com/shell). Otherwise, set up your local command-line environment by completing the following steps.



1. [Install the IBM Cloud CLI (ibmcloud), Kubernetes Service plug-in (ibmcloud oc), and IBM Cloud Container Registry plug-in (ibmcloud cr)](https://cloud.ibm.com/docs/openshift?topic=openshift-cli-install).
2. [Install the Red Hat OpenShift (oc) and Kubernetes (kubectl) CLIs](https://cloud.ibm.com/docs/openshift?topic=openshift-cli-install).
3. To work with VPC, install the infrastructure-service plug-in. The prefix for running commands is ibmcloud is.

ibmcloud plugin install infrastructure-service
4. Update your Kubernetes Service plug-in to the latest version.

ibmcloud plugin update kubernetes-service







 Step 1: Create a cluster in a VPC
Setting up the IBM Cloud Schematics API 

Before you begin using the IBM Cloud® Schematics API to deploy Red Hat® OpenShift® for HPC, review and complete the following prerequisites:



1.  Make sure that you have access to an IBM Cloud account and that you generated an IBM Cloud API key to authenticate to IBM Cloud.
2.  If the GitHub repository that hosts the Terraform code is not public, generate a [personal GitHub access token](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) for authentication. If you are using the [public IBM Cloud GitHub repository](https://github.com/IBM-Cloud/hpc-cluster-openshift), you do not need to complete this task.
3.  Install the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli) and login to the IBM Cloud account through the IBM Cloud CLI.
4.  Install Python 3 or a newer version.
5.  Follow the [IBM Cloud Schematics SDK for Python instructions](https://cloud.ibm.com/apidocs/schematics?code=pythonintroduction) to set up and install the IBM Cloud Schematics API by using pip.
6.  Install all of the respective Python application dependencies that your Python code will be using, such as logging, os, yaml, and json, which are required when you use pip3 to run the application.





  Next steps 

After you've reviewed and completed the prerequisites for setting up the API, you are ready to [Create a workspace](https://cloud.ibm.com/docs/hpc-openshift?topic=hpc-openshift-creating-workspace&interface=api).
* [Using the internal registry in Red Hat OpenShift](https://cloud.ibm.com/docs/openshift?topic=openshift-registryopenshift_internal_registry).



Entitled software
: If you have licensed products from your [MyIBM.com](https://myibm.ibm.com) container software library, you can [set up your cluster to pull images from the entitled registry](https://cloud.ibm.com/docs/openshift?topic=openshift-registrysecret_entitled_software).

script update command
: Added [steps for using the script update command](https://cloud.ibm.com/docs/openshift?topic=openshift-kubernetes-service-cliscript_update) to prepare your automation scripts for the release of version 1.0 of the Red Hat OpenShift on IBM Cloud plug-in.





 12 September 2019 

Ingress ALB change log
: Updated the ALB [nginx-ingress image to build 552](https://cloud.ibm.com/docs/containers?topic=containers-cluster-add-ons-changelogkube_ingress_changelog).





 6 September 2019 

New! Chennai, India che01 single zone location for Red Hat OpenShift clusters
: For more locations, see [Single and multizone locations in Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift?topic=openshift-regions-and-zones).





 5 September 2019 

Ingress ALB change log
: Updated the ALB [ingress-auth image to build 340](https://cloud.ibm.com/docs/containers?topic=containers-cluster-add-ons-changelogkube_ingress_changelog).





 4 September 2019 

CLI change log
On the web console, from the dropdown menu in the upper right of the page, click Copy Login Command and then click the Display Token link.
3. Copy the text under Log in with this token.
4. Once logged-in using the oc login command, run the below command to see all the namespaces in your cluster

oc get ns









 Step 2: Create a new Red Hat OpenShift on IBM Cloud application 

In this section, you will create an Red Hat OpenShift on IBM Cloud project and then deploy an application to Red Hat OpenShift on IBM Cloud from a [GitHub repository](https://github.com/IBM-Cloud/openshift-node-app/). The code sample is a simple [NodeJS](https://nodejs.dev) sample application with a landing page and two endpoints to get started. You can always extend the sample application based on your requirement.



 Create an Red Hat OpenShift on IBM Cloud project 

A Kubernetes namespace provides a mechanism to scope resources in a cluster. In Red Hat OpenShift on IBM Cloud, a project is a Kubernetes namespace with additional annotations.



1. Define an environment variable named MYPROJECT and set the application name by replacing <your-initials> with your own initials :

export MYPROJECT=<your-initials>-openshiftapp
2. Create a new Red Hat OpenShift on IBM Cloud project

oc new-project $MYPROJECT







 Deploy an application to Red Hat OpenShift on IBM Cloud 

With the oc new-app command you can create applications from source code in a local or remote Git repository.



1. Create an application using the docker build strategy to build a container image from a Dockerfile in the repo. You are setting the application name to the project name for simplicity.

oc new-app https://github.com/IBM-Cloud/openshift-node-app --name=$MYPROJECT --strategy=docker --as-deployment-config
For more information and the steps to set up your account, see [Prepare to create clusters at the account level](https://cloud.ibm.com/docs/openshift?topic=openshift-clusterscluster_prepare).





 Provisioning your OpenShift cluster 

Use the following steps to create your Red Hat OpenShift on IBM Cloud cluster. The values used in this scenario are suggestions for a test environment. Select the optional values that will fit your needs.

The Information button provides field-specific information on how to use a field.



1. Log in to [IBM Cloud console](https://cloud.ibm.com/kubernetes/clusters?platformType=openshift) and click Create +.
2. Review the Red Hat OpenShift on IBM Cloud version details, Red Hat OpenShift on IBM Cloud 3.11.x (stable)
3. Check your OCP entitlement - Leave the value set to Purchase additional licenses for this worker pool
4. Select Classic for Infrastructure.
5. Select Single zone for Availability.
6. Select the Geography and the Worker zone based on your geographic location.
7. Private VLAN and Public VLAN default based on your zone selections. You can change these values if necessary.

Your clusters, VLAN, and jump host must be in the same worker zone, or data center.
8. Select 8 vCPUs, 32 GB RAM for Flavor and at least 3 Worker nodes per data center for the test environment.
9. Enter a Cluster name and optionally Tags.
10. In the Summary pane, review the order summary and then click Create.



For additional information on the fields, see [Creating a classic standard cluster in the console](https://cloud.ibm.com/docs/openshift?topic=openshift-clustersclusters_ui).





 Provisioning your jump host
* Your worker node operating system must be RHEL 8.
* 1 Virtual Private Cloud (VPC) with 3 subnets (1 per zone) with no public gateway attached.
* 1 Red Hat OpenShift on IBM Cloud cluster with at least 3 worker nodes spread evenly across 3 zones. The worker nodes must be at least 16x64.



3. An IBM Cloud Container Registry instance with at least one namespace in the same region as your cluster. If you don't have an instance of IBM Cloud Container Registry, see [Getting started with Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-getting-started) to create one.







 Step 1: Create an additional subnet in your VPC and attach a Public Gateway 

In addition to the 3 required subnets, create another subnet and attach a public gateway to it.

[From the Subnets for VPC console](https://cloud.ibm.com/vpc-ext/network/subnets), create an additional subnet in your VPC. Note that this subnet must be separate from the subnets your worker nodes are in and must have a public gateway attached.





 Step 2: Create a bastion host 

[From the Virtual Servers for VPC console](https://cloud.ibm.com/vpc-ext/provision/vs), create a virtual server in the subnet that you created in the previous step. This virtual server is used as a bastion host to connect to your private cluster. The operating system for your bastion host must be at least Ubuntu 20.04 or RHEL 8.





 Step 4: Install the CLI tools 



1. From the Red Hat OpenShift [downloads page](https://console.redhat.com/openshift/downloads), download the Red Hat OpenShift command-line interface (oc) and the Red Hat OpenShift Client (oc) mirror plug-in.
2. Copy the oc and the oc-mirror tar files to your bastion host.

scp /path/to/download root@BASTION-HOST-IP:/root
3. Log in to your bastion host.
Go the [Schematics, IBM Cloud's deployment manager](https://cloud.ibm.com/schematics/overview).
2. In the navigation menu, select Workspaces, and then select Create workspace.
3. In the Specify template section:



* Provide the Red Hat OpenShift repository URL that is provided by IBM Cloud in this [public GitHub repository](https://github.com/IBM-Cloud/hpc-cluster-openshift).
* Select the Terraform version 1.0.11, then click Next.



4. In the Workspace details section:



* Specify the name for your Schematics workspace.
* Define any tags that you want to associate with the resources that are provisioned through the offering. The tags can later be used to query the resources in the IBM Cloud console.
* Select a resource group.
* Select a location. The location determines where the workspace actions are run.
* Provide a description (optional) of the Schematics workspace.
* Click Next, and then click Create. The Schematics workspace is created with the name that you specified.



5. Go to Schematics Workspace Settings, and in the Variable section, click "burger icons" to update the following parameters:



* Update the api_key value with the API key value. Mark it as sensitive to hide the API key in the IBM Cloud console.
* Update the ssh_key_name with your IBM Cloud SSH key name, such as "openshift-ssh-key", that is created in a specific region in IBM Cloud. The SSH key should be configured in the same account that is being used against the API key.
* Update the region value where the cluster is deployed. The selected region should match the region where the SSH key is configured.
* Update the cluster_prefix value to the specific cluster prefix for your Red Hat OpenShift cluster.
* Update the worker_nodes_per_zone value according to your requirement.





Review the following table for more information about cluster deployment parameters:



Table 1. Cluster deployment parameters

 Parameter Description
Creating an IBM Cloud Satellite environment on AWS by using scripts 

This tutorial and set of scripts provide a mostly automated way to set up an IBM Cloud Satellite location and Red Hat OpenShift cluster on Amazon Web Services (AWS). This is not a production-ready solution, but it provides a useful tool for proof-of-concepts, learning, and experimenting.

IBM Cloud Satellite® is a managed distributed cloud solution that allows you to run parts of IBM Cloud® with managed services in your data center or other public clouds. To learn more about Satellite, see the [IBM Cloud Satellite product page](https://www.ibm.com/cloud/satellite).

The scripts expect a Unix-like environment and work on MacOS or Linux™. The scripts are likely to work on Windows™ Subsystem for Linux (WSL), but this scenario is not tested.

This solution is not an officially supported IBM product; any support is on an unofficial, best-effort basis only. For more information, see the [MIT license](https://github.com/ibm-garage/try-sat-aws/blob/master/LICENSE.txt). This solution is not fully evaluated from a security, robustness, or any other nonfunctional perspective. The cluster that is created is public. Therefore, do not put anything sensitive on this cluster or location. If you plan to keep the location or cluster long term, you are responsible for reviewing the security of the infrastructure. Be sure to destroy the location or cluster when you no longer need it to minimize the possibility of attacks. You are responsible for costs that you incur on IBM Cloud or AWS.



 Before you begin 



* To complete this tutorial, use a [Pay-As-You-Go or Subscription IBM Cloud account](https://cloud.ibm.com/docs/account?topic=account-upgrading-account) where you are the owner or have [full Administrator access](https://cloud.ibm.com/docs/account?topic=account-assign-access-resources).
curl -fsSL https://clis.cloud.ibm.com/install/linux | sh



For more information about installing the Mac OS X M1/ARM or Linux 64-bit ARM versions of the CLI, see the IBM Cloud CLI [release notes](https://github.com/IBM-Cloud/ibm-cloud-cli-release/releases/). These versions are provided as-is and are not fully supported.





 Step 2: Verify the installation 

To verify that the CLI was installed successfully, run the help command:

ibmcloud help

The output lists the usage instructions, the current version, and the supported commands.





 Step 3: Install CLI plug-ins and tools 

To manually install the CLI plug-ins and tools, see [Extending IBM Cloud CLI with plug-ins](https://cloud.ibm.com/docs/cli?topic=cli-plug-ins).

To install the container-service or ks plugin, run the following command.

ibmcloud plugin install ks





 Step 4: Install the Red Hat OpenShift CLI 

You can use the oc CLI to deploy and manage resources in your Red Hat OpenShift on IBM Cloud cluster.

To install the CLI, see the [Getting started with the OpenShift CLI](https://docs.openshift.com/container-platform/4.11/cli_reference/openshift_cli/getting-started-cli.html).



* For a list of commands that are available to cluster administrators, see the [OpenShift CLI administrator command reference](https://docs.openshift.com/container-platform/4.11/cli_reference/openshift_cli/administrator-cli-commands.html).
* For a list of commands that are available to cluster developers, see the [OpenShift CLI developer command reference](https://docs.openshift.com/container-platform/4.11/cli_reference/openshift_cli/developer-cli-commands.html).