vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* UI
* CLI
* API
* Terraform







 Adjusting Block Storage for VPC volume IOPS 

For IBM® Cloud Block Storage for Virtual Private Cloud volumes that are attached to a virtual server instance, you can increase or decrease IOPS to meet your performance needs. Adjust IOPs by specifying a different IOPS tier profile or different IOPS value withing a custom IOPS band. The IOPS adjustment causes no outage or lack of access to the storage.

Billing for an updated volume is automatically updated. The prorated difference of the new price is added to the current billing cycle. The new full amount is then billed in the next billing cycle.



 Adjustable IOPS concepts 

You can adjust IOPS for your Block Storage for VPC data volumes that are attached to a running virtual server instance to tailor performance to meet your requirements.

For example, you might find that an application scaled such that a lower-tier storage profile is now a performance bottleneck. Instead of ordering a new volume and migrating your data, you can change the performance characteristics of the existing volume by increasing IOPS in the next performance tier.

In another scenario, you might want to initially set your storage at a higher 10 IOPS/GB performance level to expedite a data upload. After the upload completes, you can reset storage to a lower 5 IOPS/GB for normal operations. Alternatively, you might want to increase your volume's IOPS during peak times for your application and decrease IOPS during off-peak hours.

With this feature, you can:



* Adjust IOPS up or down by selecting a different [IOPS tier](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=apitiers).
* Adjust IOPS within a [custom IOPS](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles&interface=apicustom) band.
* Adjust IOPS without having to detach the volume from the virtual server instance.
"map": "function(product) { emit(product.type, { price: product.price, tax: product.tax }); }",
"reduce": "_sum"
}
}
}

The view is keyed on the type of the product, and the value is an object that contains two values: price and tax. The _sum reduce calculates totals for each attribute of the object that it finds:

{"rows":[
{"key":null,"value":{"price":144.97, "tax":7.32}}
]}

Or add ?group=true when querying the view. The output is grouped and summed by a unique key, in this case, type:

{"rows":[
{"key":"portable","value":{"price":14.99,"tax":1.14}},
{"key":"product","value":{"price":129.98,"tax":6.18}}
]}

The numeric reducers also calculate multiple reductions when the value of an index is an array of numbers:

{
"views": {
"statsReadingsArray": {
"map": "function(doc) { emit(doc.date, [doc.price, doc.tax]); }",
"reduce": "_stats"
}
}
}

The previous definition calculates statistics on the numerical values that it finds in the array that is emitted as the index's value. The values are returned as an array in the same order as supplied in the map function:

