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

Latest commit

 

History

History
49 lines (29 loc) · 1.74 KB

README.md

File metadata and controls

49 lines (29 loc) · 1.74 KB

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