WHAT IS KUBERNETES Flashcards
What is Kubernetes?
Kubernetes is an open-source container orchestrator that manages container-based applications based on the requirements of the administrator or developer.
List the key functionalities Kubernetes offers for managed containerised apps
●Deployment:
●Scaling
●Workload Placement
●Infrastructure Abstraction
●Desired State Management
Kubernetes offers several key functionalities for managing containerized applications:
What does Kubernetes manage in terms of deployment?
Kubernetes manages the deployment of pods, determining how and where they are deployed within the cluster.
Kubernetes offers several key functionalities for managing containerized applications:
How does Kubernetes handle scaling?
Kubernetes can automatically scale applications by adding or removing pod replicas based on resource utilization or other metrics. This allows applications to handle varying workloads and maintain performance.
Kubernetes offers several key functionalities for managing containerized applications:
What is workload placement in Kubernetes?
Kubernetes determines which nodes pods should be deployed to based on factors like resource requirements and co-residency constraints.
Kubernetes offers several key functionalities for managing containerized applications:
What are infrastructure abstractions in Kubernetes?
Kubernetes provides abstractions for underlying infrastructure, simplifying the management of storage, networking, and workload placement
Kubernetes offers several key functionalities for managing containerized applications:
What is desired state management in Kubernetes?
Kubernetes ensures the system’s actual state matches the desired state defined in code. Controllers constantly monitor the system and take corrective actions to maintain the desired configuration.
List the benefits Kubernetes offers for managing containerised applications:
●Speed of Deployment
●Adaptability and Resilience:
●Load Balancing
●Infrastructure Complexity Hiding
●Horizontal Scaling
●High Availability
What benefit does Kubernetes provide for the deployment of containerized applications?
Speed of Deployment: Kubernetes enables rapid deployment of containerized applications.
What benefit does Kubernetes provide towards adaptability and resilience?
Kubernetes allows for quick absorption of changes and auto-healing by replacing failed pods, ensuring applications can recover quickly from failures
How is load balancing a benefit in Kubernetes?
Kubernetes provides load-balancing capabilities to distribute incoming traffic efficiently across application instances, enhancing performance and availability.
How is Infrastructure Complexity Hiding a benefit in Kubernetes?
Kubernetes simplifies the management of complex infrastructure by handling storage, network configuration, and workload placement.
How is horizontal scaling a benefit for Kubernetes?
Kubernetes supports both manual and automatic horizontal scaling, enabling applications to adapt to changing demands by adding or removing worker nodes.
How is Infrastructure Complexity Hiding a benefit in Kubernetes?
Kubernetes ensures high availability by replicating pods to multiple cluster nodes, eliminating downtime due to pod or node failures.
What does the Kubernetes API provide and what are API objects?
The Kubernetes API provides a collection of objects that can be used to build and define systems for deployment in code.
These objects, known as API objects, represent the system’s state and allow the configuration of this state both declaratively and imperatively
What is the difference between declarative and imperative configuration?
Declarative configuration means describing the desired deployment, while imperative configuration involves executing a sequence of commands to achieve the desired state
The Kubernetes API is implemented and available via the API Server
What is the role of the Kubernetes API Server?
The API Server is the central hub for information in a Kubernetes cluster.
It is the sole way users can interact with clusters, and it’s also how Kubernetes interacts with the cluster.
The API Server is a RESTful API over HTTP/S using JSON2. When the API server receives commands, that information is serialized and persisted into a cluster data store.
Administrators and developers interact with Kubernetes through the API Server to deploy and manage workloads. The API Server is also where Kubernetes cluster components interact to understand the system’s current state and make changes as needed to ensure the desired state.
List examples of the Kubernetes API objects.
●Pods
●Controllers
●Services
●Storage
●Namespaces
●ConfigMaps
●Secrets
What are pods?
Pods are the most basic unit of work in Kubernetes, consisting of one or more application containers deployed on one or more cluster nodes. They can be configured with resource requirements.
Kubernetes directly manages pods, not containers.
What does it mean that pods are ephemeral in Kubernetes?
Pods are ephemeral, meaning they are not designed to be redeployed. If a pod fails, the controller will delete it and deploy a new one.
What does it mean that pods are atomic in Kubernetes?
Pods are atomic, meaning they either exist or don’t. If one container in a multi-container pod fails, the entire pod becomes unavailable.
What unique network characteristic does each pod have?
Each pod receives a unique internal IP address, which is also ephemeral
What happens to pods if the cluster goes down and then comes back up?
If a pod is running and the cluster goes down, the pod will be automatically restarted when the cluster comes back up.
How does Kubernetes ensure the state and health of pods?
Kubernetes uses probes to constantly track the state and health of pods. Controllers respond to pod state and health, taking actions to maintain the desired state, such as deploying new pods if needed.