Courseiva

Red Hat Certified OpenShift Administrator (EX280, OpenShift Container Platform 4.14+) (EX280) (EX280) — Questions 175

509 questions total · 7pages · All types, answers revealed

Page 1 of 7

Page 2
1
MCQeasy

Which component in OpenShift 4.14 manages the creation and deletion of compute machines (VMs or physical servers) on cloud providers or bare metal?

A.Operator Lifecycle Manager
B.Machine Config Operator
C.Cluster Version Operator
D.Machine API Operator
AnswerD

The Machine API Operator provisions and manages compute nodes via the Machine API.

Why this answer

The Machine API Operator manages the underlying compute infrastructure using Custom Resources such as Machines and MachineSets.

2
MCQhard

An OpenShift cluster's SDN (OVN-Kubernetes) experiences packet loss between nodes. The administrator needs to inspect the Open vSwitch (OVS) flow tables on a specific worker node. How should they access the node to run 'ovs-ofctl dump-flows'?

A.oc adm diagnostics ovs
B.oc debug node/<node-name> -- chroot /host ovs-ofctl dump-flows br-int
C.oc exec daemonset/ovn-controller -- ovs-ofctl dump-flows
D.oc rsh daemonset/ovnkube-node
AnswerB

This command runs chroot on the host filesystem via oc debug to directly execute OVS commands.

Why this answer

Using oc debug node/<node-name> provides a shell where chroot /host allows executing host-level commands like ovs-ofctl.

3
MCQeasy

Which component in OpenShift 4.14 is responsible for orchestrating the upgrade of the entire cluster from one minor version to another?

A.Machine Config Operator (MCO)
B.Cluster Version Operator (CVO)
C.Cluster Infrastructure Operator (CIO)
D.Operator Lifecycle Manager (OLM)
AnswerB

The CVO is the core operator responsible for driving OpenShift cluster installation and version updates.

Why this answer

The Cluster Version Operator (CVO) manages the core components of OpenShift and orchestrates cluster upgrades based on the requested channel and version.

4
Multi-Selecteasy

Which TWO objects are used by OLM to manage Operator catalogs and sources of software in OpenShift 4.14? (Choose TWO)

Select 2 answers
A.ClusterVersion
B.MachineSet
C.OperatorGroup
D.MachineConfigPool
E.CatalogSource
AnswersC, E

OperatorGroup defines namespace scoping for operators.

Why this answer

CatalogSource and OperatorGroup are key OLM components for catalog management and scoping.

5
Multi-Selecteasy

Which THREE of the following actions can a user with the default OpenShift 'view' role perform within a project? (Choose THREE)

Select 3 answers
A.Delete PersistentVolumeClaims
B.View ConfigMaps
C.Modify RoleBindings within the project
D.List and read Pods
E.View Deployments and Services
AnswersB, D, E

ConfigMaps are readable by the 'view' role.

Why this answer

The 'view' role permits viewing pods, services, deployments, and configmaps, but restricts secrets.

6
Multi-Selecthard

Which THREE of the following rules must be included in a custom ClusterRole to allow monitoring tools to scrape cluster-wide component metrics securely? (Choose THREE)

Select 3 answers
A.apiGroups: [''], resources: ['services', 'endpoints', 'pods'], verbs: ['get', 'list', 'watch']
B.apiGroups: ['metrics.k8s.io'], resources: ['pods', 'nodes'], verbs: ['get', 'list']
C.apiGroups: ['rbac.authorization.k8s.io'], resources: ['clusterroles'], verbs: ['*']
D.apiGroups: [''], resources: ['nodes/metrics', 'nodes/proxy'], verbs: ['get']
E.apiGroups: ['apps'], resources: ['deployments'], verbs: ['delete']
AnswersA, B, D

Monitoring scrapers need to discover and read services, endpoints, and pods cluster-wide.

Why this answer

Scraping metrics cluster-wide typically requires verbs like 'get' and 'list' on resources such as nodes/metrics, pods, and services or endpoints.

7
MCQmedium

What is the primary difference between a Deployment and a DeploymentConfig in OpenShift?

A.Deployments support triggers, DeploymentConfigs do not
B.Deployments can be scaled, DeploymentConfigs cannot
C.DeploymentConfigs are OpenShift-specific
D.DeploymentConfigs do not support rollbacks
AnswerC

DeploymentConfigs are unique to OpenShift, whereas Deployments are standard Kubernetes.

Why this answer

DeploymentConfigs are native OpenShift objects that support triggers and lifecycle hooks, while Deployments are standard Kubernetes resources.

8
Multi-Selecthard

An administrator is troubleshooting a custom MachineConfig that failed to apply across a worker MachineConfigPool. Which THREE diagnostic steps or resources should the administrator check? (Choose THREE)

Select 3 answers
A.Check the Cluster Version Operator logs for container registry pull errors.
B.Review the logs of the machine-config-daemon pods on the affected nodes.
C.Verify the OLM CatalogSource status.
D.Check the MachineConfigPool status conditions for Degraded or Updating status.
E.Inspect the rendered MachineConfig object generated by the MCO.
AnswersB, D, E

Daemon logs show ignition parsing and file write errors on nodes.

Why this answer

To diagnose MachineConfig application failures, check pool status conditions, machine-config-daemon pod logs, and rendered MachineConfigs.

9
MCQhard

An administrator notices that a namespace has exceeded its object count quota for ConfigMaps. When a developer attempts to create a new ConfigMap, what error response is returned by the API server?

A.HTTP 403 Forbidden with a message stating the resource quota has been exceeded
B.HTTP 401 Unauthorized forcing the user to re-authenticate
C.HTTP 200 OK, but the ConfigMap is placed in a pending state until quota frees up
D.HTTP 504 Gateway Timeout because the controller manager is blocked
AnswerA

Exceeding a ResourceQuota results in admission rejection with an explanation of the quota violation.

Why this answer

