Kubernetes Architectur

Table of contents

  1. Understanding of Kubernetes
  2. Kubernethes Structure
  3. Kubernethes Resource
  4. Kubernethes Architecture

Operating management in a few host of distributed computing environment is not too difficult even by hand. However in case of large distributed computing environment, it is very hard to do management such as start/stop containers, storage management, health checking and so on.

Understanding of Kubernetes

Kubernetes can be a solution to overcome the problem. The followings are the summary of Kubernetes.

Container Orchestration

  • Large containers are controlled under the distributed computing environment.
  • Distribute the containers to lots of servers.
  • Connet the services with service discovery.
  • Increase the number of server under overload.
  • Create new containers in case of failure.

Also large distributed environment can be handled by a few of engineers. It is also referred to K8s since Kubernetes has long characters to speak.

  • Three philosophy of Kubernetes
  • Immutable Infrastructure
  • Declarative Configuration
  • Self Healing

Kubernethes Structure

It is communicated with API server and repository (etcd) in Maser, and agent(kubelet) of each node.

Master

  • Manage K8s cluster
  • Trace node status
  • Select which node the container allocated
  • Save cluster information on etcd repository

API server

  • Handle all requests
  • Communicate all components through API server
  • Authentication and Permission

Scheduler

  • Define which node the container created and run in
  • Node selection by understanding status of nodes
  • Controller Manager
  • Check cluster status
  • Real time check if any difference between current and requested information

etcd

  • Distributed key-value repository
  • Manage all setting value and status data
  • Inquiry and update by scheduler and controller manager

Node

  • Server which runs containers
  • Configures an cluster with multiple nodes
  • In case of cloud, the node is virtual machine like ec2.
  • kubelet
  • Create containers requested by master
  • Send status of containers

kube proxy

  • Network proxy executed by each node

Kubernethes Resource

K8s has abstracted some element such as container, application and network as following.

  • Application and Distribution - Pod, ReplicaSet, Deployment, DaemonSet, StatefulSet
  • Network - Service, Ingress
  • Setting management - ConfigMap, Secrets

Kubernethes Architecture

This is Kubernethes architecture, it is helpful to understand overall structure of K8s.

[Kubernetes Architecture]