Some notes about Kubernetes terms and notions
I had some knowledge of Kubernetes and orchestrating. But It was not really good clarified for me. So decided to take a few books and formalize my knowledge. So this article is an ensemble of important things I picked from different sources.
Containers fall into two main categories:
• System containers
• Application containers
Limiting memory resources
One of the key benefits of running applications within a container is the ability to restrict resource utilization. This allows multiple applications to coexist on the same hardware and ensures fair usage.
What is Kubernetes?
Kubernetes is a platform for creating, deploying, and managing distributed applications.
Kubernetes Up & Running Dive into the Future of Infrastructure
Kubernetes provides numerous abstractions and APIs that make it easier to build these decoupled microservice architectures (from Kubernetes Up & Running Dive into the Future of Infrastructure)
- Pods, or groups of containers, can group together container images developed by different teams into a single deployable unit.
- Kubernetes services provide load balancing, naming, and discovery to isolate one microservice from another.
- Namespaces provide isolation and access control so that each microservice can control the degree to which other services interact with it.
- Ingress objects provide an easy-to-use frontend that can combine multiple micro-services into a single externalized API surface area.
Single operator responsibility
The application operator should be responsible only of his communication. And cluster operator — of cluster operations.
“not my monkey, not my circus”
In this case, the application works only with its own monkey. It can not touch other monkeys. And the same is true for the operator, but relatively to the circus.
Kubernetes uses namespaces to organize objects in the cluster. You can think of each namespace as a folder that holds a set of objects.
Everything contained in Kubernetes is represented by a RESTful resource
Abstracting Your Infrastructure
If you plan to use different cloud services As Azure, GCP, AWS in parallel, I advise you to avoid using one cloud dedicated technology like Amazon’s DynamoDB, Azure’s CosmosDB, or Google’s Cloud Spanner. Give a preference instead of Cassandra, MySQL, or MongoDB.
You can also be interested in How to use Kubernetes locally article.
Thank you for your attention
Thank you for your attention. If you have any questions feel free to contact me. I‘ll be glad to help you.