When a ResourceQuota is exceeded, the API server rejects the admission request with a 403 Forbidden or 422 Unprocessable Entity error indicating the quota has been exceeded.

10
MCQhard

You have a build that fails because it requires access to a private repository. What is the correct way to provide credentials to the build?

A.Associate a secret with the BuildConfig
B.Hardcode credentials in the Dockerfile
C.Use an environment variable in the deployment
D.Mount a ConfigMap
AnswerA

Using a secret is the secure way to provide credentials for source code repositories.

Why this answer

You can add a Secret to the BuildConfig that contains the credentials for the private repository.

11
MCQeasy

An administrator is auditing Pod Security Standards compliance across several namespaces in an OpenShift cluster. Which namespace label must be applied to enforce the restricted Pod Security standard while logging violations?

A.pod-security.kubernetes.io/enforce: restricted
B.pod-security.openshift.io/standard: restricted
C.security.openshift.io/scc.enforce: restricted
D.openshift.io/cluster-monitoring: "true"
AnswerA

This label enforces the restricted Pod Security Standard, blocking non-compliant pods.

Why this answer

To enforce a standard while generating audit log violations, the audit level is set to enforce while warning/audit levels are configured via namespace labels.

12
MCQmedium

You need to update an application without downtime. Which deployment strategy is most appropriate?

A.Canary
B.Blue-Green
C.Recreate
D.Rolling
AnswerD

Rolling updates replace pods one by one or in batches, avoiding downtime.

Why this answer

The Rolling strategy replaces pods incrementally, ensuring capacity is maintained throughout.

13
MCQmedium

An administrator needs to configure a new project so that pods deployed within it run with the restricted-v2 Security Context Constraint by default. Which action should the administrator perform?

A.Annotate the Namespace with security.openshift.io/scc: restricted-v2
B.Edit the default cluster-wide SCC object directly to set restricted-v2 as priority zero
C.Create a RoleBinding linking the restricted-v2 ClusterRole to the system:authenticated group
D.Patch the PodSecurity standards admission configuration in the APIServer resource
AnswerA

This annotation instructs the SCC admission plugin to assign restricted-v2 as the default for pods in the namespace.

Why this answer

Applying the security.openshift.io/scc: restricted-v2 annotation to the Namespace forces pods requesting no specific SCC to default to restricted-v2 via admission control.

14
MCQmedium

An administrator wants to check the health and availability status of all core OpenShift 4.14 cluster operators (such as authentication, ingress, and dns). Which command should be used?

A.oc get csv
B.oc get operators --all-namespaces
C.oc adm cluster-health
D.oc get clusteroperators
AnswerD

oc get clusteroperators lists all core platform operators and their health statuses.

Why this answer

The 'oc get clusteroperators' command lists all cluster operators, their availability, progression, and degraded status.

15
Multi-Selecteasy

An administrator wants to inspect cluster events filtered by warning type. Which TWO commands or techniques can help? (Choose TWO)

Select 2 answers
A.oc describe pod <pod-name> (to view recent warning events for that pod).
B.oc get events --field-selector type=Warning
C.oc get clusterversion --warnings
D.oc logs --warnings
E.oc adm must-gather --warnings-only
AnswersA, B

Displays warning events specific to the targeted pod.

Why this answer

Filtering events via oc get events or inspecting descriptions helps identify cluster warnings.

16
MCQeasy

Which command displays all projects that the currently logged-in user has permission to access?

A.oc projects
B.oc list accessible-namespaces
C.oc auth list-projects
D.oc get projects
AnswerA

The 'oc projects' command safely lists all accessible projects for the current user.

Why this answer

The 'oc projects' command lists all projects accessible to the current user session.

17
MCQeasy

An administrator wants to view the logs of a specific container named 'backend' inside a pod with multiple containers. Which command should be used?

A.oc logs pod/my-pod backend
B.oc rsh pod/my-pod backend
C.oc describe pod/my-pod -c backend
D.oc logs pod/my-pod -c backend
AnswerD

The -c flag correctly specifies which container's logs to retrieve from a multi-container pod.

Why this answer

When a pod has multiple containers, the container name must be explicitly specified with the -c flag in the oc logs command.

18
MCQmedium

A developer deploys an application that mounts a PVC in read-only mode inside the pod specification. How is this configured in the Pod's volumeMounts?

A.Set accessModes to ReadOnlyMany on the PVC object.
B.Set readOnly: true in the container's volumeMounts entry.
C.Set volumeMode: ReadOnly in the PVC spec.
D.Annotate the PVC with 'volume.beta.kubernetes.io/readonly'.
AnswerB

volumeMounts supports the readOnly boolean flag per container mount.

Why this answer

Setting 'readOnly: true' in the pod's volumeMounts array mounts the PVC in read-only mode for that container.

19
Multi-Selecthard

Which THREE commands are used to manage service account secrets?

Select 3 answers
A.oc secret create
B.oc secrets link
C.oc secrets add
D.oc secrets new-dockercfg
E.oc secret update
AnswersB, C, D

This links a secret to a service account.

Why this answer

Service accounts use secrets for pull credentials and API tokens.

20
MCQhard

An administrator wants to perform a manual rollback of a MachineConfig change that caused issues on worker nodes. What is the standard way to revert to the previous configuration using the Machine Config Operator?

A.Reboot each worker node into the previous GRUB menu entry manually via IPMI.
B.Run 'oc rollback machineconfigpool worker'.
C.Run 'oc adm node-rollback --pool=worker'.
D.Delete the problematic MachineConfig object, causing the MCO to automatically roll back nodes to the previous configuration.
AnswerD

Deleting the unwanted MachineConfig causes the MCO to re-render the ignition config and revert nodes.

Why this answer

To rollback a MachineConfig, the administrator can delete the erroneous MachineConfig object, and the MCO will automatically revert the nodes to the previous valid configuration.

21
MCQhard

An administrator needs to roll back a Deployment in OpenShift to a specific previous revision because the latest update introduced a critical database connection bug. Which command identifies the available revisions and their associated change causes before executing the rollback?

