Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.

Latest commit

 

History

History

QuickStartKubernetes

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Quick Start Kubernetes

Main notes taken from the book Quick Start Kubernetes

Official Documentation

Kubernetes is an orchestrator of cloud-native microservices applications.

A cloud-native app must:

  • Scale on demand
  • Self-heal
  • Support rolling updates
  • Run anywhere that has Kubernetes

K8s sometimes is referred to as the OS of the cloud.

A Kubernetes cluster is one or more machines with Kubernetes installed.

We normally refer to machines in a Kubernetes cluster as nodes.

Node types:

  • Control plane nodes
  • Worker nodes

Some services running on worker nodes:

  • Kubelet: main Kubernetes agent
  • Container runtime: starts and stops containers

Most of the day-to-day management of a Kubernetes cluster can be done using the Kubernetes command line tool: kubectl.

Kubernetes runs containers inside of Pods.

Kubernetes uses a dedicated Service object to provide network connectivity to apps running in Pods.

Kubernetes uses a dedicated Deployments object to provide self-healing. It also enables scaling and rolling updates.

The container provides the OS and other app dependencies; the Pod provides metadata and other constructs for the container to run on Kubernetes; the Deployment provides cloud-native features, including self-healing.

The Deployment object is the YAML configuration that defines the Pod and container. It also defines things such as how many Pod replicas to deploy.

The Deployment controller is a process running on the control plane that is constantly monitoring the cluster making sure all Deployment objects are running as they are supposed to.

kubectl get pods -o wide: lists all Pods on the cluster and the worker node each Pod is running on