vania-janet/multiturn-rag-retrieval-data huggingface dataset:
If no instances are available, [create one](https://cloud.ibm.com/docs/openshift?topic=openshift-secrets-mgrsecrets-mgr_setup_create).
3. From the Secrets Manager group drop down menu, select the secret group you want to apply.
4. Create the cluster.
5. Check that the Secrets Manager instance is registered to the cluster.



1. When your cluster is fully provisioned, click on the cluster to view the cluster details. Under Integrations, find the Secrets Manager heading and click Manage.
2. In the side panel, check that correct instance is listed under Registered Secrets Manager instances.
3. To register additional instances to the cluster, click Register instances.
ibm = {
source = "IBM-Cloud/ibm"
version = "1.53.0"
}
}
}

provider "ibm" {
region = "us-south"
ibmcloud_api_key = "<api-key>"
}
2. Create a Terraform configuration file for a classic cluster. Save the file in your Terraform directory. The following example configuration creates a classic cluster with a single zone and three worker nodes. For more information and cluster configuration options, see the [Terraform ibm_container_cluster](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs) documentation.

Example Terraform configuration file.

resource "ibm_container_cluster" "testacc_cluster" {
name = "test-classic"
datacenter = "dal10"
machine_type = "b3c.4x16"
hardware = "shared"
public_vlan_id = "<vlan_id>"
private_vlan_id = "<vlan_id"
subnet_id = ["<subnet_id>"]

default_pool_size = 3
}

name
: The name of the cluster.

datacenter
: The zone to create the cluster in. To see available zones, run ibmcloud ks zones --provider classic.

