Reputation: 451
i'm thinking of creating a kubernetes cluster on my 5 servers to provide a platform for all the teams in our company.
but how can i separate different applications (multiple services) from each other. i mean, if team1 wants to deploy an web-application (1 nginx, 1 java-applicationserver, 1 mongodb). and team2 a completely other web-application (1 nginx, 1 php, 1 mysql).
how can i achieve that for example team2-php-pod is not able to access team1-mongodb in kubernetes? i tried to get this information from kubernetes-doc, but i couldn't figure it out.
Upvotes: 0
Views: 797
Reputation: 20798
You can use namespaces to separate different applications. Or simply append a team-name to all your pods/services.
Of course, that only prevents pods from talking to the wrong DB/backend, but that does not take care of 'securing' the DB. If you need to make sure one team does not have actual access to another team's DB, you would need to setup authentication / permissions on the DB.
Upvotes: 1
Reputation: 78011
Kubernetes is a single tenanted solution, meaning it's designed to run applications belonging to a single user.
Hypernetes is a project designed to make Kubernetes operate in a multi-tenanted manner (users sharing the same underlying hardware). It is obviously more complicated to setup.
Upvotes: 0