A.oc get replicasets --selector=app=my-app
B.oc get deployment/<deployment-name> -o yaml
C.oc describe deploymentconfig <deployment-config-name>
D.oc rollout history deployment/<deployment-name>
AnswerD

'oc rollout history' displays all recorded revisions for a deployment along with their change causes.

Why this answer

The 'oc rollout history' command lists the deployment revisions and their associated change causes.

22
Multi-Selectmedium

Which TWO characteristics describe StorageClasses in OpenShift?

Select 2 answers
A.They specify the provisioner plugin responsible for creating volumes.
B.They store the actual application data files.
C.They are namespace-scoped and unique to each project.
D.They can only be created by unprivileged developer users.
E.They are cluster-scoped resources.
AnswersA, E

Every StorageClass requires a provisioner field.

Why this answer

StorageClasses are cluster-scoped resources that define the provisioner and parameters for dynamic volume creation.

23
MCQeasy

An administrator needs to secure a Route using a custom wildcard certificate. The certificate and private key are stored in a TLS Secret named wildcard-tls-secret in the same namespace as the Route. Which section of the Route manifest should reference this Secret?

A.spec.backend.tlsSecret.
B.spec.tls with termination: edge and certificate, key, and caCertificate fields pointing to the secret keys.
C.spec.wildcardPolicy with secretName: wildcard-tls-secret.
D.metadata.annotations using the route.openshift.io/tls-secret annotation.
AnswerB

The spec.tls block defines the termination strategy and references the secret keys.

Why this answer

Custom TLS certificates for routes are configured under the spec.tls block of the Route resource, referencing the certificate and key components in a TLS secret.

24
MCQmedium

An administrator notices that Ingress controller logs show frequent health check failures for backend pods. Where can the administrator check or configure the liveness and readiness probes that dictate pod health for service endpoints?

A.In the IngressController custom resource spec
B.In the Deployment pod template spec under livenessProbe and readinessProbe
C.In the Service specification under healthCheckNodePort
D.In the DNS operator configuration
AnswerA, B

Wait, IngressController configures router parameters, but pod probes are strictly workload properties. (Correction: Option A is correct, container probes belong in the pod template).

Why this answer

Liveness and readiness probes are configured directly within the Pod template spec of the Deployment or Pod resource.

25
Multi-Selectmedium

An administrator is investigating why cluster operator upgrades are failing. Which TWO locations or commands provide detailed diagnostic information about cluster operators? (Choose TWO)

Select 2 answers
A.Run 'oc describe clusteroperator <operator-name>' to inspect status conditions and messages.
B.Check the global DNS configuration map in the default namespace.
C.Inspect the logs of the operator's controller pods running in their respective namespaces.
D.Run 'oc adm cluster-operator-reset --all'.
E.Inspect the MachineConfigPool status conditions for OLM errors.
AnswersA, C

Describe output shows specific error messages and failure conditions for the operator.

Why this answer

To diagnose cluster operators, administrators inspect individual cluster operator status ('oc describe clusteroperator') and check logs of operator pods.

26
MCQhard

An administrator needs to perform a canary deployment strategy using standard OpenShift Deployment resources (not DeploymentConfigs). What is the standard Kubernetes/OpenShift native mechanism to route a small percentage of traffic to the canary deployment?

A.Setting the traffic-split annotation on the Deployment resource
B.Using an OpenShift Route with weighted backend services pointing to stable and canary Services
C.Configuring weight parameters directly in the Deployment spec rollingUpdate strategy
D.Enabling canary mode in the ImageStream tag metadata
AnswerB

OpenShift Routes support weighted traffic distribution across multiple Services to implement canary routing.

Why this answer

Standard Deployments do not have native percentage-based traffic splitting; an administrator must use a Service with multiple underlying selector labels alongside a Service Mesh, Ingress controller, or an OpenShift Route with weight configurations pointing to distinct Services. Specifically, OpenShift Routes support splitting traffic via weighted backends across multiple Services.

27
MCQeasy

An ImageStream named 'frontend' in a project contains multiple tags, including 'latest' and 'v1.0'. You want to update an existing Deployment to specifically use the 'v1.0' tag of this ImageStream. Where must this reference be updated in the Deployment specification?

A.In the spec.imageStreamRef field.
B.In the metadata.annotations['openshift.io/image.in-cluster'] field.
C.In the spec.template.spec.containers[].image field pointing to image-registry.openshift-image-registry.svc:5000/namespace/frontend:v1.0.
D.In the spec.strategy.rollingUpdate.image field.
AnswerC

Deployments reference ImageStreams via the internal registry URL path format namespace/imagestream:tag.

Why this answer

ImageStreamTags or ImageStreamImages are referenced inside the container image field within the pod template of a Deployment.

28
MCQeasy

An administrator needs to verify which user account or service account they are currently logged into the OpenShift cluster with. Which command provides this information?

A.oc whoami
B.oc user-info
C.oc auth current-user
D.oc get user --current
AnswerA

oc whoami outputs the current authenticated user identity.

Why this answer

oc whoami returns the username of the currently authenticated user session.

29
MCQmedium

You need to ensure that your application deployment always maintains at least 80% of its desired pod count during a rolling update. Which strategy parameter should you configure?

A.maxUnavailable: 20%
B.minReadySeconds: 20
C.maxSurge: 20%
D.rollingUpdatePeriod: 20%
AnswerA

Setting maxUnavailable to 20% allows the deployment to tolerate a 20% reduction in capacity, maintaining 80% availability.

Why this answer

The maxUnavailable parameter defines the maximum number of pods that can be unavailable during the update process. Setting this to 20% ensures 80% availability.

30
MCQeasy

An administrator wants to check the resource requests and limits across all pods in a specific namespace. Which command provides this summary?

A.oc get quota
B.oc describe namespace my-namespace
C.oc get pods -o custom-columns=NAME:.metadata.name,CPU:.spec.containers[*].resources.requests.cpu
D.oc adm top pod -n my-namespace
AnswerC

