Docker and Kubernetes: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Line 41: Line 41:
*Endpoints/EndpointSlice
*Endpoints/EndpointSlice
<br>
<br>
[[File:K8 Master2.png|400px]]
<br>
The scheduler
*Watches for new work
*Assigns Work to the cluster nodes
<br>
[[File:K8 Master3.png|400px]]

Revision as of 07:04, 11 August 2021

Introduction

Containers

This all started with VMWare where the total resource could be divided up to run more than one application on difference virtual machines. But VMWare required an OS on every machine and licenses in the case of Windows. They also needed managing, e.g. patching, Anti-virus and patching. Along came containers which shared the OS.

Docker

Docker Inc. Docker is a company which gave the word technology for containers. They are now a company which provides services around the company.

Docker is Open source and known as Community Edition (CE). The company Docker releases an Enterprise Edition (EE).
The general approach is to

  • Create an image (docker build)
  • Store it in a registry (docker image push)
  • Start a container from it (docker container run)

The differences between EE and CE are shown below

Kubernetes

Kubernetes came out of Google and Open Source. Greek for helmsman or k8s (Kates). Kubernetes is an orchestrator and can schedule, scale and update containers. There are alternatives like Docker Swarm

Architecture

Overview

Apps are put in a container, wrapped in a pod and deployment details. They are provisioned on a Node inside a K8s Clustoer

Master

In general these are a hosted services on the cloud but you can run them locally on a linux box.

  • This is the front-end to the control plane
  • It exposes a RESTFul API consuming JSON and Yaml
  • We send manifests describing our apps to this


The Cluster Store for users with large changes often separate this

The controllers controls

  • Node Controller
  • Deployment controller
  • Endpoints/EndpointSlice



The scheduler

  • Watches for new work
  • Assigns Work to the cluster nodes