machine_type
: The worker node flavor. The flavor determines the amount of memory, CPU, and disk space that is available to your worker nodes. For a list of available worker node flavors, run ibmcloud ks flavors --zone <zone> --provider classic, or see [Classic flavors](https://cloud.ibm.com/docs/containers?topic=containers-classic-flavors&interface=ui).

hardware
: The level of hardware isolation for your worker nodes. Use dedicated to have available physical resources dedicated to you only, or shared to allow physical resources to be shared with other IBM customers. This option is available for virtual machine worker nodes flavors only.
* Every worker node is assigned a unique worker node ID and domain name that must not be changed manually after the cluster is created. Changing the ID or domain name prevents the Kubernetes master from managing your cluster. Is your cluster not in a Normal state? Check out the [Debugging clusters](https://cloud.ibm.com/docs/containers?topic=containers-debug_clusters) guide for help. For example, if your cluster is provisioned in an account that is protected by a firewall gateway appliance, you must [configure your firewall settings to allow outgoing traffic to the appropriate ports and IP addresses](https://cloud.ibm.com/docs/containers?topic=containers-firewallfirewall_outbound).



18. After your cluster is created, you can [begin working with your cluster by configuring your CLI session](https://cloud.ibm.com/docs/containers?topic=containers-access_cluster). For more possibilities, review the [Next steps](https://cloud.ibm.com/docs/containers?topic=containers-clustersnext_steps).







 Creating VPC clusters from the CLI 

Create your single zone or multizone VPC cluster by using the IBM Cloud CLI.

Before you begin:



* Make sure that you complete the prerequisites to [prepare your account](https://cloud.ibm.com/docs/containers?topic=containers-clusters&interface=ui) and decide on your cluster setup.
* Install the IBM Cloud CLI and the [IBM Cloud Kubernetes Service plug-in](https://cloud.ibm.com/docs/containers?topic=containers-cli-install).
* Install the [VPC CLI plug-in](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=cli).





1. In your command line, log in to your IBM Cloud account and target the IBM Cloud region and resource group where you want to create your VPC cluster.
Decide whether to Allow SSH and Allow ping in the default security group.
6. Decide whether to allow access to Classic resources.
7. Review the subnet details. By default, subnets are spread evenly across zones. If you want to modify your subnets, uncheck the Create subnet in every zone box.
8. If you modify your subnet details, specify the number of IP addresses to create. VPC subnets provide IP addresses for your worker nodes and load balancer services in the cluster, so [create a VPC subnet with enough IP addresses](https://cloud.ibm.com/docs/containers?topic=containers-vpc-subnetsvpc_basics_subnets). Note that you can't change the number of IPs that a VPC subnet has later.
9. If you enter a specific IP range, don't use the following reserved ranges: 172.16.0.0/16, 172.18.0.0/16, 172.19.0.0/16, and 172.20.0.0/16.



6. Select the cluster version.
7. Configure the Location details for your cluster.



1. Select the Resource group that you want to create your cluster in.



* A cluster can be created in only one resource group, and after the cluster is created, you can't change its resource group.
* To create clusters in a resource group other than the default, you must have at least the [Viewer role](https://cloud.ibm.com/docs/containers?topic=containers-userschecking-perms) for the resource group.



2. Select the zones to create your cluster in. For more information about cluster availability, see [Planning your cluster for high availability](https://cloud.ibm.com/docs/containers?topic=containers-ha_clusters).



* The zones are filtered based on the VPC that you selected, and include the VPC subnets that you previously created.
* To create a single zone cluster, select one zone only.
From the drop down Application instance, choose an existing application instance or choose Create a new instance. If you choose Create a new instance, the details of the new instance are shown. The new instance is created when the cluster is created. If you disable this integration and want to enable it later, see [Logging for clusters](https://cloud.ibm.com/docs/containers?topic=containers-health&interface=ui).
Monitoring

Enable the [monitoring](https://cloud.ibm.com/docs/monitoring?topic=monitoring-getting-started) option. From the drop down Platform instance menu, choose a platform instance. From the drop down Application instance, choose an existing application instance or choose Create a new instance. If you choose Create a new instance, the details of the new instance are shown. The new instance is created when the cluster is created. If you disable this integration and want to enable it later, see [Monitoring cluster health](https://cloud.ibm.com/docs/containers?topic=containers-health-monitor&interface=ui).



17. In the Summary pane, review the order summary and then click Create. A worker pool is created with the number of workers that you specified. You can see the progress of the worker node deployment in the Worker nodes tab.



* Your cluster might take some time to provision the Kubernetes master and all worker nodes and enter a Normal state. Note that even if the cluster is ready, some parts of the cluster that are used by other services, such as Ingress secrets or registry image pull secrets, might still be in process.
* Every worker node is assigned a unique worker node ID and domain name that must not be changed manually after the cluster is created. Changing the ID or domain name prevents the Kubernetes master from managing your cluster. Is your cluster not in a Normal state? Check out the [Debugging clusters](https://cloud.ibm.com/docs/containers?topic=containers-debug_clusters) guide for help.
For a list of available regions, see [Regions](https://cloud.ibm.com/docs/blockchain/reference?topic=blockchain-ibp-regions-locationsibp-regions-locations).
4. You can leave the resource group and tags fields unchanged.
5. Click Create to provision the service instance.







 Step two: Link the instance to your Kubernetes cluster on IBM Cloud 

After you click Create to create your service instance, you'll be taken to the panel where you can link your service instance to your cluster.

If you have not already created a Kubernetes cluster in IBM Cloud, click Create a Kubernetes cluster on IBM Cloud. You will be taken to the catalog page and have to follow the process described in [Deploy a Kubernetes cluster on IBM Cloud](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-deploy-iks-icibp-v2-deploy-iks-deploy-cluster).

If you already have a cluster, you can link your service instance to it by clicking Link a Kubernetes cluster on IBM Cloud and selecting your existing cluster from the drop-down list. If your Kubernetes cluster is not visible in the drop-down list, it could be caused by the following conditions:



* The cluster creation process can take up to 60 minutes to complete. If you created a cluster, allow some extra time until the state of your cluster becomes Normal.
* Clusters that are outside the [supported regions](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-regions-locationsibp-regions-locations-ibp) are not visible and cannot be used.
* Check to make sure you are not using the ESR version of Firefox. If you are, switch to another browser such as Chrome and retry.
* If you have a multi-zone region (MZR) cluster you need to enable [VLAN spanning](https://cloud.ibm.com/docs/vlans?topic=vlans-vlan-spanningmanage-vlan-spanning).
Enter a unique Repository Name for the repository such as <your-initials>-mynodestarter-repository.
7. Click on the Delivery Pipeline tab.
8. Provide an IBM Cloud API Key. If you don't have one, create by clicking on New.
9. Select a region and your cluster from the list.
10. Make sure to set the cluster namespace to default and click Create.



In a new browser tab open the [Kubernetes clusters](https://cloud.ibm.com/kubernetes/clusters):



* Click on your cluster.
* Locate the Ingress subdomain field and click the copy button. The ingress subdomain will be used in the next section.



The toolchain will build your application and deploy it to the cluster.



1. Once the pipeline is created, click the pipeline under Delivery Pipelines.
2. Wait for the DEPLOY stage to complete. The Check health job will fail for VPC clusters.
3. Click on the settings cog in the DEPLOY stage and click Configure stage.



* Click the Environment properties tab at the top.
* Click Add property, click Text property.
* Enter Name: HELM_UPGRADE_EXTRA_ARGS.
* Enter Value: --set ingress.enabled=true,ingress.hosts={dev.INGRESS_SUBDOMAIN} something like: --set ingress.enabled=true,ingress.hosts={dev.vpc-e7f2ca73139645ddf61a8702003a483a-0000.us-south.containers.appdomain.cloud}.



4. Click Save.
5. Click the play button on DEPLOY stage.
6. In a browser tab paste the dev.INGRESS_SUBDOMAIN of the cluster. The message from the application should be returned: Welcome to IBM Cloud DevOps with Docker, Kubernetes and Helm Charts. Lets go use the Continuous Delivery Service.
7. Switch back to the pipeline tab.







 Step 3: Modify the application and deploy the updates
Plan your [worker node setup](https://cloud.ibm.com/docs/openshift?topic=openshift-planning_worker_nodes).





Looking for serverless? Try [Code Engine](https://cloud.ibm.com/docs/codeengine?topic=codeengine-getting-started).





 Create a cluster 

Create a cluster with infrastructure, network, and availability setups that are customized to your use case and cloud environment.



1. Firewall: If you have corporate firewalls, make sure that you [open the required ports and IP addresses](https://cloud.ibm.com/docs/openshift?topic=openshift-firewallcorporate) to work with Red Hat OpenShift on IBM Cloud.
2. CLI and API:



1. [Set up the CLIs](https://cloud.ibm.com/docs/openshift?topic=openshift-cli-install) that are necessary to create and work with clusters. As you work with your cluster, refer to the [command reference](https://cloud.ibm.com/docs/openshift?topic=openshift-kubernetes-service-cli) and keep track of CLI version updates with the [CLI change log](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_cli_changelog).
2. Optionally set up [automated deployments with the API](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_api_install). As you work with your cluster, refer to the [IBM Cloud Kubernetes Service API reference](https://containers.cloud.ibm.com/global/swagger-global-api//) and [Community Kubernetes API reference](https://kubernetes.io/docs/reference/).



3. Cluster deployment:



1.
* Before you can use KMS encryption, you must create a KMS instance and set up the required service authorization in IAM. For more information, see [Managing encryption for the worker nodes in your cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-encryptionworker-encryption).
* By default, your cluster is provisioned with a VPC security group and a cluster-level security group. If you want to attach additional security groups or change which default security groups are applied when you create the cluster, you must [create your VPC cluster in the CLI](https://cloud.ibm.com/docs/openshift?topic=openshift-cluster-create-vpc-gen2cluster_vpcg2_cli).
* If you create a VPC cluster with both a public and a private cloud service endpoint, note that the public service endpoints can't be disabled at a later time. Therefore, you can't convert a public cluster to a private cluster.







 Creating a VPC cluster in the console 



1. Make sure that you complete the prerequisites to [prepare your account](https://cloud.ibm.com/docs/containers?topic=containers-clusters&interface=ui) and decide on your cluster setup.
2. [Navigate to the console](https://cloud.ibm.com/kubernetes/catalog/create?platformType=openshift).
3. In the Infrastructure section, select VPC.
4. In the Virtual private cloud section, choose from the following options.



* Select an existing VPC.
* Click Create VPC.



5. Optional: If you selected Create VPC, complete the following steps.



1. Select a Geography and Region. To review the available regions, see [VPC multizone regions](https://cloud.ibm.com/docs/openshift?topic=openshift-regions-and-zoneszones-vpc)
2. Enter a name for your VPC.
3.
* Make sure that your cluster meets the [minimum Portworx requirements](https://docs.portworx.com/start-here-installation/).
* [Install or update the IBM Cloud Block Storage plug-in in your cluster](https://cloud.ibm.com/docs/containers?topic=containers-block_storageinstall_block).
* Provision and attach 320Gi of block storage to your cluster. See [Setting up classic IBM Cloud Block Storage](https://cloud.ibm.com/docs/containers?topic=containers-block_storage) or [Setting up Block Storage for VPC](https://cloud.ibm.com/docs/containers?topic=containers-vpc-block).





1. Open the PX-Backup service from the [IBM Cloud catalog](https://cloud.ibm.com/catalog/services/px-backup-for-kubernetes).
2. Select the same location where the cluster you want to install PX-Backup on is located. You can find the location of your cluster from the IBM Cloud Kubernetes Service dashboard.
3. Enter the name for your PX-Backup service in the Service name field.
4. Select the resource group where you want to create the PX-Backup service.
5. In the Tag field, enter the name of the cluster where you want to install PX-Backup. After you complete the installation, you can't see the name of the cluster where you installed PX-Backup. To find the cluster more easily later, make sure that you enter the cluster name and any additional information as tags.
6. Enter your IBM Cloud API key. After you enter the API key, the Kubernetes or OpenShift cluster name field appears. If you don't have an IBM Cloud API key, see [Creating an API key](https://cloud.ibm.com/docs/account?topic=account-userapikeycreate_user_key) to create one.
7.
It's preconfigured with the full IBM Cloud CLI and many plug-ins and tools that you can use to manage apps, resources, and infrastructure.

In this step, you'll use the IBM Cloud shell and configure oc to point to the cluster assigned to you.



1. When the cluster is ready, on the cluster overview page click on OpenShift web console to open the console. Make sure you don't close this window/tab
2. On the web console, click the drop-down under your name in the right corner of your screen and select Copy Login Command and then click the Display Token link.
3. Copy the text under Log in with this token.
4. In a new browser tab/window, open the [IBM Cloud Shell](https://cloud.ibm.com/shell) to start a new session. Once the session starts, you should be automatically logged-in to the IBM Cloud CLI. Make sure you don't close this window/tab.
5. Check the version of the OpenShift CLI:

oc version
6. The version needs to be at minimum 4.12.x, otherwise install the latest version by following [these instructions](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-tutorialsgetting-started-cloud-shell).
7. Paste the login command you copied from the web console and hit Enter. 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: Install Service Mesh - Istio 

In this section, you will install Service Mesh - Istio on the cluster. Installing the Service Mesh involves installing the Elasticsearch, Jaeger, Kiali and Service Mesh Operators, creating and managing a ServiceMeshControlPlane resource to deploy the control plane, and creating a ServiceMeshMemberRoll resource to specify the namespaces associated with the Service Mesh.
ibmcloud ks cluster create classic --zone dal10 --private-vlan my_private_VLAN_ID --flavor b3c.4x16 --name my_cluster --hardware shared --workers 2 --operating-system UBUNTU_20_64

Create subsequent standard clusters: If you already created a standard cluster in this zone or created a public VLAN in IBM Cloud infrastructure before, specify that public VLAN with the --public-vlan option. To find out whether you already have a public VLAN for a specific zone or to find the name of an existing public VLAN, run ibmcloud ks vlan ls --zone <zone>.

ibmcloud ks cluster create classic --zone dal10 --public-vlan my_public_VLAN_ID --private-vlan my_private_VLAN_ID --flavor b3c.4x16 --name my_cluster --hardware shared --workers 2 --operating-system UBUNTU_20_64







 ibmcloud ks cluster create vpc-gen2 

Virtual Private Cloud

Create a Virtual Private Cloud (VPC) cluster with worker nodes on Generation 2 infrastructure. When you log in to your IBM Cloud account, target the IBM Cloud region and resource group where you want to create your VPC cluster. For supported regions, see [Creating a VPC in a different region](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-a-vpc-in-a-different-region). The cluster's resource group can differ from the VPC resource group.

VPC Gen 2 cluster flavors with instance storage are available for allowlisted accounts. To get added to the allowlist, [open a case](https://cloud.ibm.com/unifiedsupport/cases/form) with support.
You just deployed your first app in your Kubernetes cluster.







 What's next? 

Go through a tutorial to install the CLI, create a private image registry, set up your cluster environment, add an IBM Cloud service to the cluster, and deploy an app.



* [VPC clusters tutorial](https://cloud.ibm.com/docs/containers?topic=containers-vpc_ks_tutorial)



Set up the correct environment for your workloads.



* Plan your [cluster network setup](https://cloud.ibm.com/docs/containers?topic=containers-plan_clusters), develop a [highly available architecture](https://cloud.ibm.com/docs/containers?topic=containers-ha_clusters), and [set up autoscaling](https://cloud.ibm.com/docs/containers?topic=containers-cluster-scaling-classic-vpc) for your cluster.
* Create [image pull secrets](https://cloud.ibm.com/docs/containers?topic=containers-registryother) to [deploy apps](https://cloud.ibm.com/docs/containers?topic=containers-app) to Kubernetes namespaces other than default.
* Decide what type of [file, block, object, database, or software-defined storage](https://cloud.ibm.com/docs/containers?topic=containers-storage-plan) you want to integrate with your apps.
* Control network traffic to your apps for [classic](https://cloud.ibm.com/docs/containers?topic=containers-network_policies) and [VPC](https://cloud.ibm.com/docs/containers?topic=containers-vpc-network-policy) clusters.



Explore other capabilities for your cluster.



* Check out [IBM Cloud and 3rd-party services](https://cloud.ibm.com/docs/containers?topic=containers-supported_integrations), such as Portworx.
"excluded": []
}





 Creating network zones from the CLI 



1. To create network zones from the CLI, [install the CBR CLI plug-in](https://cloud.ibm.com/docs/cli?topic=cli-cbr-plugininstall-cbr-plugin).
2. You can use the cbr-zone-create command to add resources to network zones. For more information, see the CBR [CLI reference](https://cloud.ibm.com/docs/cli?topic=cli-cbr-plugincbr-zones-cli). Note that the service_name for IBM Cloud Kubernetes Service is containers-kubernetes.

To find a list of available service refs, run the ibmcloud cbr service-ref-targets[command](https://cloud.ibm.com/docs/cli?topic=cli-cbr-plugincbr-cli-service-ref-targets-command).

Example command to add the containers-kubernetes service to a network zone.

ibmcloud cbr zone-create --name example-zone-1 --description "Example zone 1" --service-ref service_name=containers-kubernetes

The following example creates a network zone to allow a single public IP address to access. You can also use this example in conjunction with the [one IP example rule](https://cloud.ibm.com/docs/containers?topic=containers-cbr&interface=clione-ip). For more information about this scenario, see [Setting up context-based restrictions](https://cloud.ibm.com/docs/containers?topic=containers-cbr-tutorial).

ibmcloud cbr zone-create --addresses 129.41.86.7 --description "Allow only client IP" --name allow-client-ip







 Creating network zones from the console 



1. Determine the resources that you want add to your allowlist.
2.
* If you devices aren't partitioned, you must specify one raw disk for the MON and one for the OSD for each worker node that you want to use.



Example custom resource for installing ODF on all worker nodes in a version 4.8 cluster by using automatic disk discovery.

apiVersion: ocs.ibm.io/v1
kind: OcsCluster
metadata:
name: ocscluster-classic
spec:
osdStorageClassName: localblock
osdSize: "1"
autoDiscoverDevices: true

Example custom resource for installing ODF on all worker nodes in a version 4.8 cluster with partitioned disks.

apiVersion: ocs.ibm.io/v1
kind: OcsCluster
metadata:
name: ocscluster Kubernetes resource names can't contain capital letters or special characters. Enter a name for your resource that uses only lowercase letters, numbers, - or .
spec:
osdStorageClassName: localblock
osdSize: "1"
numOfOsd: 1
billingType: advanced
ocsUpgrade: false
osdDevicePaths:
- <device-by-id> Example: /dev/disk/by-id/scsi-0000000a00a00a00000a0aa000a00a0a0-part2
- <device-by-id> Example: /dev/disk/by-id/scsi-1111111a11a11a11111a1aa111a11a1a1-part2
- <device-by-id> Example: dev/disk/by-id/scsi-2222222a22a22a22222a2aa222a22a2a2-part2
2. Save the file and create the OcsCluster custom resource to your cluster.

oc create -f <ocs_cluster_filename>
3. Verify that your OcsCluster custom resource is running.

oc describe OcsCluster ocscluster
4.