Zusammenfassung der Ressource
Kubernetes
- CONTAINERS
- standarized, portable and
consistent application
environments
- Control groups
(cgroups)
- Hardware resources
management
- Allow the host to share or limit
resources for a process or
container
- Namespaces
- Process, filesystem and
networking isolation
- Container processes are limited to
see only what is in the same
namespace
- Union
filesystems
- Containers run from an
image (.iso)
- Components
- Most common ones for
basic deployments
- Node
- A physical or virtual machine
- Where the service is deployed
- Pod
- the smallest
unit of K8's
- Runner environment
over the Node
- Abstraction over
container
- Helps so it only interacts with
the kubernetes layer
- Can run a variety of container
technologies
- There's usually one
container
(appliaction) per pod
- Each Pod gets an IP
of a K8 virtual
network
- Gets a new IP each
time it restarts
- Service
- Static IP
address
- Can be attached
to a Pod
- If a Pod dies, the service
keeps the IP address
- Can be external (targets
the node) or internal
(targets the pod)
- Load
Balancer
- Ingress
- Does forwarding from
requests to services
- Ensures TLS and
DNS
- Meta-configuration
- ConfigMap
- External configuration for an application
- config services URL, etc.
- Secret
- Contains
meta-variables
encoded in a base64
format
- variables like credentials
- Data Storage
- Volumes
- Data in Pods are volatile
- Attaches a physical storage in
the hard drive to a Pod
- Storage can be done on the local
machine or remotely (outisde of K8
cluster)
- Replica and Schedule
Management
- Deployment
- Blueprints for applications
running on pods
- Abstraction of
Pods
- Adjust the number of replicas of a
Pod
- StatefulSet
- Avoid data inconsistencies on
pods that need persistant
data (like datbases)
- Control which pods write on
volumes
- for STATEFUL
applications
- Architecture
- Types of nodes
- Master
- 4 Processes necessary on
Master Node
- API Server
- Interaction from user to cluster to
deploy applications
- Can be a UI, CLI (kubelet)
- Cluster gateway which
validates requests
- Scheduler
- Decides which node
starts an application
Pod
- Schedules based on
performance and
resource usage on
Pods
- Controller Manager
- Monitors and detects state
changes like Pod
failures
- Tells Scheduler to
re-schedule downed Pods
- etcd
- key value stored of the
cluster state
- Logs of cluster activities
- Application data is not stored,
only cluster related data
- Slave
- 3 Processes necessary on each
node
- Container runtime
- Ex. Docker
- Kubelet
- Interacts with the
container runtime
and the pod
- Assign
resources to
the container
- Kube Proxy
- Forwards requests
from services to
Pod
- Performance
of
communication
- also called Worker node
- Does the application
(service) processing
- It is a Container
Orchestrator
- Makes microservices more available
- Services that are Highly maintainable and
testable, loosely coupled, independtly deployable
and owned by a small team.
- Multiple development environment scenarios
- Cloud
- On premises
- Hybrid
- Management of large scale conteneraized
applications
- Offering availability, scalability and disaster
recovery of services