etesKubern Flashcards
What is a Pod?
Smallest unit in Kubernetes
Abstraction over container
What is Kubernetes?
Open Source Container Orchestration tool
Helps you manage systems that are made up of multiple applications
Who developed Kubernetes?
Why not just develop our own scripts to do what Kubernetes does?
Difficulty, human error, and some things are not even possible
What benefits do Orchestration Tools offer?
High Availability
Scalability
Disaster Recovery
What is a node?
x kuber server node?
Sometimes called Worker Nodes
How many applications per pod usually?
Usually 1, and maybe some helper containers
do pods get their own ip address, or containers?
pods
pods are ephemeral
they can die very easily
when a pod gets recreated what happens to its ip address?
It gets a new IP
What is a Kubernetes Service?
Permanent, static IP address
Does each pod get its own service, or each node?
Each pod
What is an external service?
public facing
what is an internal service?
internal facing, eg, for DBs For communicating between pods
What is Ingress component?
A way of providing https and a named domain
route traffic into the cluster
What is ConfigMap
external configuration of your application
also if you have to change the url of an DB
Should you put credentials into config map
NOOOOO
What is Secret?
just like ConfigMap, but used to store secret data, like credentials
bas64 encoded
When using volumes in K8, where can they be stored?
on local server
remote, cloud
what is a cluster?
xxx
Kubernettes replicates nodes
but they will share the same services
a service
is also a load balancer
what is a deployment?
a blueprint for your myapp pods, you can choose up to how many replicas are allowed too
can you replicate DBs using Deployments?
No, because a DB has a state (its data), and when you re-deploy you could have multiple pods all using the same DB, which creates inconsistencies, conflicts, etc
What should you use instead of deployment for DBs?
a StatefulSet
What is a problem and solution with StatefulSets?
They are hard to get right, so often the DBs will be hosted outside of Kubernetes
each node will have multiple pods
yerp
What are the three node processes?
Container Runtime
Kublet
Kube Proxy
Kublet services
interacts with both container runtime and the node itself
Kublet
Starts the pod
Kube Proxy
Forwards the requests between pods in a smart way
Master Nodes
x
4 Master Node proceses
API Server
Scheduler
Controller Manager
etcd
API Server
a cluster gateway
acts as a gatekeeper for authentication
Scheduler
decides where to put the pod
Uses Kublet to actually start Pod
Controller Manager
Detects if nodes have died, and reschedule their restart
Controller Manager
Detects cluster state changes
etcd
a key value store of a cluster state
stores info for API Server, Scheduler, and Control Manager
What data does etcd NOT store?
Application data
Usually is only 1 Master Node used in production?
no, multiple
Does a master node or a worker node need more resources?
Worker Nodes