amazon fargate – container hosting made easy.
google cloudfront – another container hosting option
How many microservices should I have per Kubernetes Pod? This is the question I had when I first encountered Kubernetes when trying to decide how to deploy my Microservice architecture based application.
When reading through Kubernetes documentation or watching videos about kubernetes, you are told a pod holds one or more containers. So your first question if you are doing microservices probably is. How many microservices do I put per pod if each microservice goes into a container? I mean it sort of seems like you could put all of your microservices in containers then put those in a pod. You could do this, but it is not the correct way.
I kept digging and digging until I found a definitive answer. This video helped. It does a great job of explaining what a Pod is in Kubernetes and how it relates to microservices.
So as you can see each microservice goes into a container and each container becomes a pod. Therefore the answer is you should place one microservice per pod. However, as noted if your microservice container relies on something else then you also place that inside the pod, but do not place more than one microservice in a pod. If you are wondering more about when you would use more than one container in a pod this article gives examples.
Another question you may have is how many pods can you have per node? That is totally up to who you are using as your host, if you are using cloud services then many will list the limit. Here is a link I found about Amazon cloud instance limits.
Here is a link to the documentation shown in the video about PODS.
Here is a link the the Kubernetes API documentation shown in the video.
Here is a link to more Kubernetes resources.
Kubernetes and Microservices go hand in hand. Basically you don’t want to do one without the other. Kubernetes is a container orchestration software. When you build a system based on the Microservice architecture you need a way to package and run those microservices on the cloud.
The traditional way of preparing a machine by running scripts which download software and prepare a server environment to run your applications are over. It is far easier to roll your Microservices up into a container with all of it’s requirements and then deploy the container.
However, once you get all of your microservices into containers you need a way for them to find each other and work together as a team to form a larger application. This is where Kubernetes comes in. With Kubernetes you use YAML files to describe your system and how you would like your system to be maintained. Once you describe your system Kubernetes works hard to keep it in the way you describe it.
Kubernetes monitors your Microservice containers. When one crashes Kubernetes fires up another. When traffic is too much for a single Microservice node Kubernetes fires up another identical node and load balances the requests, when traffic reduces Kubernetes reduces the identical node count. Kubernetes is a dream come true for Microservice based applications.
Kubernetes is highly complex and takes a lot of time to master. That is why I suggest using Openshift. Openshift interacts with the Kubernetes api for you which makes everything much easier. You should still have a basic understanding of Kubernetes since Openshift is built on top of Kubernetes. OpenShift is one of the final links in the modern DevOps pipleline. Here is a link to more resources and information about OpenShift.
Here is a link to the main Kubernetes website.
Here is a link to a glossary of Kubernetes terms
What is Kubernetes a beginners guide.
Here is a link to a page explaining Kubernetes Terminology. There are so many new terms this article makes it easy to find the meaning of Pods, Nodes, Clusters etc.
Here is the documentation overview link.
Here is a link to the kubernetes tutorials page.
Here is a link to the list of kubernetes api programming language clients for interacting with the Kubernetes API directly in your applications code.
Here is a link to the Kubetcl online free book about kubernetes.
Kubernetes clusters and node size suggestions. This article will help you decide how large your node instances should be and how many nodes you should include in your cluster.
Kubernetes cluster autoscaler link on github.
List of Amazon cloud instance kubernetes POD limit per instance.
Kubernetes bootcamp website. This cool website walks you through the basics of Kubernetes.
Kubernetes YAML File simply explained for Beginners This is exactly what it sounds like
This video contains useful information about Kubernetes, Microservices and Launching a Microservice based application with Kubernetes. The beginning of this video starts out explaining how the traditional Monolithic architecture worked. It then moves onto how Microservice architectures work and continues by providing a comparison of the two. At ~22:45 the video starts to talk about deploying with Kubernetes
Kubernetes Architecture Made Easy | Coupon: UDEMYJAN20 | Udemy: Kubernetes Made Easy | K8s Tutorial
Kubernetes in 5 minutes
This video quickly gives an overview of kubernetes. It could go higher up on the list, but this is where it is.