Custom columns allow extracting specific resource requests and limits from pod specifications.

Why this answer

oc adm top pod lists CPU and memory usage for pods, while describing or querying pod YAML specifications reveals requests and limits.

31
Multi-Selectmedium

An administrator is troubleshooting an Operator installation issue in OpenShift 4.14. Which TWO resources or logs should the administrator examine to diagnose OLM operator subscription and CSV issues? (Choose TWO)

Select 2 answers
A.Review the MachineConfigPool status in openshift-machine-api.
B.Check the cluster-wide node storage provisioning logs.
C.Review the ClusterVersion resource status conditions.
D.Inspect the ClusterServiceVersion (CSV) status and conditions.
E.Inspect the Subscription object status in the target namespace.
AnswersD, E

The CSV resource details whether the operator installed successfully or encountered errors.

Why this answer

To troubleshoot OLM operators, checking the Subscription status and the ClusterServiceVersion (CSV) status provides the necessary error details.

32
MCQeasy

An administrator needs to completely remove a Helm release named my-redis from the cluster, including its history. Which Helm command should be executed?

A.helm remove my-redis
B.helm delete my-redis --purge
C.helm uninstall my-redis
D.helm drop my-redis
AnswerC

helm uninstall removes all resources associated with the release and deletes the release history.

Why this answer

The helm uninstall command removes the release and its associated history from the cluster.

33
MCQmedium

A developer needs to know if their pod's service account has permissions to create pods in another namespace named 'target-ns'. Which command can the developer run to check this?

A.oc auth can-i create pods -n target-ns
B.oc get rolebindings -n target-ns --user=self
C.oc check-permission create pods -n target-ns
D.oc describe authorization -n target-ns
AnswerA

This command evaluates the current user's permissions against the target namespace.

Why this answer

The developer can use 'oc auth can-i create pods --namespace=target-ns' to check their own permissions, or specify their service account token if testing externally.

34
MCQeasy

Where are PersistentVolumeClaims located in terms of OpenShift's API scope?

A.They are node-scoped resources.
B.They are namespaced resources.
C.They are global resources shared across all clusters in a fleet.
D.They are cluster-scoped resources.
AnswerB

PVCs exist within specific namespaces/projects.

Why this answer

PersistentVolumeClaims are namespace-scoped resources, whereas PersistentVolumes and StorageClasses are cluster-scoped.

35
MCQhard

A pod fails to start in a restricted namespace because it attempts to bind to a privileged host port (port 80). The administrator wants to create a custom SCC that permits binding to privileged ports only for this specific application workload, without granting full root privileges. Which custom SCC configuration field should be explicitly set?

A.allowHostPorts: true
B.runAsUser.type: RunAsAny
C.allowPrivilegedContainer: true
D.privileged: true
AnswerA

Setting allowHostPorts to true allows pods to bind to ports on the host node, including privileged ports.

Why this answer

Allowing pods to bind to privileged ports (< 1024) is controlled by setting allowHostPorts to true or defining allowedHostPorts in a custom SCC.

36
MCQhard

An administrator is troubleshooting an Ingress routing issue where external clients receive a 503 error when trying to access a secure application through a Route configured with passthrough TLS termination. What is the most likely cause of this issue?

A.The Route manifest is missing the spec.tls.destinationCACertificate field
B.The default Ingress controller wildcard certificate has expired
C.The target application pod is not configured to terminate TLS and present a valid certificate matching the route hostname
D.The Route object lacks an annotation specifying openshift.io/router.router-credentials
AnswerC

Passthrough routes send encrypted TLS traffic directly to the pod, requiring the application inside the pod to handle TLS termination.

Why this answer

With passthrough TLS termination, the router passes encrypted traffic directly to the backend pod, meaning the pod must handle TLS termination and present a valid certificate matching the hostname.

37
MCQeasy

A service of type NodePort has been created in OpenShift. Within what default port range are NodePort services typically allocated on the worker nodes?

A.30000-32767
B.50000-60000
C.1024-65535
D.80-443
AnswerA

The standard Kubernetes NodePort range is 30000 through 32767.

Why this answer

Kubernetes and OpenShift allocate NodePort services from the standard port range of 30000-32767.

38
MCQeasy

An administrator needs to grant a developer named 'alice' read-only access to all pods specifically within the 'development' namespace. Which command should be used to accomplish this while following the principle of least privilege?

A.oc create role alice-view --verb=get,list,watch --resource=pods --user=alice -n development
B.oc adm policy add-cluster-role-to-user cluster-admin alice
C.oc create clusterrolebinding alice-view --clusterrole=view --user=alice
D.oc create rolebinding alice-view --clusterrole=view --user=alice -n development
AnswerD

Correct. This binds the view cluster role to user alice in the development namespace via a RoleBinding.

Why this answer

The view ClusterRole provides read-only access to most resource types within a project. Binding it via a RoleBinding in the specific namespace limits access strictly to that namespace.

39
MCQmedium

An administrator needs to inspect the current update channel and version of an OpenShift 4.14 cluster. Which command provides this status directly?

A.oc version --cluster
B.oc get nodes --version
C.oc get clusterversion
D.oc describe operator cluster
AnswerC

oc get clusterversion displays the cluster version state, available updates, and channel.

Why this answer

Running 'oc get clusterversion' displays the cluster version, channel, and overall update availability.

40
Multi-Selecthard

An administrator suspects that a memory leak in a system daemon on an RHCOS worker node is causing system instability. Which THREE commands or log sources can be examined via an oc debug node session to investigate system memory consumption? (Choose THREE)

Select 3 answers
A.chroot /host top -b -n 1
B.oc get pvc
C.oc adm cluster-status
D.journalctl -k -e
E.chroot /host free -h
AnswersA, D, E

Dumps process memory and CPU statistics on the host.

Why this answer

Running 'top', 'free -h', and checking journald kernel logs via oc debug node inspects host memory usage.

