How Kubernetes Works
Let's talk about the abstractions inside of Kubernetes.
When you're working with Kubernetes there are a few terms that you need to understand.
- Pods. Pods are the basic unit of computation in Kubernetes. Pods can host a container and they have a dynamic ip address attached that can expose a port.
- Services. Services are a way to expose a port and a set of pods. They can be used to set up a static ip address for a container but they are also used for load balancing.
- Ingress. Ingress is a way to expose a service to the internet. A service is still meant as an internal service, but when we reger to ingress we are referring to a service that can communicate with the outside world.
- Namespaces. Namespaces are a way to group a set of pods and services. This is very useful when you have multiple teams working on multiple projects on a single cluster.
The goal of Kubernetes is to run on a set of servers and provide a way to manage all of that compute. You won't need to know how the underlying infrastructure works and instead you'll be able to think in terms of pods, services and namespaces.
In the next video, we'll run some basic kubernetes commands so we get a feeling for the system.
Try to answer the following questions to test your knowledge.
- Why can't we simply connect the outside world to a pod in Kubernetes?