Note_Tech

All technological notes.


Project maintained by simonangel-fong Hosted on GitHub Pages — Theme by mattgraham

Kubernetes - Fundamental

Back


kubernetes


Architecture of a Kubernetes cluster


the process of deploying the application:

  1. submit the application manifest to the Kubernetes API. The API Server writes the objects defined in the manifest to etcd.
  2. A controller notices the newly created objects and creates several new objects - one for each application instance.
  3. The Scheduler assigns a node to each instance.
  4. The Kubelet notices that an instance is assigned to the Kubelet’s node. It runs the application instance via the Container Runtime.
  5. The Kube Proxy notices that the application instances are ready to accept connections from clients and configures a load balancer for them.
  6. The Kubelets and the Controllers monitor the system and keep the applications running.

Virtualization vs. Containerization vs. Orchestration


Aspect Virtualization Containerization Orchestration
Level of Abstraction Hardware / OS Application / runtime Infrastructure management
Isolation Target Operating systems Applications Application operations
Overhead High (each VM runs its own OS) Low (containers share the host OS kernel) Variable

Microservices


Example - Voting system

Service description
Voting service Receive votes from users
Cache service Cache vote data
backend service handle vote transaction
database service persist vote data
result service return vote data

pic

pic


Declarative vs Imperative vs Functional vs Procedural


K8s = Declarative


K8s: Imperative vs Declarative



Contiainerization