Pemrograman

Understanding Kubernetes Architecture

Era Deployments

evolution deployments

In the picture above you can see the current deployment era.

  • Traditional deployment: An application will run on one physical server.
  • Virtualized deployment: this allows you to run multiple Virtual Machines (VMs) on a single physical server CPU. Each VM is a complete machine running all components, including its own operating system.
  • Containers deployment: Containers are similar to VMs, but have isolation properties for sharing an Operating System (OS) between applications. Similar to VMs, containers have their own file systems, CPU shares, memory, processing space, and more. Because they are separate from the underlying infrastructure, they are portable across clouds and OS distributions.

Kubernetes Provide you with

  • Service discovery and load balancing
  • Storage orchestration
  • Automated rollouts and rollbacks
  • Automatic bin packing
  • Self-healing: restarts containers that fail, replaces containers, kills containers that respond to health check
  • Batch execution
  • Horizontal scaling: Scale your application up and down or automatically based on CPU Usage.
  • IPV4/IPv6 dual-stack
  • Designed for extensibility: Kubernetest cluster without changing upstream source code.

Kubernetes is not a traditional, all-inclusive PaaS (Platform as a Service) system

Kubernetes components

Clusters

A Cluster is a collection of nodes grouped together. This way even if one node fails, your application can still be accessed from the other nodes. Additionally, having multiple nodes also helps in sharing the load.

Cluster

Nodes

A node may be a virtual or physical machine, depending on the cluster. Each node is managed by the control plane and contains the services necessary to run the Pod.

##Pods Pods are the smallest computing units you can create and manage in Kubernetes.

A Pod (as in whale pod or pea pod) is a group of one or more containers, with shared storage and networking resources, as well as specifications for how to run those containers.

As with application containers, a Pod can also contain an init container that runs at Pod startup. You can also include ephemeral containers to debug running Pods.

pods concepts

comments powered by Disqus