[2026] EX380 Actual Exam Dumps, EX380 Practice Test GuideTorrent EX380 dumps Red Hat OpenShift sure practice dumps RedHat EX380 Exam Syllabus Topics: TopicDetailsTopic 1Manage workloads with cluster partitioning: Covers dedicating cluster nodes to specific workloads by configuring node pools, machine configurations, and special-purpose operators.Topic 2Manage cluster monitoring and metrics: Covers [...]

[2026] EX380 Actual Exam Dumps, EX380 Practice Test [Q21-Q38]

Share

[2026] EX380 Actual Exam Dumps, EX380 Practice Test

GuideTorrent EX380 dumps & Red Hat OpenShift sure practice dumps


RedHat EX380 Exam Syllabus Topics:

TopicDetails
Topic 1
  • Manage workloads with cluster partitioning: Covers dedicating cluster nodes to specific workloads by configuring node pools, machine configurations, and special-purpose operators.
Topic 2
  • Manage cluster monitoring and metrics: Covers troubleshooting application and cluster performance issues and managing alerts and notifications.
Topic 3
  • Provision and inspect cluster logging: Covers deploying and configuring OpenShift logging with Vector and Loki, forwarding logs externally, querying logs, and diagnosing logging issues.

 

NEW QUESTION # 21
Add a second Identity Provider (HTPasswd) alongside LDAP
Task Information : Configure multiple identity providers by adding an HTPasswd IDP without removing the existing LDAP IDP.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Create a local htpasswd file with a test user
* htpasswd -c -B -b /tmp/htpass.txt testuser RedHat123!
* -c creates a new file (use only once).
* -B uses bcrypt hashing (recommended).
* -b supplies password non-interactively (good for labs).
* Create the HTPasswd secret in openshift-config
* oc -n openshift-config create secret generic htpass-secret --from-file=htpasswd=/tmp/htpass.txt
* OAuth reads the htpasswd key from this secret.
* Edit OAuth and add the HTPasswd provider (keep LDAP intact)
* oc edit oauth cluster
Add another entry under spec.identityProviders:
- name: local-htpasswd
mappingMethod: claim
type: HTPasswd
htpasswd:
fileData:
name: htpass-secret
* This adds a second login option while preserving LDAP.
* Restart OAuth pods
* oc -n openshift-authentication delete pod -l app=oauth-openshift
* Ensures the updated list of identity providers is loaded.
* Verify login works for htpasswd user
* Log in via console using testuser.
* Confirm the user is created:
* oc get user testuser


NEW QUESTION # 22
Prevent workloads from running on dedicated nodes (taints)
Task Information : Apply a taint to dedicated nodes so only pods with tolerations can run there.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Taint nodes
* oc adm taint nodes worker-1 dedicated=payments:NoSchedule
* oc adm taint nodes worker-2 dedicated=payments:NoSchedule
* NoSchedule blocks new pods that do not tolerate the taint.
* Confirm taints
* oc describe node worker-1 | grep -i taints -A2
* Ensures taints are present.
* Validate effect
* A normal deployment without tolerations will remain Pending if it can only land on those tainted nodes.


NEW QUESTION # 23
Kubeconfig Management - Use Context

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
Step 1: Make sure the context already exists in the kubeconfig file.
This follows the context creation Task SIMULATION .
Step 2: Run the command:
oc config use-context audit --kubeconfig audit.config
Step 3: Confirm the active context switches successfully.
The lab output shows:
Switched to context "audit".
Detailed explanation:
This command activates the audit context inside the specified kubeconfig file. Once selected, subsequent oc commands using that kubeconfig will default to the cluster, user, and namespace associated with that context.
This is operationally important because many administration mistakes come from running commands against the wrong cluster or project. Using explicit context switching reduces that risk and makes the kubeconfig usable for the intended audit workflow. In exams and real environments alike, the context is what turns separate kubeconfig elements into a working session configuration. Without switching to the correct context, even a well-formed kubeconfig may not be used as expected.


NEW QUESTION # 24
Restore application into same namespace
Task Information : Restore from backup orders-full and validate the app resources return.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Start the restore
* velero restore create orders-restore --from-backup orders-full
* Monitor restore status
* velero restore get
* velero restore describe orders-restore --details
* Validate restored resources
* oc -n orders get all
* oc -n orders get pvc
* Ensure deployments/pods/services and PVCs exist and pods become Running.


