cancel
Showing results for 
Search instead for 
Did you mean: 
  • 3,657 Views

Why Openshift uses Replication controller by default and not Replica set

Jump to solution

Hi,

Why Openshift uses Replication controller by default and not Replicaset as Replicaset is next generation of replication controller.

Openshift added new features in Deployment config which uses replication controller but replica set have more features like set-based selector.

Thanks

PRVAIN

Labels (2)
0 Kudos
1 Solution

Accepted Solutions
flozano
Moderator
Moderator
  • 3,619 Views

OpenShift and Kubernetes users are not supposed to manage Replication Controllers nor Replica Sets directly; they are supposed to manager either Deployment Configuations or Deployments. Open Shift introduced Deployment Configurations at a time that Kubernets provided only Replication Controllers. At that time Replica Sets and Deployments did not exist yet.

OpenShift Deployment Configurations inspired Kubernetes Deployments, but their design diverged a little and today there are some features available only from Deployment Controllers and others available only from Deployments. Please see the OpenShift product documentation for a comparision among these two resources:

https://docs.openshift.com/container-platform/4.3/applications/deployments/what-deployments-are.html...

One of the main features from Deployment Configurations that is not available from Kubernetes Deployments is integration with Image Streams. If you are using OpenShift you can add annotations to a Kubernetes Deployment to integrate it with OpenShift Image Streams, but this feature is not available from vanilla Kubernetes:

https://developers.redhat.com/blog/2019/09/20/using-red-hat-openshift-image-streams-with-kubernetes-...

View solution in original post

0 Kudos
2 Replies
Razique
Flight Engineer Flight Engineer
Flight Engineer
  • 3,644 Views

Hey Pravin,

I could be wrong, but I believe that this is mostly due to historical reasons. OpenShift initially introduced certain features that were not in the Kubernetes code base, which led to some divergence at some point (for example, betwenn routes and ingress controllers, Deployments and DeploymentConfigurations).

There are some difference in way they work, for example support of selectors when working with replica sets, whereas replication controller didn't have the support of selectors. Replica Set came as an improveent over Replication Controllers. Replication controller were kinda imperative, whereas replica sets tried to be as "declarative" as possible.

Over time, OpenShift team has been working hard to bridge that gap by aligning the products's features with upstream :)

 

0 Kudos
flozano
Moderator
Moderator
  • 3,620 Views

OpenShift and Kubernetes users are not supposed to manage Replication Controllers nor Replica Sets directly; they are supposed to manager either Deployment Configuations or Deployments. Open Shift introduced Deployment Configurations at a time that Kubernets provided only Replication Controllers. At that time Replica Sets and Deployments did not exist yet.

OpenShift Deployment Configurations inspired Kubernetes Deployments, but their design diverged a little and today there are some features available only from Deployment Controllers and others available only from Deployments. Please see the OpenShift product documentation for a comparision among these two resources:

https://docs.openshift.com/container-platform/4.3/applications/deployments/what-deployments-are.html...

One of the main features from Deployment Configurations that is not available from Kubernetes Deployments is integration with Image Streams. If you are using OpenShift you can add annotations to a Kubernetes Deployment to integrate it with OpenShift Image Streams, but this feature is not available from vanilla Kubernetes:

https://developers.redhat.com/blog/2019/09/20/using-red-hat-openshift-image-streams-with-kubernetes-...

0 Kudos
Join the discussion
You must log in to join this conversation.