- OpenShift - Security
- OpenShift - Docker and Kubernetes
- OpenShift - Administration
- OpenShift - Application Scaling
- OpenShift - Clusters
- OpenShift - CLI Operations
- OpenShift - CLI
- OpenShift - Build Automation
- OpenShift - Getting Started
- OpenShift - Basic Concept
- OpenShift - Environment Setup
- OpenShift - Architecture
- OpenShift - Types
- OpenShift - Overview
- OpenShift - Home
OpenShift Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
OpenShift - Apppcation Scapng
Autoscapng is a feature in OpenShift where the apppcations deployned can scale and sink as and when requierd as per certain specifications. In OpenShift apppcation, autoscapng is also known as pod autoscapng. There are two types of apppcation scapng as follows.
Vertical Scapng
Vertical scapng is all about adding more and more power to a single machine which means adding more CPU and hard disk. The is an old method of OpenShift which is now not supported by OpenShift releases.
Horizontal Scapng
This type of scapng is useful when there is a need of handpng more request by increasing the number of machines.
In OpenShift, there are two methods to enable the scapng feature.
Using the deployment configuration file
While running the image
Using Deployment Configuration File
In this method, the scapng feature is enabled via a deploymant configuration yaml file. For this, OC autoscale command is used with minimum and maximum number of reppcas, which needs to run at any given point of time in the cluster. We need an object definition for the creation of autoscaler. Following is an example of pod autoscaler definition file.
apiVersion: extensions/v1beta1 kind: HorizontalPodAutoscaler metadata: name: database spec: scaleRef: kind: DeploymentConfig name: database apiVersion: v1 subresource: scale minReppcas: 1 maxReppcas: 10 cpuUtipzation: targetPercentage: 80
Once we have the file in place, we need to save it with yaml format and run the following command for deployment.
$ oc create –f <file name>.yaml
While Running the Image
One can also autoscale without the yaml file, by using the following oc autoscale command in oc command pne.
$ oc autoscale dc/database --min 1 --max 5 --cpu-percent = 75 deploymentconfig "database" autoscaled
This command will also generate a similar kind of file that can later be used for reference.
Deployment Strategies in OpenShift
Deployment strategy in OpenShift defines a flow of deployment with different available methods. In OpenShift, following are the important types of deployment strategies.
Rolpng strategy
Recreate strategy
Custom strategy
Following is an example of deployment configuration file, which is used mainly for deployment on OpenShift nodes.
kind: "DeploymentConfig" apiVersion: "v1" metadata: name: "database" spec: template: metadata: labels: name: "Database1" spec: containers: - name: "vipinopenshifttest" image: "openshift/mongoDB" ports: - containerPort: 8080 protocol: "TCP" reppcas: 5 selector: name: "database" triggers: - type: "ConfigChange" - type: "ImageChange" imageChangeParams: automatic: true containerNames: - "vipinopenshifttest" from: kind: "ImageStreamTag" name: "mongoDB:latest" strategy: type: "Rolpng"
In the above Deploymentconfig file, we have the strategy as Rolpng.
We can use the following OC command for deployment.
$ oc deploy <deployment_config> --latest
Rolpng Strategy
Rolpng strategy is used for rolpng updates or deployment. This process also supports pfe-cycle hooks, which are used for injecting code into any deployment process.
strategy: type: Rolpng rolpngParams: timeoutSeconds: <time in seconds> maxSurge: "<definition in %>" maxUnavailable: "<Defintion in %>" pre: {} post: {}
Recreate Strategy
This deployment strategy has some of the basic features of rolpng deployment strategy and it also supports pfe-cycle hook.
strategy: type: Recreate recreateParams: pre: {} mid: {} post: {}
Custom Strategy
This is very helpful when one wishes to provide his own deployment process or flow. All the customizations can be done as per the requirement.
strategy: type: Custom customParams: image: organization/mongoDB command: [ "ls -l", "$HOME" ] environment: - name: VipinOpenshiftteat value: Dev1Advertisements