NEW QUESTION # 25
Recover a NotReady worker node (basic remediation workflow)
Task Information : Diagnose a NotReady worker node and restore it to Ready state using standard OpenShift admin workflow.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Identify failing node and status
* oc get nodes
* Confirms which node is NotReady.
* Inspect node conditions and events
* oc describe node < worker >
* Shows kubelet condition issues (network, disk pressure, runtime, etc.).
* Check MachineConfigPool state
* oc get mcp
* oc describe mcp worker
* If MCP is degraded, node may be stuck applying a config.
* Check node logs (kubelet)
* oc adm node-logs < worker > --path=kubelet.log
* Often reveals why node isn't reporting Ready.
* Remediate based on symptom
* Examples:
* If out of disk: free space, then verify kubelet recovers.
* If stuck MCO: investigate current/desired config and fix broken MachineConfig.
* If node cordoned/drained incorrectly: uncordon after remediation.
* oc adm uncordon < worker >
* Confirm node returns Ready
* oc get node < worker >


NEW QUESTION # 26
Maintain group synchronization on a schedule (CronJob)
Task Information : Create a CronJob that runs LDAP group sync on a schedule using a service account that has the required permissions.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Create a namespace for the sync job
* oc new-project id-sync
* Keeps the automation components organized.
* Create a service account for the sync job
* oc -n id-sync create sa group-sync
* CronJob runs under this SA identity.
* Grant cluster permissions to manage groups
* oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:id-sync:group-sync
* In real environments you should scope down, but lab Task SIMULATIONs often accept cluster- admin for speed.
* Create a ConfigMap for groupsync.yaml and Secret(s) for bind password/CA
* Mount them into the job container.
* Create CronJob to run group sync
* Command inside job:
* oc adm groups sync --sync-config=/config/groupsync.yaml --confirm
* The CronJob ensures periodic reconciliation with LDAP.
* Verify job runs
* oc -n id-sync get cronjob
* oc -n id-sync get jobs
* oc -n id-sync logs job/ < job-name >


NEW QUESTION # 27
Deploy Event Router and capture Kubernetes events in logging
Task Information : Deploy an event router so Kubernetes events are recorded as logs, then trigger events and confirm they appear in logging queries.

Answer:

Explanation:
See the solution below in Explanation:
* Deploy event router resources
* Apply a deployment/serviceaccount/rolebinding manifest for eventrouter:
* oc apply -f eventrouter.yaml -n openshift-logging
* Eventrouter watches event API and writes them to stdout (collected by logging).
* Verify eventrouter pod is running
* oc -n openshift-logging get pods | grep -i event
* Trigger some events
* oc -n default run evtest --image=busybox --restart=Never -- sleep 1
* oc -n default delete pod evtest
* Creation/deletion generates events.
* Query logs for events
* In the logging UI/backend, search for the namespace/pod name evtest or eventrouter messages.
* Explanation: Validates that events are being converted to searchable logs.


NEW QUESTION # 28
Create an Argo CD Application (OpenShift GitOps)
Task Information : Create an Argo CD Application that syncs from Git into namespace gitops-demo with automated sync enabled.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Create target namespace
* oc new-project gitops-demo
* Destination must exist (unless Argo is configured to auto-create).
* Create Application manifest
* apiVersion: argoproj.io/v1alpha1
* kind: Application
* metadata:
* name: demo-app
* namespace: openshift-gitops
* spec:
* project: default
* source:
* repoURL: https://git.example.com/org/repo.git
* targetRevision: main
* path: manifests/demo
* destination:
* server: https://kubernetes.default.svc
* namespace: gitops-demo
* syncPolicy:
* automated:
* prune: true
* selfHeal: true
* automated: enables auto sync.
* prune: removes deleted objects from Git.
* selfHeal: corrects drift.
* Apply Application
* oc apply -f demo-app.yaml
* Verify sync health
* oc -n openshift-gitops get application demo-app -o yaml | grep -i -E "sync|health" -n
* oc -n gitops-demo get all


