FRESHERS INTERVIEW Q&A
1. What is OpenShift, and how does it differ from Kubernetes?
– OpenShift is a Kubernetes-based container platform developed by Red Hat. It adds developer and operational tools on top of Kubernetes, making it more accessible for enterprises.
2. Explain the difference between a Pod and a Deployment in OpenShift.
– A Pod is the smallest deployable unit in Kubernetes and OpenShift, while a Deployment is a higher-level abstraction that manages the desired state of Pods. Deployments ensure that a specified number of Pod replicas are running at all times.
3. What is the purpose of the OpenShift Origin project?
– OpenShift Origin is the open-source community project that serves as the upstream for Red Hat OpenShift. It allows users to test and contribute to OpenShift’s development.
4. How does OpenShift handle container image security?
– OpenShift employs Image Streams and Source-to-Image (S2I) to build, manage, and deploy container images securely. It uses content trust and signature verification to ensure image security.
5. Explain the role of a Service in OpenShift.
– A Service in OpenShift is responsible for exposing a set of Pods as a network service. It provides a stable endpoint to access the Pods, even if they are replaced or scaled.
6. What is the purpose of a Route in OpenShift?
– A Route in OpenShift is used to expose services to external clients, such as web applications, by creating a hostname and a path that maps to a service.
7. How do you scale an application in OpenShift?
– You can scale an application in OpenShift by using the `oc scale` command or by updating the Deployment configuration with the desired replica count.
8. Explain the concept of a Namespace in OpenShift.
– A Namespace in OpenShift is a virtual cluster that provides a way to divide cluster resources between multiple users or projects. It isolates resources to prevent interference between different projects.
9. What are the main components of an OpenShift cluster?
– An OpenShift cluster comprises the Master Control Plane, which includes the API server, controller manager, and etcd, and the Node Machines, which run the container workloads.
10. How does OpenShift handle application health monitoring and scaling based on metrics?
– OpenShift utilizes Horizontal Pod Autoscalers (HPA) to automatically adjust the number of Pod replicas based on CPU or custom metrics. It also provides integration with Prometheus for monitoring and alerting.
11. What is the difference between a Persistent Volume (PV) and a Persistent Volume Claim (PVC) in OpenShift?
– A Persistent Volume (PV) is a storage resource in the cluster, while a Persistent Volume Claim (PVC) is a request for storage by a user. A PVC binds to a PV to provide storage to a Pod.
12. How can you upgrade OpenShift to a newer version?
– You can upgrade OpenShift by using the `oc` command-line tool or the web console to create a new cluster with the desired version and migrate applications and data from the old cluster to the new one.
13. Explain the concept of Operators in OpenShift.
– Operators are a method of packaging, deploying, and managing applications on OpenShift. They encapsulate operational knowledge, making it easier to manage complex applications.
14. What are Custom Resource Definitions (CRDs) in OpenShift, and why are they important?
– CRDs are extensions to the Kubernetes API that allow you to define custom resources. They are used to define and manage custom resources, such as those used by Operators.
15. How does OpenShift handle security and access control?
– OpenShift uses Role-Based Access Control (RBAC) to define and manage access to resources. It also provides security contexts, pod security policies, and network policies to enhance security.