43

After far as I know:

  • deploymentconfig → replicationcontroller → pod

vs.

  • deployment → replicaset → pod

Otherwise, do these two resources have additional differences?

The more detail the better.

2 Answers 2

96

A DeploymentConfig (DC) in OpenShift is more or less equivalent to a Kubernetes Deployment, nowadays. Main difference (besides that one is using ReplicationController and the other using ReplicaSet as you rightly pointed out) is that

  1. there are a few things you can do with a DeploymentConfig (around triggers) that you can't do with a Deployment.

  2. DeploymentConfig's are first-class citizens in the Web console.

The reason DeploymentConfig's exist is because we (Red Hat) are innovating. In other words: DeploymentConfig's predate Deployment's and while we're always trying to propose these innovations upstream, they are not always accepted by the community as is. For example, in the case of RBAC, the stuff we had in OpenShift was accepted upstream and that's why you have the same RBAC resources etc. now in OpenShift and Kubernetes. With DeploymentConfig's that was not the case. Over time one would expect that DeploymentConfig's are phased out in favor of Deployment's but I can't give you a timeline. If portability is your primary concern, I'd say, use Deployment's.

3
  • 3
    Great explanation. Thanks. Are there any updates on that topic in 2022 (= 4 years later)? May 12, 2022 at 12:36
  • 1
    DeploymentConfig is being deprecated with OpenShift 4.14 Feature development of DeploymentConfigs will be deprecated in OpenShift Container Platform 4.14. As far as I know deprecated features remain around for 3 releases before they are removed so 4.18 I think DC will be gone. Nov 16, 2023 at 16:03
  • Finally. Upstream contribs? Nov 17, 2023 at 8:55
12

As on version 4.6, as correctly predicted by @Michael Hausenblas, deplomentConfigs are no longer recommended by Openshift unless necessary. Apart for the points mentioned above, below are the differences - Deployment vs Deployment Config

As the deployment configs uses the deployer pods underneath, it supports features like pausing midway and faster rollouts. More in details description can be found on official documentation.

1
  • very important information, tnx! Sep 21, 2023 at 7:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.