General overview Flashcards
What is Kubernetes?
Kubernetes is an open-source container orchestration platform designed to automate the deployment, scaling, and management of containerized applications.
What are the key components of Kubernetes?
Key components include Pods, Nodes, Services, Deployments, ReplicaSets, and the Kubernetes API server.
What is a Pod in Kubernetes?
A Pod is the smallest deployable unit in Kubernetes, consisting of one or more containers that share resources such as storage and networking.
What is a Node in Kubernetes?
A Node is a physical or virtual machine that runs Kubernetes components and hosts Pods.
What is a Deployment in Kubernetes?
A Deployment manages the lifecycle of Pods, enabling declarative updates and rollbacks to application configurations.
What is a Service in Kubernetes?
A Service provides a consistent way to access and load balance traffic to a set of Pods.
What is a ReplicaSet in Kubernetes?
A ReplicaSet ensures that a specified number of Pod replicas are running at any given time, helping to maintain availability and scalability.
What is the role of the Kubernetes API server?
The Kubernetes API server exposes the Kubernetes API, which allows users to interact with Kubernetes clusters and manage resources.
How does Kubernetes handle scaling?
Kubernetes can scale applications horizontally by adding or removing Pod replicas based on resource utilization or custom metrics.
What is a Kubernetes namespace?
A Kubernetes namespace provides a way to logically divide cluster resources, enabling multiple users or teams to share a cluster while maintaining isolation.
What is a Kubernetes Controller?
A Kubernetes Controller is a control loop that watches the state of cluster resources and makes changes to bring the actual state closer to the desired state.
What is the purpose of Kubernetes labels and selectors?
Kubernetes labels are key-value pairs attached to objects, while selectors are used to identify a set of objects based on their labels. Labels and selectors are used for grouping, filtering, and selecting objects for operations.
What is a Kubernetes ConfigMap?
A ConfigMap is a Kubernetes resource used to store configuration data in key-value pairs, which can be consumed by Pods as environment variables or mounted as files.
What is a Kubernetes Secret?
A Secret is a Kubernetes resource used to store sensitive information, such as passwords, API keys, and certificates, in a secure manner.
What is a Kubernetes PersistentVolume (PV)?
A PersistentVolume (PV) is a piece of storage in the cluster that has been provisioned by an administrator. It is a resource in the cluster just like a node is a cluster resource.
What is a Kubernetes PersistentVolumeClaim (PVC)?
A PersistentVolumeClaim (PVC) is a request for storage by a user. It is similar to a Pod. Pods consume node resources and PVCs consume PV resources.
What is a Kubernetes StatefulSet?
A StatefulSet is a Kubernetes controller used to manage stateful applications. It ensures stable, unique network identifiers and persistent storage for each Pod instance.
What is the purpose of Kubernetes Ingress?
Kubernetes Ingress is an API object that manages external access to services within a Kubernetes cluster, typically HTTP/HTTPS traffic.
What is a Kubernetes Helm chart?
A Helm chart is a package format for Kubernetes applications, which includes pre-configured Kubernetes resources such as Deployments, Services, and ConfigMaps.
How does Kubernetes handle service discovery and load balancing?
Kubernetes uses DNS for service discovery, allowing services to be accessed by other services or external clients using a DNS name. Load balancing is handled by Kubernetes Services, which distribute traffic to the Pods behind them.
What is the Kubernetes scheduler?
The Kubernetes scheduler is a component responsible for assigning Pods to Nodes based on resource requirements, quality of service, and other policies.
What is a Kubernetes Operator?
A Kubernetes Operator is a method of packaging, deploying, and managing a Kubernetes application. It extends the Kubernetes API to create, configure, and manage complex applications and services automatically.
What is the purpose of Kubernetes RBAC (Role-Based Access Control)?
Kubernetes RBAC is used to control access to the Kubernetes API and resources within a cluster by defining roles, role bindings, and service accounts, allowing fine-grained authorization.
What is a Kubernetes PodSpec?
A PodSpec is a specification used to define the desired state of a Pod, including the container images, volumes, environment variables, and other settings.
What is the difference between a DaemonSet and a Deployment in Kubernetes?
A DaemonSet ensures that all (or some) Nodes run a copy of a Pod, typically used for system daemons or monitoring agents. A Deployment manages the lifecycle of Pods and ensures a desired number of replicas are running.
What is the purpose of Kubernetes readiness probes?
Kubernetes readiness probes are used to determine if a Pod is ready to serve traffic. If a readiness probe fails, the Pod is removed from the service’s pool of endpoints until it passes the probe again.
What is the Kubernetes Control Plane?
The Kubernetes Control Plane consists of a set of components that control the state of the cluster, including the API server, scheduler, controller manager, and etcd.
What is the role of etcd in Kubernetes?
etcd is a distributed key-value store used by Kubernetes to store cluster state, configuration, and metadata, providing a reliable and consistent data store for the entire cluster.
What is a Kubernetes Taint?
A Kubernetes Taint is a key-value pair applied to a Node that repels (or taints) Pods, preventing them from running on the Node unless the Pod has a corresponding toleration.
What is a Kubernetes Toleration?
A Kubernetes Toleration is a Pod specification that allows the Pod to tolerate (or ignore) the effect of a Node’s taint, enabling the Pod to schedule and run on tainted Nodes.
What is Kubernetes CNI (Container Network Interface)?
Kubernetes CNI is a standard for connecting containers to a network, providing networking capabilities such as IP address management, inter-container communication, and network isolation within Kubernetes clusters.
What is a Kubernetes HorizontalPodAutoscaler (HPA)?
A HorizontalPodAutoscaler automatically adjusts the number of Pod replicas in a Deployment, ReplicaSet, or StatefulSet based on CPU utilization or custom metrics, ensuring optimal performance and resource utilization.
What is Kubernetes Pod Security Policy (PSP)?
Kubernetes Pod Security Policy is a set of rules that governs how Pods can run within a cluster, enforcing security constraints such as running as non-root users, using specific volumes, and restricting access to host resources.
What is Kubernetes Deployment Strategy?
Kubernetes Deployment Strategy defines how updates to a Deployment are rolled out, including options such as rolling update, recreate, and blue-green deployment, allowing for controlled and automated application updates with minimal downtime.
What is Kubernetes Init Container?
A Kubernetes Init Container is a separate container that runs before the main container in a Pod, used to perform initialization tasks such as setup, configuration, or data preparation before the application starts.
What is Kubernetes Volume?
A Kubernetes Volume is a directory accessible to containers in a Pod, used for persisting data beyond the lifecycle of the container. Volumes can be backed by various storage types, including local storage, network storage, and cloud storage.
What is Kubernetes Pod Security Context?
Kubernetes Pod Security Context is a Pod-level configuration that defines security settings such as running as a specific user or group, configuring Linux capabilities, and enforcing SELinux or AppArmor profiles to enhance container security.
What is Kubernetes Affinity and Anti-Affinity?
Kubernetes Affinity and Anti-Affinity are mechanisms for influencing Pod scheduling decisions based on Node or Pod labels. Affinity ensures Pods are scheduled on specific Nodes, while Anti-Affinity avoids co-locating Pods based on specific criteria.
What is Kubernetes Network Policy?
Kubernetes Network Policy is a resource that defines how Pods are allowed to communicate with each other and other network endpoints within a cluster, enabling fine-grained network segmentation and access control.
What is Kubernetes Pod Disruption Budget (PDB)?
Kubernetes Pod Disruption Budget is a policy that defines the minimum number of Pods of a certain type that must remain available during voluntary disruptions such as maintenance or scaling events, ensuring application stability and availability.