41
MCQmedium

A cluster administrator wants to grant a group of users read access to all Pod logs across every namespace in the cluster. Which ClusterRole and binding approach should be used?

A.ClusterRole with apiGroups: [''], resources: ['pods/log'], verbs: ['get'] bound via ClusterRoleBinding
B.RoleBinding in each individual namespace pointing to the 'view' ClusterRole
C.SecurityContextConstraints modification
D.ClusterRole with apiGroups: ['apps'], resources: ['deployments/scale'], verbs: ['get']
AnswerA

Accessing logs across namespaces requires permission on the 'pods/log' subresource bound cluster-wide.

Why this answer

Reading pod logs requires permissions on the 'pods/log' subresource. A ClusterRole granting 'get' on 'pods/log' combined with a ClusterRoleBinding achieves this cluster-wide.

42
MCQhard

An OpenShift administrator needs to restrict external access to a specific application Route by limiting access to a predefined list of allowed client IP addresses. How can this be accomplished?

A.Configure spec.clientIP in the Service object definition.
B.Create a NetworkPolicy with spec.ingress.ipBlock restricting the router pod.
C.Add the annotation 'haproxy.router.openshift.io/ip_whitelist' to the Route object.
D.Update the IngressController CR with a global clientIP blacklist.
AnswerC

The ip_whitelist annotation on the Route configures HAProxy to allow traffic only from specified IPs/CIDRs.

Why this answer

Routes support spec.securityContext or annotations/fields for IP filtering. Specifically, the 'haproxy.router.openshift.io/ip_whitelist' annotation restricts access based on client source IP.

43
MCQeasy

An administrator wants to check the logs of the Cluster Version Operator to see why an upgrade failed. In which namespace does the CVO run?

A.openshift-cluster-version
B.openshift-operator-lifecycle-manager
C.openshift-config-operator
D.kube-system
AnswerA

The CVO runs in the openshift-cluster-version namespace.

Why this answer

The Cluster Version Operator is deployed and runs in the openshift-cluster-version namespace.

44
Multi-Selectmedium

Which TWO of the following statements regarding PersistentVolume access modes are correct?

Select 2 answers
A.ReadWriteOnce (RWO) prevents pods on different nodes from reading the volume.
B.ReadWriteOnce (RWO) permits a volume to be mounted as read-write by a single node.
C.Access modes are determined dynamically by the pod and cannot be requested by the PVC.
D.ReadOnlyMany (ROM) allows multiple nodes to write to the volume concurrently.
E.ReadWriteMany (RWX) permits a volume to be mounted as read-write by multiple nodes simultaneously.
AnswersB, E

RWO restricts write access to a single node.

Why this answer

ReadWriteOnce (RWO) allows read-write by a single node, and ReadWriteMany (RWX) allows read-write by multiple nodes simultaneously.

45
MCQmedium

What is the effect of setting 'allowVolumeExpansion: true' in a StorageClass?

A.It automatically shrinks PVCs when storage usage drops below 50%.
B.It permits users to increase the storage size of PVCs created from this StorageClass.
C.It allows multiple pods to write to an RWO volume simultaneously.
D.It allows the cluster to automatically scale the number of worker nodes based on storage demand.
AnswerB

Enabling volume expansion permits PVC resizing.

Why this answer

It allows users to edit existing PersistentVolumeClaims associated with this StorageClass to request a larger storage size.

46
MCQeasy

A developer has deployed a Helm chart in OpenShift and needs to list all currently installed Helm releases in the current namespace. Which command should be used?

A.helm get releases
B.helm status
C.helm search installed
D.helm list
AnswerD

helm list displays all installed releases in the active namespace.

Why this answer

The helm list command shows all active Helm releases in the current namespace.

47
MCQhard

An administrator must configure a NetworkPolicy in the 'secure-zone' namespace to explicitly deny all ingress traffic except for TCP traffic coming from pods labeled 'tier=frontend' in the 'frontend-zone' namespace. Which NetworkPolicy specification achieves this?

A.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend namespace: secure-zone spec: podSelector: {} policyTypes: - Ingress ingress: - from: - ipBlock: cidr: 10.128.0.0/14 ports: - protocol: TCP
B.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend namespace: secure-zone spec: podSelector: {} policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: frontend-zone ports: - protocol: TCP
C.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend namespace: secure-zone spec: podSelector: {} policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: frontend-zone podSelector: matchLabels: tier: frontend ports: - protocol: TCP
D.apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-frontend namespace: secure-zone spec: podSelector: {} policyTypes: - Ingress ingress: - from: - podSelector: matchLabels: tier: frontend matchExpressions: - key: namespace operator: In values: [frontend-zone] ports: - protocol: TCP
AnswerC

This correctly targets the source namespace and pod label while restricting to TCP and selecting all pods in secure-zone.

Why this answer

To allow traffic from another namespace, the policyPeer must use namespaceSelector combined with podSelector. Denying all other ingress requires an empty ingress rule list alongside policyTypes: [Ingress].

48
MCQhard

A cluster administrator needs to configure a generic ephemeral inline volume in a Pod specification. Where is the volume defined?

A.In the namespace ResourceQuota configuration.
B.In the StorageClass definition under the ephemeralTemplate field.
C.As a standalone PVC that is automatically annotated by the scheduler.
D.Directly in the Pod's spec.volumes array using the ephemeral volume source type.
AnswerD

Inline ephemeral volumes allow storage to be specified directly in the pod spec and lifecycle-managed with the pod.

Why this answer

Generic ephemeral inline volumes are defined directly inside the Pod spec under 'volumes' using the 'ephemeral' volume source, referencing a StorageClass.

49
Multi-Selecteasy

An administrator is troubleshooting a deployment where pods fail to pull container images. Which TWO potential issues should be checked? (Choose TWO)