{"rows":[
{"key":"portable","value":
{"sum":14.99,"count":1,"min":14.99,"max":14.99,"sumsqr":224.7001},
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nginx
spec:
serviceName: "nginx"
replicas: 3
podManagementPolicy: Parallel
selector:
matchLabels:
app: nginx
billingType: "hourly"
region: "us-south" Enter the region where your cluster is located.
zone: "dal10"
template:
metadata:
labels:
app: nginx
billingType: "hourly"
region: "us-south"
zone: "dal10"
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
name: web
volumeMounts:
- name: myvol
mountPath: /usr/share/nginx/html
volumeClaimTemplates:
- metadata:
name: myvol
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
iops: "300" required only for performance storage
storageClassName: ibmc-block-retain-bronze
Show more

The following example shows how to deploy NGINX as a stateful set with three replicas. The stateful set does not specify the region and zone where the block storage is created. Instead, the stateful set uses an anti-affinity rule to ensure that the pods are spread across worker nodes and zones. By defining topologykey: failure-domain.beta.kubernetes.io/zone, the Kubernetes scheduler can't schedule a pod on a worker node if the worker node is in the same zone as a pod that has the app: nginx label. For each stateful set pod, two PVCs are created as defined in the volumeClaimTemplates section, but the creation of the block storage instances is delayed until a stateful set pod that uses the storage is scheduled.
The field that is used to create the histogram must have a number data type, such as integer, float, double, or date.Nonnumber types such as string are not supported. For example, "price": 1.30 is a number value that works, and "price": "1.30" is a string, so it doesn’t work.Use the interval argument to define the size of the sections for the results to be split into. Interval values must be whole, nonnegative numbers. Choose a value that makes sense for segmenting the typical values from the field.Histograms can process decimal values that are specified in a field, but the interval must be a whole number.You can optionally include a custom name by including a name parameter.<-- </section "id="section-histogram-syntax" "> --><-- <section "id="section-histogram-example" "> --> Example For example, if your data set includes the price of several items, like: “price”: 1.30, “price”: 1.99, and “price”: 2.99, you might use intervals of 1, so that you see everything that is grouped in the range 1 - 2, and 2 and 3. You do not want to use an interval of 100 because then all of the data ends up in the same segment. histogram(product_price,interval:1)
<-- </section "id="section-histogram-example" "> --><-- </section "id="section-histogram" "> --><-- <section "id="section-max" "> --> max Returns the highest value in the specified field across all matching documents.<-- <section "id="section-max-syntax" "> --> Syntax max(field)
<-- </section "id="section-max-syntax" "> --><-- <section "id="section-max-example" "> --> Example <-- <table> -->Table 2.
: Enter the pod management policy that you want to use for your stateful set. Choose between the following options.



* OrderedReady: With this option, stateful set replicas are deployed one after another. For example, if you specified 3 replicas, then Kubernetes creates the PVC for your first replica, waits until the PVC is bound, deploys the stateful set replica, and mounts the PVC to the replica. After the deployment is finished, the second replica is deployed. For more information about this option, see [OrderedReady Pod Management](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/orderedready-pod-management).
* Parallel: With this option, the deployment of all stateful set replicas is started at the same time. If your app supports parallel deployment of replicas, then use this option to save deployment time for your PVCs and stateful set replicas.



matchLabels
: In the spec selector section, enter all labels that you want to include in your stateful set and your PVC. Labels that you include in the volumeClaimTemplates of your stateful set are not recognized by Kubernetes. Review the following sample labels.



* region and zone: If you want all your stateful set replicas and PVCs to be created in one specific zone, add both labels. You can also specify the zone and region in the storage class that you use. If you don't specify a zone and region and you have a multizone cluster, the zone in which your storage is provisioned is selected on a round-robin basis to balance volume requests evenly across all zones.
* billingType: Enter the billing type that you want to use for your PVCs. Choose between hourly or monthly. If you don't specify this label, all PVCs are created with an hourly billing type.



labels
: In the spec template metadata section, enter the same labels that you added to the spec.selector.matchLabels section.

affinity
: In the spec template spec affinity section, specify your anti-affinity rule to ensure that your stateful set pods are distributed across worker nodes and zones.
Each bare metal server or ESXi host employs at minimum two locally attached SATA M.2 mirrored drives that are allocated to the vSphere ESXi hypervisor.

You do not need to configure RAID for M.2 mirrored drives. The configuration is provided as part of the bare metal server provisioning.





 vSAN disks 

When provisioning a server for vSAN, select it from a profile, which includes the additional U.2 NVMe SSDs to match the required vSAN storage size.

When provisioning a server, you can select it from multiple profiles with a variable number of U.2 NVMe SSDs required for vSAN building.

When you configure vSAN, depending on the bare metal server profile and included SSDs, you can use one or more vSAN disk groups, with one solid-state disk (SSD) for cache and one or more SSDs for capacity.

For more information about vSAN design, see [Virtual infrastructure design](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-vpc-ryo-infrastructure-virtual)





 Shared file-level storage across hosts 

The IBM Cloud file storage for IBM Cloud VPC is a zonal file storage offering that provides NFS-based file storage services for VPC customers. File shares are created in an availability zone within a region. They can be shared with multiple server instances within the same zone across multiple VPCs.

The network attached storage for this architecture is limited to the IBM Cloud VPC storage, which is available in the same IBM Cloud VPC zone as the IBM Cloud bare metal server.

If you choose to use this file storage from IBM Cloud VPC, you can attach an NFS share to your selected ESXi hosts and VMware clusters. This share can be used for management components such as vCenter Server, VMware NSX-T managers and NSX-T edge nodes, or for other VMware workloads and VMs.

These file shares are accessible only within the zone in which you created them, for example us-south-1. They are identified by name and associated with a resource group in your IBM Cloud customer account.
<br>Valid value is export-configuration. 
 requestData.configResources Defines the list of resources that a user chooses to export or import. 
 responseData.logdnaId Defines the Activity Tracker ID that is associated with the Activity Tracker instance. 









 Data events 



 Views 



Table 21. Events for views

 Action Description 

 logdnaat.view.create This event is generated when a view is created. 
 logdnaat.view.update This event is generated when a view is updated. This event is also generated when an alert is attached or dettached from a view. 
 logdnaat.view.delete This event is generated when a view is deleted. 



The following table lists custom fields that are included in these events:



Table 22. Custom fields for view actions

 Custom fields Description 

 requestData.name Defines the name of the view. 
 requestData.query Defines the search query that is applied to filter data in the view. 
 requestData.hosts Defines the list of hosts that are selected and whose data is included in the view. 
 requestData.apps Defines the list of apps that are selected and whose data is included in the view. 
 requestData.levels Defines the list of levels that are selected and whose data is included in the view. 
 requestData.category Defines the category where the view is included. 
 requestData.viewId Defines the view ID. 
 requestData.description Describes the view. 
 requestData.customLine Describes how the information is displayed in the view. 
 responseData.logdnaId Defines the Activity Tracker ID that is associated with the Activity Tracker instance. 







 Presets (alerts) 



Table 23. Events for alerts

 Action Description 

 logdnaat.alert.create This event is generated when an alert is created as a preset. 
 logdnaat.alert.update This event is generated when an alert is updated. 
 logdnaat.alert.delete This event is generated when an alert is deleted. 



The following table lists custom fields that are included in these events:



Table 24. Custom fields for view actions

 Custom fields Description 

 requestData.alertId Defines the preset ID.
For more information about this option, see [OrderedReady Pod Management](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/orderedready-pod-management)
* Parallel: With this option, the deployment of all stateful set replicas is started at the same time. If your app supports parallel deployment of replicas, then use this option to save deployment time for your PVCs and stateful set replicas.



matchLabels
: In the spec selector section, enter all labels that you want to include in your stateful set and your PVC. Labels that you include in the volumeClaimTemplates of your stateful set are not recognized by Kubernetes. Sample labels that you might want to include are:



* region and zone: If you want all your stateful set replicas and PVCs to be created in one specific zone, add both labels. You can also specify the zone and region in the storage class that you use. If you don't specify a zone and region and you have a multizone cluster, the zone in which your storage is provisioned is selected on a round-robin basis to balance volume requests evenly across all zones.
* billingType: Enter the billing type that you want to use for your PVCs. Choose between hourly or monthly. If you don't specify this label, all PVCs are created with an hourly billing type.



labels
: In the spec template metadata section, enter the same labels that you added to the spec.selector.matchLabels section.

affinity
: In the spec template spec section, specify your anti-affinity rule to ensure that your stateful set pods are distributed across worker nodes and zones. The example shows an anti-affinity rule where the stateful set pod prefers not to be scheduled on a worker node where a pod runs that has the app: nginx label. The topologykey: failure-domain.beta.kubernetes.io/zone restricts this anti-affinity rule even more and prevents the pod to be scheduled on a worker node if the worker node is in the same zone as a pod that has the app: nginx label.
Supported infrastructure providers 

With Red Hat® OpenShift® on IBM Cloud®, you can create a cluster from the following infrastructure providers. All the worker nodes in a cluster must be from the same provider. Originally, Red Hat OpenShift on IBM Cloud provisioned your worker nodes in a single provider, classic infrastructure.

Virtual Private Cloud

: Create your cluster on the next generation of IBM Cloud infrastructure virtual servers in your own Virtual Private Cloud (VPC).

Satellite

: Create your cluster on your own hardware, IBM Cloud Classic or VPC, or on virtual servers in another cloud provider like AWS or Azure.

Classic infrastructure

: Create your cluster on a classic compute, networking, and storage environment in IBM Cloud infrastructure.



 Virtual Private Cloud (VPC) 

Virtual Private Cloud



Table 1. VPC infrastructure overview.

 Component Description 

 Compute and worker node resources Worker nodes are created as virtual machines by using either shared infrastructure or dedicated hosts. Unlike classic clusters, VPC cluster worker nodes on shared hardware don't appear in your infrastructure portal or a separate infrastructure bill. Instead, you manage all maintenance and billing activity for the worker nodes through Red Hat OpenShift on IBM Cloud. Your worker node instances are connected to certain VPC instances that do reside in your infrastructure account, such as the VPC subnet or storage volumes. For dedicated hosts, the dedicated host price covers the vCPU, memory, and any instance storage to be used by any workers placed on the host. For dedicated hosts, the dedicated host price covers the vCPU, memory, and any [instance storage](https://cloud.ibm.com/docs/vpc?topic=vpc-instance-storage) to be used by any workers placed on the host. Note that all Intel® x86-64 servers have Hyper-Threading enabled by default. For more information, see [Intel Hyper-Threading Technology](https://cloud.ibm.com/docs/vpc?topic=vpc-profilesvpc-intel-hyper-threading). 
 Security Clusters on shared hardware run in an isolated environment in the public cloud. Clusters on dedicated hosts do not run in a shared environment, instead only your clusters are present on your hosts.
Custom fields for user-metadata related actions

 Custom fields Description 

 feature Defines a logging administrative feature. <br>Valid value is export-configuration. 
 requestData.configResources Defines the list of resources that a user chooses to export or import. 
 responseData.logdnaId Defines the logging ID that is associated with the IBM Log Analysis instance. 









 Data events 



 Views 



Table 16. Events for views

 Action Description 

 logdna.view.create This event is generated when a view is created. 
 logdna.view.update This event is generated when a view is updated. This event is also generated when an alert is attached or dettached from a view. 
 logdna.view.delete This event is generated when a view is deleted. 



The following table lists custom fields that are included in these events:



Table 17. Custom fields for view actions

 Custom fields Description 

 requestData.name Defines the name of the view. 
 requestData.query Defines the search query that is applied to filter data in the view. 
 requestData.hosts Defines the list of hosts that are selected and whose data is included in the view. 
 requestData.apps Defines the list of apps that are selected and whose data is included in the view. 
 requestData.levels Defines the list of levels that are selected and whose data is included in the view. 
 requestData.category Defines the category where the view is included. 
 requestData.viewId Defines the view ID. 
 requestData.description Describes the view. 
 requestData.customLine Describes how the information is displayed in the view. 
 responseData.logdnaId Defines the logging ID that is associated with the IBM Log Analysis instance. 







 Presets (alerts) 



Table 18. Events for alerts

 Action Description 

 logdna.alert.create This event is generated when an alert is created as a preset. 
 logdna.alert.update This event is generated when an alert is updated. 
 logdna.alert.delete This event is generated when an alert is deleted. 



The following table lists custom fields that are included in these events:



Table 19. Custom fields for view actions
For more information, see [Setting up Setting up Block Storage for VPC](https://cloud.ibm.com/docs/containers?topic=containers-vpc-block).



 Quick start for IBM Cloud Block Storage for Classic 

In this quick start guide, you create a 24Gi silver tier Block Storage for Classic volume in your cluster by creating a PVC to dynamically provision the volume. Then, you create an app deployment that mounts your PVC.

First time using Block Storage for Classic in your cluster? Come back here after you have the [installed the Block Storage for Classic plug-in](https://cloud.ibm.com/docs/containers?topic=containers-block_storageinstall_block).



1. Save the following persistent volume claim (PVC) configuration to a file called pvc.yaml.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-storage-pvc
labels:
billingType: "hourly"
region: us-east
zone: wdc07
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 45Gi
storageClassName: ibmc-block-silver
2. Apply the configuration to your cluster to create the PVC.

kubectl apply -f pvc.yaml
3. Wait until your PVC is in the Bound status. You can check the status by running the following command.

kubectl get pvc
4. After your PVC is Bound, create an app deployment that uses your PVC. Save the following deployment configuration to a file called deployment.yaml.

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
labels:
app: my-app
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
If a stateful set is not fully deployed yet, wait until the deployment is finished before you proceed.
3. Create a configuration file for your stateful set and the service that you use to expose the stateful set.

Example stateful set that specifies a zone. The following example shows how to deploy NGINX as a stateful set with 3 replicas. For each replica, a 20 gigabyte File Storage for Classic device is provisioned based on the specifications in the ibmc-file-retain-bronze storage class. All storage devices are provisioned in the dal10 zone. Because File Storage for Classic can't be accessed from other zones, all replicas of the stateful set are also deployed onto worker nodes that are located in dal10.

apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: nginx
spec:
serviceName: "nginx"
replicas: 3
podManagementPolicy: Parallel
selector:
matchLabels:
app: nginx
billingType: "hourly"
region: "us-south"
zone: "dal10"
template:
metadata:
labels:
app: nginx
billingType: "hourly"
region: "us-south"
zone: "dal10"
spec:
containers:
- name: nginx
image: k8s.gcr.io/nginx-slim:0.8
ports:
- containerPort: 80
name: web
volumeMounts:
- name: myvol
mountPath: /usr/share/nginx/html
volumeClaimTemplates:
- metadata:
name: myvol
spec:
accessModes:
- ReadWriteOnce
A prerequisite for a VLAN interface creation is that you must define a VPC subnet in the VPC Zone prefix.

VLAN interfaces are provisioned with IP and MAC address. They are always provisioned to a specific subnet, and you can either use VPC to allocate the IP, or define the IP address of the available IP addresses in the VPC subnet. When configuring the network settings in VMs Operating System, you can use either static network configurations or DHCP. If you want to use DHCP, you must modify the VMs vNIC MAC address to match the provisioned VLAN interface MAC address. For static IP usage, no special changes are needed, and you might use VMware provided MAC address.

[VMware vSphere vMotion](https://www.vmware.com/fi/products/vsphere/vmotion.html) refers to live migration of workloads from one ESXi host to another. If the VM needs to support vMotion, you must set the VLAN interface to floatable when provisioning it in VPC.

Floating configuration cannot be changed after the VLAN interface is created. However, you can re-create the VLAN interface, and use the same IP address to minimize required changes.

When you introduce a new VLAN ID to be used by a VLAN interface in bare metal server, ensure that the used VLAN IDs are included in the PCI interface VLAN allowlist. In a distributed vSwitch topology and when vMotion is used for a VM, ensure that the VLAN ID of this port group is included in the VLAN allowlist of all the IBM Cloud bare metal server part of the cluster.





 VPC access control lists (ACLs) and security groups (SGs) with VMware VMs on VPC subnets 

Bare metal server for VPC provides full support for VPC networking features. Network security capabilities, such as security groups and Access Control Lists (ACL) can be used with bare metal server PCI and VLAN interfaces.