K8S
What is Kubernetes
Orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.
The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines.
What is containerization
To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized.
Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way
Control Plane
coordinates the cluster.
Nodes
are the workers that run applications.
Commands
# see which k8 pods are running kubectl describe pods ## You can optionally pass a pod name kubectl describe pods pod_name # get events ## this will show the issue why pod has not been scheduled kubectl get events # describe issue with pod in detail kubectl logs pod_name
Errors
ImagePullBackOff
Container running a pod fails to pull the required image from a container registry.
- When a pod is created, k8s attempts to pull the container image specified in the pod definition from the container registry
- IF the image is not available or cannot be pulled, k8s stops pulling image and pod will remain in a
pending
state- Root cause could be network connectivity, image name/tag, credential freshness, permissions issues
- IF the image is not available or cannot be pulled, k8s stops pulling image and pod will remain in a
Port Forward
- Port forward exposes the service locally