1. Introduction to Kubernetes
● Kubernetes is an open-source platform for
automating the deployment, scaling, and
management of containerized applications. It
was originally developed by Google and is now
maintained by the Cloud Native Computing
Foundation (CNCF).
● Kubernetes provides a way to define and run
containerized applications in a cluster of
machines, abstracting away the underlying
infrastructure and providing a consistent
interface for scaling, deploying, and monitoring
applications.
● It also provides features such as automatic
self-healing, service discovery and load
balancing, and automatic storage provisioning.
● Kubernetes has become the de facto standard
for managing containerized applications in
production environments and is supported by all
major cloud providers.
● Kubernetes solves a number of problems that
arise when deploying, scaling, and managing
containerized applications in production
environments. Some of these problems include:
2. 1) Managing the complexity of deploying and
scaling containerized applications across a
cluster of machines.
2) Automatically ensuring that the desired number
of replicas of a service are running at any given
time, and rescheduling them if they fail.
3) Providing automatic service discovery and load
balancing for microservices.
4)Automatic self-healing of containers and
services that fail.
5) Managing the storage resources used by
containers and allowing them to dynamically
provision storage when needed.
6) Allowing rolling updates of the application and
rollbacks in case of failures.
7) By providing a consistent and automated way to
manage containerized applications, Kubernetes
allows developers to focus on writing code, and
operations teams to focus on maintaining the
underlying infrastructure.
8) It also allows companies to scale their
applications horizontally, by adding more
machines to the cluster, rather than vertically, by
adding more resources to individual machines.
A few Kubernetes commands:
1. kubectl apply - Apply a configuration to a resource
by filename or stdin
2. kubectl attach - Attach to a running container
3. 3. kubectl auth - Inspect authorization
4. kubectl config - Modify kubeconfig files
5. kubectl create - Create a resource by filename or
stdin
6. kubectl delete - Delete resources by filenames, stdin,
resources and names, or by resources and label
selector
7. kubectl describe - Show details of a specific resource
or group of resources
8. kubectl exec - Execute a command in a container
9. kubectl get - List resources
10. kubectl label - Update the labels on a resource
11. kubectl logs - Print the logs for a container in a
pod
12. kubectl patch - Update field(s) of a resource using
strategic merge patch
13. kubectl port-forward - Forward one or more local
ports to a pod
14. kubectl proxy - Run a proxy to the Kubernetes API
server
15. kubectl replace - Replace a resource by filename
or stdin
16. kubectl rollout - Roll out a deployment
17. kubectl scale - Set a new size for a Deployment,
ReplicaSet, or Replication Controller
18. kubectl top - Show metrics for a given resource (by
default, pods)
Checkout more on Kubernetes
Kubernetes Resources