mirror of
https://github.com/ION606/learn.git
synced 2026-05-14 21:06:56 +00:00
42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
|
|
My notes from https://www.youtube.com/watch?v=s_o8dwzRlu4 and other videos
|
||
|
|
|
||
|
|
# What is kubernetes
|
||
|
|
* an open source container orchestration tool
|
||
|
|
* helps you manage apps that are made of 100s or 1000s of containers in different dev environments (cloud, local, etc)
|
||
|
|
|
||
|
|
|
||
|
|
## Container Orchestration Tool
|
||
|
|
* manages many containers
|
||
|
|
* offers high availability (little to no downtime)
|
||
|
|
* offers scalability
|
||
|
|
* offers disaster recovery (backup and restore)
|
||
|
|
|
||
|
|
|
||
|
|
## Kubernetes Cluster Structure
|
||
|
|
### at least 1 Master Node
|
||
|
|
has:
|
||
|
|
* API Server (the entrypoint for the kubernetes cluster), this is what the kubernetes clients (UI, API, CLI, etc) will talk to
|
||
|
|
* Controller Manager
|
||
|
|
- keeps track of the cluster (i.e. a container has died, restart it)
|
||
|
|
* Scheduler
|
||
|
|
- decides on which node any new container should be scheduled
|
||
|
|
- it does this based on workload, server resources on each node, etc
|
||
|
|
* etcd
|
||
|
|
- key/value storage for the current state of the cluster
|
||
|
|
- holds the current config data, status data of each node/the node's container, etc
|
||
|
|
- snapshots of this etcd are used for RECOVERY
|
||
|
|
|
||
|
|
**connected to it, there are many smaller**
|
||
|
|
|
||
|
|
### Worker Nodes
|
||
|
|
all of which have:
|
||
|
|
* a kublet (kubernetes process that talks to other kublets and master node) running on it
|
||
|
|
* docker containers (which do the work)
|
||
|
|
|
||
|
|
|
||
|
|
### Virtual Network
|
||
|
|
* spans all the nodes in the cluster
|
||
|
|
* enables the nodes to talk to each other
|
||
|
|
|
||
|
|
*Note: in most prod environments, it's recommended to have more than one master node so that if one of them fails, the process can continue running*
|