Select 2 answers
A.The PersistentVolumeClaim is stuck in Pending.
B.The image pull secret is missing or misconfigured in the service account.
C.The route hostname is invalid.
D.The liveness probe timeout is configured too short.
E.The container image tag or repository path specified in the pod spec is incorrect.
AnswersB, E

Private registries require valid pull secrets attached to the pod's service account.

Why this answer

Incorrect image pull secrets and invalid image tags/registry paths are the two most common causes of image pull failures.

50
MCQhard

You notice that your builds are failing due to a lack of memory. Where can you set resource limits for the build process?

A.In the BuildConfig resources field
B.In the LimitRange
C.In the project Quota
D.In the Deployment object
AnswerA

The resources field in the BuildConfig specifies limits for the build pod.

Why this answer

You can define 'resources' in the 'spec' of the BuildConfig to control CPU/Memory for the build pod.

51
MCQhard

An administrator troubleshoots a failing NetworkPolicy and wants to verify if the OpenShift SDN or OVN-Kubernetes controller has successfully applied the rules. Where are the controller operator logs examined?

A.In the openshift-apiserver namespace
B.In the openshift-network-operator or openshift-ovn-kubernetes namespaces
C.In the kube-system namespace under core-dns logs
D.In the openshift-ingress namespace under router pods
AnswerB

Controller logs for networking are housed in the operator and CNI namespaces.

Why this answer

Network operator logs, such as cluster-networks-operator or ovnkube-controller logs in their respective namespaces, contain synchronization errors and policy status.

52
Multi-Selecthard

An administrator is troubleshooting an OAuth authentication failure where users receive an error indicating invalid credentials against an HTPasswd provider. Which TWO steps or checks are critical for resolving this issue? (Choose TWO)

Select 2 answers
A.Verify that the Secret containing the htpasswd file is located in the openshift-config namespace.
B.Restart the kube-apiserver static pods to apply the new password file.
C.Verify that all users have cluster-admin privileges assigned automatically.
D.Ensure the password hashes in the htpasswd file use a supported hashing algorithm such as bcrypt.
E.Check that the Secret is labeled with security.openshift.io/htpasswd-provider=true.
AnswersA, D

The OAuth server reads identity provider secrets specifically from the openshift-config namespace.

Why this answer

Troubleshooting HTPasswd involves verifying that the referenced Secret exists in the openshift-config namespace and that the file format uses valid bcrypt or sha passwords.

53
MCQmedium

What is the primary function of a CSI (Container Storage Interface) Driver Operator in OpenShift?

A.To deploy, upgrade, and manage the CSI driver components (controller and node plugins) in the cluster.
B.To automatically back up etcd data onto persistent volumes.
C.To act as an NFS server running directly on control plane nodes.
D.To convert emptyDir volumes into encrypted block devices.
AnswerA

CSI operators automate the deployment and lifecycle management of storage plugins.

Why this answer

CSI Driver Operators manage the lifecycle of CSI plugins, deploying controller and node plugin pods that enable communication between OpenShift and storage backends.

54
MCQmedium

An administrator needs to view which users currently possess the 'cluster-admin' cluster role across the OpenShift cluster. Which command is most efficient for displaying this information?

A.oc auth can-i --list --all-namespaces
B.oc get clusterroles cluster-admin -o jsonpath='{.subjects}'
C.oc describe clusterrolebinding cluster-admin
D.oc get users --selector=role=cluster-admin
AnswerC

Correct. The cluster-admin ClusterRoleBinding explicitly lists all subjects (users, groups, service accounts) bound to the cluster-admin role.

Why this answer

The 'oc adm policy who-can' command or inspecting the ClusterRoleBinding for cluster-admin reveals which users and service accounts hold the role.

55
MCQeasy

A developer wants to expose an application using a secure Route that terminates TLS on the pod itself, avoiding decryption at the router layer. Which TLS termination type should be selected?

A.reencrypt
B.edge
C.none
D.passthrough
AnswerD

Passthrough sends encrypted traffic straight through the router to the destination pod.

Why this answer

Passthrough termination forwards encrypted traffic directly to the backend pod without terminating TLS at the router.

56
MCQhard

A developer has created a Kustomization file that applies a namespace prefix and some patches to base Kubernetes manifests. How can the developer apply these manifests to an OpenShift cluster using standard oc tooling without installing standalone Kustomize?

A.oc create -f kustomization.yaml
B.oc run -k ./directory
C.oc apply -k ./directory
D.oc kustomize apply ./directory
AnswerC

oc apply -k directs the client to build and apply the Kustomize package from the directory.

Why this answer

The oc apply command includes built-in support for Kustomize via the -k flag, which processes a directory containing a kustomization.yaml file.

57
MCQhard

An administrator needs to configure volume snapshot data protection where the underlying snapshot content object must remain intact even if the user deletes the VolumeSnapshot object. How is this controlled?

A.Set reclaimPolicy to Retain in the StorageClass.
B.Apply the annotation snapshot.storage.k8s.io/preservation: "true" on the PVC.
C.Set snapshotRetention: permanent in the VolumeSnapshot spec.
D.Set deletionPolicy to Retain in the VolumeSnapshotClass.
AnswerA, D

StorageClass reclaimPolicy applies to PVs, not VolumeSnapshots.

Why this answer

The deletionPolicy in the VolumeSnapshotClass controls whether the underlying VolumeSnapshotContent is deleted (Delete) or retained (Retain) when the user deletes the VolumeSnapshot.

58
Multi-Selecthard

Which THREE methods can be used to pass parameters or configuration values into a Helm chart installation in OpenShift? (Choose three.)

Select 3 answers
A.Relying on the default values defined in the chart's values.yaml file
B.Directly modifying the deployed Kubernetes Pod annotations via oc patch
C.Passing individual key-value pairs using the --set flag on the CLI
D.Supplying a custom YAML configuration file using the --values flag
E.Injecting values through the cluster-wide OAuth configuration map
AnswersA, C, D

Charts inherently utilize the default values defined in their packaged values.yaml file.

Why this answer