NEW QUESTION # 29
Configure log forwarding to an external endpoint
Task Information : Configure Cluster Logging to forward application logs to an external output using ClusterLogForwarder.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Verify logging namespace and resources
* oc get ns openshift-logging
* oc -n openshift-logging get clusterlogforwarder
* ClusterLogForwarder configures pipelines and outputs.
* Create/Edit ClusterLogForwarder (example structure)
* Define an output (external system) and pipeline selecting application logs.
* Apply via YAML:
* oc -n openshift-logging apply -f clusterlogforwarder.yaml
* Validate collector pods are healthy
* oc -n openshift-logging get pods
* Forwarding relies on collectors (vector/fluentd depending config).
* Generate a test log line
* oc -n openshift-logging run logger --image=busybox --restart=Never -- /bin/sh -c 'echo hello- forwarding; sleep 5'
* This creates a known message to search in the external endpoint.
* Confirm logs arrive at destination
* Use your external system's query/search to confirm hello-forwarding.


NEW QUESTION # 30
Configure BackupStorageLocation and VolumeSnapshotLocation
Task Information : Configure OADP/Velero storage locations and confirm they show as Available.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Create a secret for cloud credentials (S3-compatible example)
* oc -n openshift-adp create secret generic cloud-credentials \
* --from-file=cloud=/path/to/credentials
* Velero uses this secret to authenticate to object storage.
* Create/Update the DataProtectionApplication (DPA)
* Apply a DPA CR that defines:
* backupLocations (bucket, endpoint URL, region, etc.)
* snapshotLocations (if using snapshots)
* Verify BackupStorageLocation and SnapshotLocation
* velero backup-location get
* velero snapshot-location get
* Status should be Available, meaning storage config is valid.
==========


NEW QUESTION # 31
Backup and Restore - Fix SCC for Restored Application

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
Step 1: Identify the application namespace after restore.
The lab shows the namespace as my-app-namespace.
Step 2: Run the SCC assignment command:
oc adm policy add-scc-to-user anyuid -z default -n my-app-namespace
Step 3: Confirm the role binding is applied.
The lab output shows:
clusterrole.rbac.authorization.k8s.io/system:openshift:scc:anyuid added: "default" Detailed explanation:
After a restore, the application may fail if its pods require a security context not permitted by the default SCC allocation. This command grants the anyuid SCC to the default service account in the my-app-namespace project. The -z default syntax targets the default service account, which many restored workloads use if no custom service account is defined. The anyuid SCC allows containers to run with arbitrary user IDs, which some legacy or prebuilt images require. In OpenShift, SCC mismatches commonly cause pods to remain in pending or crash-related states. Assigning the proper SCC resolves those admission issues so workloads can start successfully. This step is therefore a post-restore operational fix to align security policy with application requirements.


NEW QUESTION # 32
Backup and Restore - Restore Application from Existing Backup

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
Step 1: Make sure Velero is installed and configured in the environment.
The Task SIMULATION assumes an existing backup named backup-app-daily is already present.
Step 2: Run the restore command:
velero restore create --from-backup backup-app-daily
Step 3: Confirm the restore request is submitted.
The lab output shows:
Restore request "backup-app-daily-2024" submitted successfully.
Detailed explanation:
This command instructs Velero to create a restore operation using the existing backup called backup-app- daily. Velero is commonly used to protect Kubernetes and OpenShift resources by backing up object definitions and, when configured, persistent data integrations. The command does not manually recreate resources one by one; instead, it leverages the metadata captured during backup. A successful restore submission means the request has been accepted, not necessarily that every object has already been fully restored. In practical administration, you would often follow this by checking restore status and validating the application namespace, pods, services, routes, and storage bindings. This lab Task SIMULATION focuses specifically on initiating the restore from the named backup source.


