Chapter1-K8s and Openshift Flashcards
(10 cards)
What are the core components that make up a container and how do they contribute to its isolated runtime environment?
Containers consist of a container image, which packages the application and its dependencies, and a container runtime environment. Linux kernel features like namespaces and control groups (cgroups) isolate the container’s processes and resources from the host system and other containers.
Explain the difference between a container and a Kubernetes Pod. Provide an example of when you might use a Pod with multiple containers
A container is a single, isolated process running an application, while a Kubernetes Pod is a group of one or more containers that share resources and networking. You might use a Pod with multiple containers when you need a closely coupled application, such as a web server and a logging sidecar container.
Describe how Kubernetes uses a declarative configuration model to manage workloads.
Kubernetes uses a declarative configuration model where administrators define the desired state of workloads, and Kubernetes ensures the actual state matches this definition. Instead of specifying the steps to create workloads, administrators declare the desired end state, allowing for automated management and self-healing.
What are three key features of Kubernetes that contribute to the self-healing capabilities of applications running in the cluster?
Kubernetes offers self-healing through health checks, automatic restarts, and rescheduling. If a container fails its health check, Kubernetes can restart it. If a node fails, Kubernetes can reschedule the container to a healthy node, ensuring application availability.
Explain the concept of “Operators” in Kubernetes and provide an example of how an operator might manage a specific type of workload.
Operators in Kubernetes are application-specific controllers that extend Kubernetes functionality to manage complex applications. For example, a database operator might handle tasks like deploying a database cluster, managing backups, and performing upgrades automatically based on a user-defined desired state.
Differentiate between the roles of control plane nodes and compute plane nodes within a Kubernetes cluster.
Control plane nodes manage the overall Kubernetes cluster, including scheduling workloads and maintaining the cluster’s state. Compute plane nodes run the actual application workloads in the form of Pods. This separation ensures better stability and security for the cluster.
How does Kubernetes facilitate service discovery and load balancing within a cluster?
Kubernetes provides a built-in DNS service for pods, allowing them to communicate using hostnames instead of IP addresses. Kubernetes also acts as a load balancer, distributing traffic across multiple pods backing a service, ensuring high availability and performance.
What are three reasons why Kubernetes is not considered a traditional Platform as a Service (PaaS)?
Kubernetes does not limit the types of applications supported, it does not deploy source code or build applications, and it does not provide application-level services as built-in features. It focuses on container orchestration and allows for flexibility in choosing development tools and services.
Describe two key advantages of container deployment compared to virtualized deployment
Container deployment offers advantages like agile application creation and deployment, with faster image creation compared to VMs. Containers also provide environmental consistency across development, testing, and production environments, ensuring applications behave consistently regardless of the underlying infrastructure.
What are the key distinctions between Red Hat OpenShift Kubernetes Engine and Red Hat OpenShift Container Platform?
Red Hat OpenShift Kubernetes Engine provides a core Kubernetes platform with security hardening and enterprise stability. Red Hat OpenShift Container Platform builds upon this by adding features like a developer console, log management, cost management, and additional tools for enhanced manageability and development workflows.