Helm values can be supplied via the --set flag for inline values, the --values (-f) flag for YAML files, and by setting environment variables or default values within the chart's values.yaml file.

59
Multi-Selectmedium

An administrator wants to inspect or modify the OperatorGroup for a namespace in OpenShift 4.14. Which TWO characteristics or settings are defined by an OperatorGroup? (Choose TWO)

Select 2 answers
A.The kernel version applied to worker nodes in the pool.
B.The target namespaces (targetNamespaces) where Operators in the group can manage workloads.
C.The cluster upgrade channel and target release version.
D.The cloud provider machine instance type (e.g., m5.xlarge).
E.The namespace scope and RBAC generation for OLM subscriptions.
AnswersB, E

OperatorGroups specify whether an operator watches a single namespace, all namespaces, or a select list.

Why this answer

OperatorGroups define the target namespaces where OLM operators can be installed and operated.

60
MCQhard

An administrator has successfully updated the global pull secret in openshift-config/pull-secret. How does the Machine Config Operator propagate this new pull secret to all existing worker nodes in the cluster?

A.The MCO automatically detects the secret change, generates a new rendered MachineConfig, and rolls out the update to nodes.
B.Pull secrets cannot be updated on existing nodes; nodes must be destroyed and recreated.
C.The Cluster Version Operator requires a manual cluster reboot command to push secrets.
D.The administrator must manually SSH into each worker node and run 'oc-update-pull-secret'.
AnswerA

The MCO watches the global pull secret and automatically triggers node configuration updates when it changes.

Why this answer

When the global pull secret is updated in openshift-config, the MCO automatically detects the change, renders a new MachineConfig, and initiates a rolling update of the nodes to apply the new pull secret via Ignition.

61
MCQeasy

An administrator needs to expose an internal application running on port 8080 via an OpenShift Route using edge termination. Which object configuration correctly defines this Route?

A.kind: Route metadata: name: my-app spec: to: kind: Service name: my-service port: targetPort: 8080 tls: termination: edge
B.kind: Route metadata: name: my-app spec: to: kind: Service name: my-service port: targetPort: 8080 tls: termination: passthrough
C.kind: Route metadata: name: my-app spec: to: kind: Service name: my-service port: targetPort: 8080
D.kind: Route metadata: name: my-app spec: to: kind: Service name: my-service port: targetPort: 8080 tls: termination: reencrypt
AnswerA

This correctly specifies edge termination and maps to the service and target port.

Why this answer

An edge terminated route requires the TLS configuration block with termination set to edge, while the target port references the container port 8080.

62
MCQeasy

What is the primary function of the 'self-provisioner' cluster role in OpenShift?

A.It allows users to scale deployments automatically.
B.It allows users to provision persistent storage volumes.
C.It allows authenticated users to create new projects.
D.It allows users to generate their own OAuth tokens.
AnswerC

By default, authenticated users have this role bound, enabling them to request and create new projects.

Why this answer

The 'self-provisioner' role allows authenticated users to create new projects via the project request API.

63
MCQeasy

An administrator needs to create a service that exposes an application externally via an IP address allocated from an external cloud provider load balancer. Which service type must be used?

A.NodePort
B.LoadBalancer
C.ClusterIP
D.ExternalName
AnswerB

LoadBalancer provisions an external IP via the integrated cloud provider infrastructure.

Why this answer

A LoadBalancer service type provisions an external load balancer specific to the underlying cloud infrastructure platform.

64
MCQmedium

An administrator creates a new custom Security Context Constraint (SCC) named restrict-root. After creating the SCC resource, users complain that pods using a ServiceAccount tied to this SCC are still falling back to the restricted-v2 SCC. What is the most likely cause?

A.The SCC object is missing the metadata.labels.openshift.io/scc label set to restrict-root.
B.Custom SCCs are disabled by default in OpenShift Container Platform 4.14 and require an operator configuration change.
C.The ServiceAccount lacks the RBAC permission to use the restrict-root SCC via a ClusterRoleBinding or RoleBinding to the system:openshift:scc:restrict-root ClusterRole.
D.The Pod Security Standards admission plugin is blocking custom SCC creation at the namespace level.
AnswerC

OpenShift controls SCC assignment via RBAC roles matching the system:openshift:scc:<name> convention.

Why this answer

In OpenShift, users or service accounts must be explicitly granted access to an SCC via RBAC (binding the system:openshift:scc:<scc-name> ClusterRole to the ServiceAccount) or by assigning priority so that evaluation happens correctly, though authorization is driven by RBAC.

65
MCQhard

A developer reports they cannot deploy applications because their deployment quota is exhausted. Upon inspecting the 'LimitRange' object in the namespace, you notice default limits are set. However, a specific container in their deployment YAML fails validation during creation with an admission webhook error stating 'container exceeds minimum cpu request'. Where must the adjustment be made to allow this specific deployment?

A.Update the container resource requests in the deployment YAML to meet or exceed the LimitRange minimums, or adjust the LimitRange object.
B.Modify the ClusterQuota object to increase the CPU limit.
C.Create a ClusterRoleBinding giving the developer cluster-admin rights to bypass admission webhooks.
D.Add the developer to the 'system:masters' group to override resource constraints.
AnswerA

LimitRanges validate individual container resource requests against defined minimums and maximums at admission time.

Why this answer

LimitRanges enforce minimum and maximum resource constraints on containers within a namespace. If a container's request violates these constraints, either the container specs or the LimitRange object itself must be modified.

66
MCQeasy

Which command is used to remove a role binding named 'dev-binding' from a namespace named 'development'?

A.oc revoke rolebinding dev-binding -n development
B.oc delete rolebinding dev-binding -n development
C.oc drop rolebinding dev-binding -n development
D.oc remove rolebinding dev-binding -n development
AnswerB

Deleting the RoleBinding object revokes the permissions granted by that binding.

Why this answer

The 'oc delete rolebinding dev-binding -n development' command removes the role binding object.

