What is the primary difference between a Deployment and a DeploymentConfig in OpenShift?
DeploymentConfigs are an OpenShift-specific resource, absent from upstream Kubernetes, whereas Deployments are the native Kubernetes workload API. This distinction satisfies the stem's request for the primary difference: DeploymentConfigs rely on OpenShift's ImageStream triggers and custom rollout logic, while Deployments use standard Kubernetes controllers.
Why this answer
DeploymentConfigs are a legacy OpenShift-specific resource that predates native Kubernetes Deployments. They are not part of upstream Kubernetes and are only available in OpenShift, whereas Deployments are a standard Kubernetes API resource. This is the primary architectural difference: DeploymentConfigs rely on OpenShift's ImageStreams and custom rollout logic, while Deployments use ReplicaSets and the standard Kubernetes deployment controller.
Exam trap
EX280 often tests the misconception that DeploymentConfigs are simply a newer or enhanced version of Deployments, when in fact they are legacy OpenShift-specific resources that lack native Kubernetes compatibility.
How to eliminate wrong answers
Option A is wrong because Deployments do not support OpenShift-style triggers (ImageChange, ConfigChange); triggers are a feature of DeploymentConfigs. Option B is wrong because both Deployments and DeploymentConfigs can be scaled; scaling is a fundamental capability of both resource types. Option D is wrong because DeploymentConfigs do support rollbacks via `oc rollout undo`, just as Deployments do with `kubectl rollout undo`.