Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the different between openshift deploymentconfig and kubernetes deployment

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.

like image 667
Weiwei Jiang Avatar asked Apr 19 '18 08:04

Weiwei Jiang


People also ask

What is difference between OpenShift and Kubernetes?

Both Kubernetes and OpenShift are popular container management systems, and each has its unique features and benefits. While Kubernetes helps automate application deployment, scaling, and operations, OpenShift is the container platform that works with Kubernetes to help applications run more efficiently.

What is difference between Kubernetes pod and deployment?

In short, a pod is the core building block for running applications in a Kubernetes cluster; a deployment is a management tool used to control the way pods behave.

What is the difference between Docker Kubernetes and OpenShift?

Docker, Kubernetes and OpenShift are independent container technologies that are related to each other in many ways and complement each other. Kubernetes can deploy Docker images and orchestrate. Similarly, OpenShift seamlessly manages the Kubernetes cluster. With Kubernetes, one can manage hundreds of containers.

What is the difference between deployment and replication controller?

A Deployment provides declarative updates for Pods and Replica Sets (the next-generation Replication Controller). You only need to describe the desired state in a Deployment object, and the Deployment controller will change the actual state to the desired state at a controlled rate for you.


1 Answers

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.

like image 150
Michael Hausenblas Avatar answered Sep 28 '22 00:09

Michael Hausenblas