67
MCQeasy

Which command is used to create a new cluster role named 'storage-reader' that permits getting and listing PersistentVolumes cluster-wide?

A.oc new clusterrole storage-reader --permissions=pv:get,list
B.oc create role storage-reader --cluster --verb=get,list --resource=persistentvolumes
C.oc adm create-role storage-reader --cluster-wide --verbs=get,list --resources=pv
D.oc create clusterrole storage-reader --verb=get,list --resource=persistentvolumes
AnswerD

This command correctly provisions a cluster-scoped role for persistent volumes.

Why this answer

The 'oc create clusterrole' command creates a cluster role with specified verbs and resources.

68
MCQeasy

An administrator wants to check the exit code of a container that terminated earlier today in a pod that has since been restarted. Which command displays the previous termination details?

A.oc describe pod <pod-name> --history
B.oc logs <pod-name> --previous
C.oc adm pod-logs --last
D.oc get pod <pod-name> -o exit-code
AnswerB

The --previous flag fetches logs from the prior container instance that crashed or exited.

Why this answer

oc logs --previous retrieves the log output from the previous container instance before it restarted.

69
Multi-Selecteasy

When setting up authentication and user provisioning in OpenShift 4, which THREE identity providers are natively supported out-of-the-box by the OAuth server configuration? (Choose THREE)

Select 3 answers
A.OpenID Connect (OIDC)
B.Local Linux /etc/passwd direct sync daemon
C.HTPasswd
D.Active Directory Domain Services native kernel module
E.LDAP
AnswersA, C, E

Correct. OIDC is a natively supported identity provider type in OpenShift.

Why this answer

OpenShift natively supports several identity providers, including HTPasswd, LDAP, OpenID Connect (OIDC), GitHub, and Keystone. Standard RBAC tools do not replace IDP configuration.

70
Multi-Selectmedium

Which TWO methods can an administrator use to inspect or troubleshoot Security Context Constraint (SCC) assignments for a specific ServiceAccount in a namespace?

Select 2 answers
A.Examine the /etc/origin/master/scc.yaml file on control plane nodes.
B.Use oc auth can-i create pods --as=system:serviceaccount:<namespace>:<serviceaccount-name> to test permissions.
C.Inspect the service account's annotations for the kubernetes.io/scc-assignment-override key.
D.Run oc adm policy who-can use scc restricted-v2 to see which users and service accounts have access to the SCC.
E.Check the logs of the kube-apiserver static pod for SCC admission failures.
AnswersB, D

Checking authorization with '--as' on the service account helps verify its operational context.

Why this answer

Administrators can check SCC assignments by evaluating who can bind to the SCC cluster roles using 'oc adm policy' commands or by checking effective SCCs using 'oc auth can-i'.

71
MCQeasy

An administrator needs to view the current list of active Security Context Constraints installed in an OpenShift cluster. Which command should be executed?

A.oc get securityconstraints
B.oc get scc
C.oc adm policy list-constraints
D.oc describe clustersecurity
AnswerB

oc get scc retrieves all Security Context Constraints present in the OpenShift cluster.

Why this answer

SCCs are cluster-scoped resources. Running oc get scc lists all security context constraints available in the cluster.

72
MCQhard

During an upgrade of an OpenShift 4.14 cluster using the Cluster Version Operator (CVO), the upgrade status stalls at a specific component. The administrator wants to check the detailed error messages and reconciling loops of the CVO itself. Where should the administrator look?

A.Inspect the clusteroperators object using 'oc describe clusteroperator base-os'.
B.Review the logs of the cluster-version-operator deployment in the openshift-cluster-version namespace.
C.Check the cluster-wide events in the default namespace using 'oc get events'.
D.Inspect the MachineConfigPool status in the openshift-machine-api namespace.
AnswerB

The CVO pod in openshift-cluster-version manages cluster upgrades and logs all synchronization errors.

Why this answer

The Cluster Version Operator runs in the openshift-cluster-version namespace. Its logs provide detailed reconciliation status and errors during cluster upgrades.

73
MCQmedium

You want to restore an existing VolumeSnapshot into a new PersistentVolumeClaim. Which field in the PVC specification must reference the VolumeSnapshot?

A.claimRef
B.snapshotName
C.dataSource
D.volumeName
AnswerC

dataSource points to the VolumeSnapshot (or another PVC) used to initialize the new volume.

Why this answer

To restore from a snapshot, the dataSource (or dataSourceRef) field in the PVC spec must point to the VolumeSnapshot object.

74
MCQhard

An administrator needs to modify the default Ingress controller configuration to change its replica count and adjust the router deployment parameters. Which resource should the administrator edit?

A.ingresscontroller.operator.openshift.io named 'default'
B.deployment named router-default in openshift-ingress namespace
C.configmap named router-config in openshift-ingress-operator
D.service named router-default-http in openshift-ingress
AnswerA

Modifying the 'default' IngressController object in the operator.openshift.io API group allows scaling and tuning the router.

Why this answer

The default Ingress controller is managed by the Ingress operator via the 'default' Ingress resource in the operator.openshift.io API group.

75
MCQhard

An OpenShift administrator observes that the 'authentication' ClusterOperator is reporting Available=False, Progressing=True, and Degraded=True. During troubleshooting, they notice that the kube-apiserver cannot validate tokens because the OAuth server routes are unreachable due to a misconfigured ingress controller. Which log collection method is best suited to pinpoint the OAuth metadata retrieval failure?

A.oc logs -n openshift-authentication deployment/oauth-openshift
B.oc get events -n openshift-config-managed
C.oc get clusteroperator authentication -o yaml
D.oc adm must-gather --image=quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:...
AnswerA

The authentication operator deploys the OAuth server in the openshift-authentication namespace, where connectivity and token exchange logs reside.

Why this answer

Checking the operator pods in openshift-authentication namespace using oc logs on the oauth-openshift deployment provides the exact HTTP communication errors.

Page 1 of 7

Page 2

All pages