11 Flashcards
Container orchestration
Management and deployment of Containers
Cloud native maturity model
3 dimensions:
1. cloud native services
2. application design
3. automation
Twelve factors
I. Codebase
One codebase tracked in revision control, multiple deployments
II. Dependencies
Explicitly declare and isolate dependencies
III. Config
Store config in the environment
IV. Backing services
Treat backing services as attached resources
V. Build, release, run
Strictly separate build and run stages
VI. Processes
Execute the app as one or more stateless processes
VIl. Port binding
Export services via port binding
VIII. Concurrency
Scale out via the process model
IX. Disposability
Maximize robustness with fast startup and graceful shutdown
X. Dev/prod parity
Keep development, staging, and production as similar as possible
XI. Logs
Treat logs as event streams
XII. Admin processes
Run admin/management tasks as one-off processes in the production scenario
Kubernetes: two things
Cluster for running applications
Orchestrator of cloud native microservices apps
Pod
Management unit
Master node components
Kube-apiserver:
Provides REST Interface for Kubernetes control plane and datastore, handles authentication and authorization
Cluster store: (etcd) is backing store. All cluster data is stored there
Controller Manager: launches and controls independent control loops
Kube-scheduler: selects node for newly created pod to run on
Two steps:
1. determine nodes that are capable of running the pod
2. rank the capable nodes
Node components
Kubelet: manage pods on certain node
Container runtime: performs container related tasks
Kube-proxy: managed local cluster networking
Pod
Group of containers
Provides environment for containers
Creates own network namespace
External access: Pod IP Adress + port of container
Pod network
For pod to pod communication
Services
Provides reliable networking for a set of pods
Each service is associated with own endpoints object
Types of Services
ClusterIP service
NodePort service
LoadBalancer service
ExternalName service
Kunernetes storsge
Persistent volume
Container Storage Interface
Persistent volume Subsystem
Horizontal pod auto scaler
Modifies the desired number of replicas within declared bounds
Vertical pod auto scaler
Calculates the resource requests for pods based on usage
Cluster auto scaler
Adapts the number of nodes of the kybernetischen cluster and runs on the Master node