<p>I have an application with 5 microservices (iam, courses...). I want to know which is the best approach to migrate them to kubernetes. I was thinking to create namespaces by enviroment as google recomendes:
1. prod
2. dev
3. staging</p>

<p>then I thought that may be better create namespace by environment and microservices.
1. iam-prod
2. iam-dev
3. iam-staging
1. courses-prod
2. courses-dev
3. courses-staging
...
but this approach can be a little bit difficult to handle. Because I need to communicate between each other.</p>

<p>Which approach do you think that is better?</p>

<p>Just like the other answer, you should create namespace isolation for <code>prod, dev and staging</code>. This will ensure a couple of nuances are taken care of...</p>

<ol>
<li>Ideally, your pods in either of the environments should not be talking across environments</li>
<li>You can manage your network policies in a much cleaner and manageable way with this organization of k8s kinds</li>
</ol>
