vania-janet/multiturn-rag-retrieval-data huggingface dataset:
There may be other, yet unknown, uses for the data that require it to be accessed or stored in different ways.

So your trucks are flying around the country and data is pouring out of them. How do you make sure everyone gets the data they need? Enter [IBM Event Streams](https://www.ibm.com/cloud/event-streams), an event-streaming platform that helps you build smart apps that can react to events as they happen. It is a fully managed service built on open-source [Apache Kafka](https://www.ibm.com/cloud/learn/apache-kafka).

Event Streams can take in the data from the trucks (data producers) and then serve it to the various applications that will use it (data consumers).

Finally, you will need to run your Truck Tracker service somewhere, and for that we will use [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift), a fast and secure way to containerize and deploy enterprise workloads in Kubernetes clusters. We will provision an Red Hat OpenShift on IBM Cloud cluster, deploy our applications to it and make them available to the database services that need access to it. We will also make a public-facing application to view the positions of trucks on a map. Read more about [Red Hat OpenShift on IBM Cloud.](https://cloud.redhat.com/learn/what-is-openshift)





 What you will build 

This is the high-level system that we are going to build:

Zoom

![The Truck Tracker Solution](https://cloud.ibm.com/docs-content/v1/content/3505da55c475bf1edbe3eb3496324ba13941b783/databases-for-postgresql/includes/cloud-databases/includes/cloud-databases/images/TruckTrackerOS.png)

Figure 1. The Truck Tracker Solution
There may be other, yet unknown, uses for the data that require it to be accessed or stored in different ways.

So your trucks are flying around the country and data is pouring out of them. How do you make sure everyone gets the data they need? Enter [IBM Event Streams](https://www.ibm.com/cloud/event-streams), an event-streaming platform that helps you build smart apps that can react to events as they happen. It is a fully managed service built on open-source [Apache Kafka](https://www.ibm.com/cloud/learn/apache-kafka).

Event Streams can take in the data from the trucks (data producers) and then serve it to the various applications that will use it (data consumers).

Finally, you will need to run your Truck Tracker service somewhere, and for that we will use [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift), a fast and secure way to containerize and deploy enterprise workloads in Kubernetes clusters. We will provision an Red Hat OpenShift on IBM Cloud cluster, deploy our applications to it and make them available to the database services that need access to it. We will also make a public-facing application to view the positions of trucks on a map. Read more about [Red Hat OpenShift on IBM Cloud.](https://cloud.redhat.com/learn/what-is-openshift)





 What you will build 

This is the high-level system that we are going to build:

Zoom

![The Truck Tracker Solution](https://cloud.ibm.com/docs-content/v1/content/fcee192e52fce225776143bc6ccc3a023d1d193a/databases-for-etcd/includes/cloud-databases/includes/cloud-databases/images/TruckTrackerOS.png)

Figure 1. The Truck Tracker Solution
There may be other, yet unknown, uses for the data that require it to be accessed or stored in different ways.

So your trucks are flying around the country and data is pouring out of them. How do you make sure everyone gets the data they need? Enter [IBM Event Streams](https://www.ibm.com/cloud/event-streams), an event-streaming platform that helps you build smart apps that can react to events as they happen. It is a fully managed service built on open-source [Apache Kafka](https://www.ibm.com/cloud/learn/apache-kafka).

Event Streams can take in the data from the trucks (data producers) and then serve it to the various applications that will use it (data consumers).

Finally, you will need to run your Truck Tracker service somewhere, and for that we will use [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift), a fast and secure way to containerize and deploy enterprise workloads in Kubernetes clusters. We will provision an Red Hat OpenShift on IBM Cloud cluster, deploy our applications to it and make them available to the database services that need access to it. We will also make a public-facing application to view the positions of trucks on a map. Read more about [Red Hat OpenShift on IBM Cloud.](https://cloud.redhat.com/learn/what-is-openshift)





 What you will build 

This is the high-level system that we are going to build:

Zoom

![The Truck Tracker Solution](https://cloud.ibm.com/docs-content/v1/content/c1b02d6157702384a9668d8c58bb951e69117793/databases-for-redis/includes/cloud-databases/includes/cloud-databases/images/TruckTrackerOS.png)

Figure 1. The Truck Tracker Solution
There may be other, yet unknown, uses for the data that require it to be accessed or stored in different ways.

So your trucks are flying around the country and data is pouring out of them. How do you make sure everyone gets the data they need? Enter [IBM Event Streams](https://www.ibm.com/cloud/event-streams), an event-streaming platform that helps you build smart apps that can react to events as they happen. It is a fully managed service built on open-source [Apache Kafka](https://www.ibm.com/cloud/learn/apache-kafka).

Event Streams can take in the data from the trucks (data producers) and then serve it to the various applications that will use it (data consumers).

Finally, you will need to run your Truck Tracker service somewhere, and for that we will use [Red Hat OpenShift on IBM Cloud](https://www.ibm.com/cloud/openshift), a fast and secure way to containerize and deploy enterprise workloads in Kubernetes clusters. We will provision an Red Hat OpenShift on IBM Cloud cluster, deploy our applications to it and make them available to the database services that need access to it. We will also make a public-facing application to view the positions of trucks on a map. Read more about [Red Hat OpenShift on IBM Cloud.](https://cloud.redhat.com/learn/what-is-openshift)





 What you will build 

This is the high-level system that we are going to build:

Zoom

![The Truck Tracker Solution](https://cloud.ibm.com/docs-content/v1/content/ec83e0c9f915f4acf715222aaa5b8387c028200c/databases-for-mongodb/includes/cloud-databases/includes/cloud-databases/images/TruckTrackerOS.png)

Figure 1. The Truck Tracker Solution
When you log in to the IBM Cloud (ibmcloud) command line, you are prompted to select a region. However, this region does not affect the Red Hat OpenShift on IBM Cloud plug-in (ibmcloud oc) endpoint, which still uses the global endpoint. Note that you do still need to target the resource group that your cluster is in if it is not in the default resource group.

To log in to the IBM Cloud global API endpoint and target the resource group that your cluster is in:

ibmcloud login -a https://cloud.ibm.com -g <nondefault_resource_group_name>





 Logging in to Red Hat OpenShift on IBM Cloud 

When you log in to IBM Cloud, you can access the Kubernetes Service. To help you get started, check out the following resources for using the Red Hat OpenShift on IBM Cloud CLI and API.

[Install the IBM Cloud CLI](https://cloud.ibm.com/docs/containers?topic=containers-cli-install)[Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster).

When you use the new global functionality in the Red Hat OpenShift on IBM Cloud CLI, consider the following changes from the legacy region-based functionality.



* Listing resources:



* When you list resources, such as with the ibmcloud oc cluster ls, ibmcloud oc subnets, or ibmcloud oc zone ls commands, resources in all locations are returned. To filter resources by a specific location, certain commands include a --location option. For example, if you filter clusters for the wdc metro, multizone clusters in that metro and single-zone clusters in data centers (zones) within that metro are returned. If you filter clusters for the wdc06 data center (zone), multizone clusters that have a worker node in that zone and single-zone clusters in that zone are returned. ibmcloud oc cluster ls -l dal.
* Other commands don't return resources in all locations.
Red Hat OpenShift / Kubernetes version Release date Unsupported date 

 Deprecated 4.9 / 1.22 09 February 2022 30 August 2023† 







 Preparing to update 

Review changes that you might need to make when you [update a cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-update) to version 4.9. This information summarizes updates that are likely to have and impact on deployed apps when you update.



 Update before master 

The following table shows the actions that you must take before you [update the cluster master](https://cloud.ibm.com/docs/openshift?topic=openshift-updatemaster).



Changes to make before you update the master to Red Hat OpenShift 4.9

 Type Description 

 Unsupported: Deprecated and removed Red Hat OpenShift features For more information, review [Red Hat OpenShift version 4.9 deprecated and removed features](https://docs.openshift.com/container-platform/4.9/release_notes/ocp-4-9-release-notes.htmlocp-4-9-deprecated-removed-features). 
 Unsupported: Beta versions of numerous Kubernetes APIs For more information, review [Preparing to upgrade to Red Hat OpenShift Container Platform 4.9](https://access.redhat.com/articles/6329921), [Kubernetes API and Feature Removals In 1.22: Here’s What You Need To Know](https://kubernetes.io/blog/2021/07/14/upcoming-changes-in-kubernetes-1-22/) and [Deprecated API Migration Guide](https://kubernetes.io/docs/reference/using-api/deprecation-guide/v1-22). See [Deprecation Warnings](https://kubernetes.io/blog/2020/09/03/warnings/deprecation-warnings) for methods to identify use of deprecated APIs.
Satellite-enabled service An IBM Cloud service that you can set up in a Satellite location, such as a Red Hat OpenShift cluster. The service is managed from the IBM Cloud region that your location is managed from, but you provide the infrastructure hosts to run the service's resources in your location. See [Supported Satellite-enabled IBM Cloud services](https://cloud.ibm.com/docs/satellite?topic=satellite-managed-services). 
 Satellite Config Based on the [Razee open source project](https://github.com/razee-io/Razee), Satellite Config is a continuous delivery tool that you can use to consistently roll out versions of your apps across clusters in your Satellite location. See [Deploying Red Hat OpenShift resources across clusters with Satellite configurations](https://cloud.ibm.com/docs/satellite?topic=satellite-setup-clusters-satconfig). 
 Satellite Link Satellite Link securely connects your Satellite location to the IBM Cloud region that your location is managed from. Communication to and from your location is proxied by the Link tunnel server, and network traffic on this connection can be monitored and audited. See [Connecting Satellite locations with external services using Link endpoints](https://cloud.ibm.com/docs/satellite?topic=satellite-link-location-cloud). 
 Satellite storage Satellite storage uses Satellite Config to provide a convenient way to install various storage drivers in Red Hat OpenShift clusters across your Satellite locations, by using storage templates. The storage templates are provided and tested by the vendors. After you install Satellite storage, your cluster users can use Kubernetes persistent volume claims (PVCs) to order and save their application data in persistent storage. See [Understanding Satellite storage templates](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-template-ov). 







 Choose your infrastructure for Satellite 

To get started with Satellite, decide what type of infrastructure you want to use. Then, create a location by attaching hosts and creating a location control plane. For some cloud providers, you can use a Terraform template to create and attach your hosts. Otherwise, you can manually attach your hosts.
If you have a cluster that runs an earlier version, [update your cluster](https://cloud.ibm.com/docs/containers?topic=containers-update) and then [re-enable KMS encryption](https://cloud.ibm.com/docs/openshift?topic=openshift-encryptionkeyprotect) to register your cluster with Key Protect again.

Worker node versions
: Worker node fix pack update change log documentation is available.
: Red Hat OpenShift [4.5.21_1522_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-changelog_archive4521_1522), [4.4.31_1526_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-changelog_archive4431_1526), [4.3.40_1547_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-changelog_archive4340_1547), and [3.11.318_1574_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_311311318_1574)..





 3 December 2020 

Cluster autoscaler add-on
: Patch update 1.0.1_146 is released. For more information, see the [Cluster autoscaler add-on change log](https://cloud.ibm.com/docs/openshift?topic=openshift-ca_changelog).





 2 December 2020 

Default version
: Red Hat OpenShift 4.5 is now the default version for Red Hat OpenShift on IBM Cloud clusters.







 November 2020 



 25 November 2020 

New! IBM Cloud HPCS Router
: In clusters that run Red Hat OpenShift version 4.5, you can now deploy the IBM Cloud HPCS Router to encrypt routes with a private key that is stored in an IBM Cloud® Hyper Protect Crypto Services instance.
[Copy the all-icr-io image pull secret from the default Red Hat OpenShift project to the project where you want to deploy your workload](https://cloud.ibm.com/docs/openshift?topic=openshift-registrycopy_imagePullSecret).
3. [Add the image pull secret to the service account for this Red Hat OpenShift project](https://cloud.ibm.com/docs/openshift?topic=openshift-registrystore_imagePullSecret) so that all pods in the project can use the image pull secret credentials.



5. If image pull secrets are listed in the pod, determine what type of credentials you use to access IBM Cloud Container Registry.



* If the secret has icr in the name, you use an API key to authenticate with the icr.io domain names. Continue with [Troubleshooting image pull secrets that use API keys](https://cloud.ibm.com/docs/openshift?topic=openshift-ts-app-image-pullimg-pull-api-key).
* If you have both types of secrets, then you use both authentication methods. Going forward, use the icr.io domain names in your deployment YAMLs for the container image. Continue with [Troubleshooting image pull secrets that use API keys](https://cloud.ibm.com/docs/openshift?topic=openshift-ts-app-image-pullimg-pull-api-key).







 Troubleshooting image pull secrets that use API keys 

If your pod configuration has an image pull secret that uses an API key, check that the API key credentials are set up correctly.

The following steps assume that the API key stores the credentials of a service ID. If you set up your image pull secret to use an API key of an individual user, you must verify that user's IBM Cloud IAM permissions and credentials.



1. Find the service ID that API key uses for the image pull secret by reviewing the Description. The service ID that is created with the cluster is named cluster-<cluster_ID> and is used in the default Red Hat OpenShift project.
// Ignition config for the compute machines. You should copy the contents of the worker.ign generated by the i$
compute_ignition = <<END_OF_WORKER_IGNITION
<replace with new worker.ign>
END_OF_WORKER_IGNITION







 Taking a snapshot of Red Hat OpenShift 

You might want to stop and resume Red Hat OpenShift Cluster VMs during development or testing. You must consider the following before you take a snapshot.

During the installation of Red Hat OpenShift 4.x clusters, a bootstrap certificate is created that is used on the control-plane nodes to create certificate signing requests (CSRs) for kubelet client certificates (one for each node or kubelet). This certificate is used to identify each kubelet on any node. Because these certificates cannot be revoked, they are made with a short expiration time of 24 hours after cluster installation. All nodes other than the control-plane nodes have a service account token that is revocable. The bootstrap certificate is valid only for 24 hours after cluster installation. After the initial 24 hours, the certificate expires every 30 days.

The first control-plane kubelet lasts for 24 hours before it is re-created. If you are taking a snapshot immediately after deployment, the control-plane kubelet does not yet have a 30-day client certificate. Then, the missing kubelet client certificate refresh window renders the cluster unusable, because the bootstrap credential cannot be used when the cluster is back up. Practically, this process requires an Red Hat OpenShift 4 cluster to be running for at least 25 hours after installation before it can be shut down.

You can check the validity of the certificate by running the following command in the bastion host after deployment:

ssh -i /.ssh/id_rsa -o StrictHostKeyChecking=no core@192.168.133.10 -- sudo openssl x509 -text -noout -in /var/lib/kubelet/pki/kubelet-client-current.pem

Run the following command to check the lifetime of the certificate of the output.
You can use this information for planning purposes, such as to estimate the general time that the version might become unsupported.

Dates that are marked with a dagger (†) are tentative and subject to change.



Release history for Red Hat OpenShift on IBM Cloud version 4.11.

 Supported? Red Hat OpenShift / Kubernetes version Release date Unsupported date 

 Supported 4.11 / 1.24 31 August 2022 06 March 2024† 







 Preparing to update 

Review changes that you might need to make when you [update a cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-update) to version 4.11. This information summarizes updates that are likely to have an impact on deployed apps when you update.

Before you update: Review the following list of considerations and limitations before you update your cluster to version 4.11. Some entries are relevant to specific add-ons. To check if you have an add-on enabled in your cluster, run ibmcloud oc cluster addon ls.

RHEL 8 operating system support
: RHEL 8 is the only operating system supported for clusters that run version 4.11. If your 4.10 cluster has RHEL 7 worker nodes, [migrate your worker nodes](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_versions_411rhel-migrate-411) to RHEL 8.

Cluster autoscaler add-on
: The cluster autoscaler add-on version 1.0.6 or newer is supported on Red Hat OpenShift on IBM Cloud version 4.11.

Portworx
: Portworx is supported on version 4.11. However, if you have Portworx installed, you must follow the steps to upgrade your installation to use at least image version 2.11.4. For more information, see [Upgrading Portworx to a specific version](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_about).

Red Hat OpenShift Data Foundation (ODF)
The location of the SSH key pair is displayed on the Red Hat OpenShift service details page. This SSH key was installed on all cluster VMs to allow SSH logins from the bastion without requiring a password.

It is recommended that a new SSH key pair is generated and used to replace the existing key. To generate a new SSH key pair, use the instructions in the Red Hat article about [updating an SSH key](https://access.redhat.com/solutions/4510281). You must run the commands from the bastion VM. For more information about logging in to the bastion, see [Bastion details](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-ocp_overviewocp_overview-bastion).





 Expanding Red Hat OpenShift cluster with more workers 

To expand your Red Hat OpenShift cluster by adding more worker VMs, complete the following steps:



1. Create a worker VM from the RHCOREOS template.



1. Ensure that the VM is connected to the same network as the other Red Hat OpenShift worker VMs.
2. Do not power on this VM yet. You complete more configuration steps ahead.



2. Prepare a worker ignition file on the bastion.



1. For more information about logging in to the bastion, see [Bastion details](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-ocp_overviewocp_overview-bastion).
2. In the installation directory on the bastion, locate the worker ignition file named worker.ign. Create a base64 version of this file by using the command base64 -w0 worker.ign > worker.ign.b64. The contents of the newly created worker.ign.b64 file is used in the next step.



3. Set the VM attributes.



1. Edit the configuration parameters of the new worker VM. Power off the VM before you start.
Exposing apps with routes in Red Hat OpenShift 4 

Expose the services in your Red Hat® OpenShift® on IBM Cloud® cluster on the router's external IP address by using a route.

This information is for clusters that run Red Hat OpenShift version 4.

Not sure whether to use Red Hat OpenShift routes or Ingress? Check out [Choosing among load balancing solutions](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_network_planning).



 Overview 

By default, a Red Hat OpenShift Ingress controller is deployed to your cluster that functions as the ingress endpoint for external network traffic.

You can use the Red Hat OpenShift Ingress controller to create routes for your apps. Routes are assigned a publicly or privately accessible hostname from the Ingress controller subdomain that external clients can use to send requests to your app. You can choose to create unsecured or secured routes by using the TLS certificate of the Ingress controller to secure your hostname. When external request reach your hostname, the Ingress controller proxies your request and forwards it to the private IP address that your app listens on.

The type of Ingress controller that is created by default varies depending on your cluster's infrastructure provider and your service endpoint setup.



* Classic clusters / VPC clusters with public cloud service endpoint: Your cluster is created with a public Ingress controller by default. The Ingress controller assigns publicly accessible routes for your apps and listens for requests to your apps on the public host network interface. When a request is received, the Ingress controller directs the request to the private IP address that the app listens on. If you want to privately expose your apps instead, you must first create a private Ingress controller, and then create private routes.
* VPC clusters with private cloud service endpoint only: Your cluster is created with a private Ingress controller by default. The Ingress controller assigns privately accessible routes for your apps and listens on the private host network interface. Only clients that are connected to your private VPC network can access apps that are exposed by a private route.