Most Frequently asked OpenShift Interview Questions (2020)
OpenShift is a Red Hat Service Platform. The service platform is suitable for offering certain services to users, such as auto-scaling. OpenShift Enterprise also supports various programming languages and related frameworks, applications lifecycle , and integrated tools.
So lets understand the need first : The move to modern application development and the need for rapid and continuous deployment make a strong DevOps-enabling platform, a key component in the IT arsenal.
Applications are designed around smaller, independent microservices modules. The decomposition of applications into smaller components has distinct advantages of designing software more efficiently and producing them in a more robust way - both of which are ideally matched with the market needs today. This approach however adds complexity in the IT operations application layer.
For IT operations to support this modern application architecture, the underlying middleware, runtime, and other application development resources, lifecycle management should be highly automated and abstract their complexity. Standardization and abstraction of systems not only make operations more effective in addressing developer needs but also help streamline the implementation process, thus improving the delivery of microservice-based applications.
In this post, questions from Openshift Interviews will be answered for Experienced and Freshers. We're trying to share our experience and learn how to help you make progress in your career.
Q: What is Cloud Computing?
Cloud computing is providing on-demand computing resources, from applications to data centers around the internet.Cloud computing has become the preferred way to deliver enterprise applications â and the chosen choice for companies to extend their infrastructure or introduce new technologies
Q: What are benefits of Cloud Computing?
- Elastic resources: Scale up or down quickly and easily to meet a demand.
- Self-service: All the required IT resources with selfservice access.
- Metered service: You only pay for what you use.
Q: What are different types of Cloud?
Based on a cloud location, we can classify cloud as:
- Public: A public cloud is where users don't need to purchase hardware, software, or supporting infrastructure, which is owned and managed by the providers.
- Private: A private cloud is pretty much same as public cloud and has similar advantages, but is provisioned for a single organization over private infrastructure.
- Hybrid: As name suggests hybrid cloud is a type of cloud computing where private/on-premises cloud infrastructure integrates with public cloud services..
- IaaS: Infrastructure-as-a-Service
- PaaS: Platform-as-a-Service
- SaaS: Software-as-a-Service
Q: What is OpenShift?
OpenShift is the RedHat Cloud Development Platform (PaaS) service. Its flagship product is the on-premises OpenShift Container Platform as a service built around Docker containers orchestrated and controlled by Kubernetes on a Red Hat Enterprise Linux base.
Free and open source cloud-based platforms allow developers to build, test and run their applications and deploy them to the cloud.
Q: What is Containerization?
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
- The modern platform has essential component components for Linux containers. Today, a robust DevOps environment is installed on the Docker project in the most common Linux Container Format. Docker is a container open source software platform that makes application deployment simpler and also enables the use of containers for applications.
- Containerization based on virtualization allows any application bundled in a container which can be run without the hassles of any dependency like libraries.
- They create a sort of isolated partition within a single operating system.
Checkout our related posts :
Q: What is difference between Docker and OpenShift?
The key difference is that Docker is focused only on the runtime container as a project, while OpenShift (as a system) contains both the runtime container and the REST API, coordination, and web interfaces for the deployment and management of individual containers.
OpenShift is more a container orchestration abstraction layer. OpenShift uses Kubernetes internally for orchestration of containers. For container orchestration, While Docker has docker swarm for container orchestration
Q: What is containers Orchestration in Kubernetes?
While containers are effective at the heavy lifting while instantiating an image or application component on a single hosting environment, most modern applications are comprised of many components that span multiple hosts that in turn could be in various geographic regions. This is where orchestration and management become a question.
Applications generally are built up of individually containerized components/micro services that must be managed for the application to perform as expected.
- Container orchestration is the process of managing or organizing multiple containers in this fashion. For example: Docker Swarm, Kubernetes, Mesos and Marathon
- Kubernetes is an open source platform initially developed by engineers at Google, which automates container operations. It allows you to build application services that span multiple containers, schedule those containers across a cluster, scale those containers, and manage the health of those containers over time. Kubernetes handles container deployments and orchestration as a cluster manager by using a declarative model that enables the user to define their application needs.
Q: What is in OpenShift Container Platform?
Let's understand what OpenShift Container platform is
- RedHat OpenShift Container Platform is a PAAS offering from RedHat, which was formally known as OpenShift Enterprises
- It is a supported distribution of Kubernetes using Docker containers and DevOps tools for accelerated application development.
- Open Shift also allows you to have highly available, self-healing, and auto-scaling applications without any of the manual setup that would typically need to be done in a traditional environment whether they're onpremise or in the public cloud.
- OpenShift includes a full complement of open source programming languages giving polyglot choice to developers.
Q: What are Benefits of OpenShift?
Let's understand what OpenShift Container platform is
- Provides a container management platform for your complex IT infrastructure.
- Kubernetes is the industry leading open source container orchestration framework and Red Hat OpenShift Container Platform is the leading enterprise distribution of Kubernetes
- Enables your development team to focus on designing and testing applications rather than spending excessive time in managing and deploying containers.
- It includes containerization for multitenancy, automatic provisioning, automatic application scaling, continuous integration, and self-service for developers.
Q: Explain OpenShift Architecture?
OpenShift Container Platform is a set of modular components and services built on top of Red Hat Enterprise Linux, Docker, and Kubernetes. OpenShift addKubernetess capabilities such as remote management, multitenancy, increased security, application life-cycle management and self-service interfaces for developers.
In the above figure, going from bottom to top, and from left to right, the basic container infrastructure is shown, integrated and enhanced by Red Hat:
- The base OS is Red Hat Enterprise Linux (RHEL).
- Docker provides the basic container management API and the container image file format.
- Kubernetes manages a cluster of hosts (physical or virtual) that run containers. It works with resources that describe multi-container applications composed of multiple resources, and how they interconnect.
- Etcd is a distributed key-value store, used by Kubernetes to store configuration and state information about the containers and other resources inside the OpenShift cluster.
Q: What Is Pod?
Pods are the rough equivalent of a machine instance (physical or virtual) to a container. OpenShift leverages the Kubernetes concept of a pod , which is one or more containers deployed together on one host, and the smallest compute unit that can be defined, deployed, and managed.
The Kubernetes scheduling unit is the Pod, which is a grouping of containers sharing a virtual network device, internal IP address, TCP/UDP ports, and persistent storage. A Pod can be anything from a complete enterprise application, including each of its layers as a distinct container, to a single microservice inside a single container. Kubernetes manages replicas to scale pods. A replica is a set of pods sharing the same definition. OpenShift treats pods as largely immutable; changes cannot be made to a pod definition while it is running.
Q: What is OpenShift deployment?
Deployment in OpenShift is a replication controller based on a user-defined template called a deployment configuration. Deployments are manually created, or in response to triggered events. The deployment system provides the following:
- A deployment configuration, which is a template for deployments.
- Triggers that drive automated deployments in response to events.
- User-customizable strategies to transition from the previous deployment to the new deployment.
- Rollbacks to a previous deployment.
- Manual replication scaling.
Q: What Are Deployment Strategies?
A deployment strategy is a way to change an application or to update it. The goal is to make the transition in a way that the consumer barely notices the changes, without downtime. Using a blue-green deployment is the commonest
The new version (the blue version) is being built for testing and evaluation, while the users are still using the stable version (the green). The users are moved to the blue version when it's available. You can go back to the Green version if a problem occurs.
Q: What Is Rolling Strategy?
A rolling rollout gradually replaces instances of an application's prior version with instances of the application's current version. A rolling deployment usually waits for new pods to get ready through a readiness test until the old modules are scaled down. The rolling deployment can be halted if a serious problem occurs.
Q: What Is Canary Deployments?
All rolling deployments in OpenShift Origin are canary deployments; it checks a new version (the canary) before replacing all the old instances. Unless the readiness test never works, then the canary instance and deployment will be disabled.
Q: What Is Routes In Openshift?
In OpenShift Routes is a way to externalize the services by providing externally reachable hostname. In OpenShift routes are created using routers developed by admin.
Q: Do you know the most important features of Openshift ?
There are a lot of features offered by OpenShift. Here are a few main features :
- Software Defined Network
- Persistent Storage.
- Container Native Storage (CNS / SDS).
- Log Aggregation and Analysis.
- Monitoring | Telemetry.
- Capacity Management
- Egress Routing for Enterprise integration. Router Sharding.
- Full Stack Support.
- Automatic Application Scaling
- Rich Command-line Toolset
- Source Code Version Management
- System Certifications and Patching.
- Multi Environment Support
- Software Defined Network
- Multiple database and Language Support
- Remote Debugging of Applications
- Support for remote SSH login to application.
- Rest API Support
- Self-service on Demand Application Stack
- Remote Debugging of Applications
- Built-in Database Services
- Continuous Integration and Release Management
- Extensible Cartridge System
- IDE Integration
Q: What Is Openshift Online?
OpenShift online is an OpenShift community service that allows one to create, deploy and scale containerized applications on the public cloud quickly.
It is the development and hosting platform of Red Hat's public cloud platform, which enables automated provisioning, management and application scaling to help developers concentrate on the development of framework logic.
Q: What is DevOps ?
DevOps help organizations respond in a more agile manner to changing business requirements by:
- Automating and monitoring the process of software creation, from integration, testing, releasing to deploying and managing it.
- Streamlining the development and release pipeline
- Increasing the frequency of deployment
- Reducing the development cycles
Q: What is PaaS ?
As the name suggests, PaaS (Platform as a Service) provides you with computing platforms which usually include the operating system, programming language execution environment, database, web server etc.
- The real benefit of Cloud computing is the operational agility provided by the Cloud platform in which we don't have to worry about IT infrastructure and we can just focus on building our apps
- In PAAS the capability provided to the consumer is to deploy applications created using programming languages, libraries, services, and tools supported by the provider onto the cloud infrastructure.
- The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment
- PAAS originated from shared IT service model wherein multiple tenants ran applications on shared systems
- Containerization is an ability to virtualize the Operating System (OS) resources instead of the underlying hardware while it sits directly on top of the bare meta