NEW QUESTION # 33
Identity Management - Create CA ConfigMap

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
Step 1: Ensure the certificate file rhds_ca.crt is available in your current working directory or use the correct path.
The Task requires creating a configmap from this CA certificate file.
Step 2: Run the command:
oc create configmap rhds-ca-config-map --from-file ca.crt=rhds_ca.crt -n openshift-config Step 3: Confirm the configmap is created.
The lab output shows:
configmap/rhds-ca-config-map created
Detailed explanation:
This creates a configmap named rhds-ca-config-map in the openshift-config namespace and maps the local file rhds_ca.crt to the key name ca.crt inside the configmap. This is important in external identity integration because OpenShift may need to trust a custom certificate authority when communicating with LDAP or another secured external service. By placing the certificate in a configmap, the authentication operator or related cluster configuration can reference it cleanly. The key name matters because many OpenShift resources expect a CA bundle key with a specific filename-like convention. If the file path is wrong, the command fails immediately. If the configmap name or key mapping is wrong, the authentication provider referencing it may not trust the external endpoint.


NEW QUESTION # 34
Configure project-wide default tolerations
Task Information : Configure the payments namespace so new pods automatically include a default toleration.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Annotate the namespace with default tolerations
* oc annotate ns payments \
* scheduler.alpha.kubernetes.io/defaultTolerations='[{"key":"dedicated","operator":"Equal","value":" payments","effect":"NoSchedule"}]' \
* --overwrite
* Some clusters honor this pattern; if not, the fallback is mutating admission or editing workloads.
* Create a new pod/deployment in the namespace
* Then verify its spec includes tolerations:
* oc -n payments get pod < pod > -o yaml | grep -n tolerations -A5


NEW QUESTION # 35
Create a full application backup (resources + PV data)
Task Information : Create a Velero backup of namespace orders including PV snapshots.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Confirm resources and PVCs exist
* oc -n orders get all
* oc -n orders get pvc
* Ensures there is something meaningful to back up.
* Create backup including volume snapshots
* velero backup create orders-full --include-namespaces orders --snapshot-volumes
* Captures Kubernetes objects and requests PV snapshots where supported.
* Check status/details
* velero backup describe orders-full --details
* velero backup logs orders-full
* Review warnings/errors and confirm snapshot actions.


NEW QUESTION # 36
Kubeconfig Management - Approve CSR

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
Step 1: Identify the pending certificate signing request.
The lab names it audit-csr.
Step 2: Run the approval command:
oc adm certificate approve audit-csr
Step 3: Confirm approval.
The lab output shows:
certificatesigningrequest.certificates.k8s.io/audit-csr approved
Detailed explanation:
In Kubernetes and OpenShift, a CSR must be approved before the requester can use the signed certificate for authentication. This Task approves the CSR named audit-csr, which is likely associated with the audit user or service account access flow in the lab. Certificate-based authentication is commonly used for kubeconfig access because it enables secure client identity without relying solely on tokens. Until the CSR is approved, the certificate cannot be trusted by the cluster API for authenticated operations. Administrative approval is therefore a gatekeeping step that ensures only intended certificate requests become valid credentials. This Task is part of a broader kubeconfig workflow that continues with setting credentials and defining context.


NEW QUESTION # 37
Export and import container images (mirror to internal registry)
Task Information : Pull an image from an external registry, push it into the OpenShift internal registry, and update a deployment to use the mirrored image.

Answer:

Explanation:
See the solution below in Explanation:
Explanation:
* Log in to OpenShift internal registry
* oc registry login
* Allows podman to push to the internal registry.
* Pull external image
* podman pull docker.io/library/nginx:1.25
* Gets the image locally.
* Tag for internal registry destination
* podman tag nginx:1.25 image-registry.openshift-image-registry.svc:5000/orders/nginx:1.25
* Uses the cluster service DNS name (works inside cluster network).
* Push to internal registry
* podman push image-registry.openshift-image-registry.svc:5000/orders/nginx:1.25
* Update deployment to use internal image
* oc -n orders set image deploy/web web=image-registry.openshift-image-registry.svc:5000/orders/nginx:
1.25
* Verify rollout
* oc -n orders rollout status deploy/web
* oc -n orders get pods -o wide


NEW QUESTION # 38
......

EX380 Actual Questions and Braindumps: https://www.guidetorrent.com/EX380-pdf-free-download.html

Pass EX380 Exam with Updated EX380 Exam Dumps PDF 2026: https://drive.google.com/open?id=1cq4XHl2Hsy0TVAGzEtne2UdSjRzsNeka