I have few questions related to the container platforms (K8S, Openshift, etc.) and how should be the Environments (Prod, Stage, QA, Dev, etc) be separated and Issoleated in the said platform; Where I would like to share some questions that arise when you are selecting and/or identifying how many clusters do you really need and How many actually are necessary for an implementation of a Container Platform, keeping the best practices and leverage with the benefits of this kind of platforms.
Well, the issue of container platforms where and how to implement one with 1 or more clusters is a controversy, Where do I get the following questions?;
Taking as well into account the economic aspects that can be drastically presented in the implementation of one of the platforms according to the number of Clusters to be used in case if its more then ones; equally the distribution of resources for tasks.
Example of a container platform with dedicated resources for each environment and used logical isolation.
Example of a Containers platform with resources dedicated by Cluster.
I understand that there are several questions in the same post, but as I mentioned, it is a controversy, other concerns will arise, and the idea is to stay attached to the best practices for the implementation of this type of solutions, just as we can leverage with the benefits that this type of platform does not provide to reduce costs and maintain a simple architecture and implementation.
Thanks in advance and it will be a pleasure to read your comments and opinions.
In OCP you usually not dedicate nodes to certain environment. You do that at the projects level.
Create specialized dedicated worker nodes ("Infra" nodes) to run ingress controllers per environnment: a LB will route external traffic to a pair of IC per env that will process routes for projects assigned to one environment etc. So you can have a pair of nodes with ingress controller per environment and a LB in front of them etc.
A project will contains apps from one environment (either prod or uat or ..): better one project per app per env. You can assign a project to an egress IP address for communication outside the cluster from an egress range so you can easily configure your external firewall as it will know from what egress assigned to an env it comes from etc.
Projects are isolated per default and you can even isolate them more withNetworkPolicies. Also you can have your nodes spread on multiple vlans etc..
...