MENU
Overview
Introduction to OpenShift
What is OpenShift?
Learn about Red Hat's next-generation cloud application platform.
Our Customers
Discover what companies are using OpenShift to deliver a flexible, scalable cloud application environment.
News
Awards
Industry recognition and awards.
OpenShift Blog
Keep your finger on the pulse of all things OpenShift.
Events
OpenShift sponsors and attends a variety of in-person events around the globe.
In the Press
The latest OpenShift news and press releases.
Careers
Logos & Media
Features
OpenShift Online
Overview
Quickly develop, host, and scale containerized apps in the public cloud with on-demand access.
Plans & Pricing
Deploy up to 4 services for free. Upgrade and power your apps with up to 48GiB of memory and 100GiB of storage.
Sign up for Free
OpenShift Dedicated
Overview
Your own private OpenShift cluster, operated by Red Hat.
OpenShift Container Platform
Overview
Run OpenShift in your data center or private cloud.
Resources
Webinars, datasheets, reference architectures, demo videos and more.
Try it for Free
Application Gallery
Developers
Getting Started
New to OpenShift? Get your first application up and running and learn the basics.
Hub
Find languages, frameworks, databases, and add-on services for OpenShift.
Developer Portal
Learn about building, deploying, and managing your applications.
Documentation
Stack Overflow
A Q&A site for everything development related. Post a question or browse answers on the 'openshift' tag.
Training & Certification
Red Hat Training's hands-on, task-focused courses and certifications for IT professionals and developers.
Application Gallery
Our showcase of applications running on Red Hat OpenShift Online.
Contribute to OpenShift
Get in touch with our product team, or become a part of the OpenShift Origin open source project.
Vote on Features
Partners
Become a Partner
Build on the strength of the world's leading open source company.
Find OpenShift Partners
Find qualified partners to help you with your OpenShift projects.
OpenShift Commons
Where users, partners, customers, and contributors come together to collaborate on OpenShift.
Resource Grants
For non-profits, educational institutions, and open source initiatives.
Startup Program
Designed to help startups build and scale.
Support
Red Hat Customer Portal
Manage support cases, browse Knowledgebase articles, and more.
Documentation
Official product documentation from Red Hat.
Help Center
The fastest way to find your available support options.
Stack Overflow
A Q&A site for everything development related. Post a question or browse answers on the 'openshift' tag.
Contact Us
Connect
Blog
Events & Conferences
OpenShift Commons
Where users, partners, customers, and contributors come together to collaborate on OpenShift.
Twitter
Facebook
LinkedIn
GitHub
Google+
YouTube
My Account
OpenShift Online 3 (New!)
OpenShift Online 2
Contact Us
My Account
OpenShift Online 3 (New!)
OpenShift Online 2
Sign up for Free
Toggle nav
Documentation
OpenShift Container Platform Branch Build
Getting Started
Revision History
Page history
/
Suggest an edit
Search
×
About
Welcome
Legal Notice
Full Revision History
Release Notes
Overview
OpenShift Container Platform 3.9 Release Notes
xPaaS Release Notes
Comparing with OpenShift Enterprise 2
Revision History
Getting Started
Overview
Install OpenShift
Configure OpenShift
Web Console Walkthrough
Command-Line Walkthrough
Revision History
Architecture
Overview
Infrastructure Components
Kubernetes Infrastructure
Container Registry
Web Console
Core Concepts
Overview
Containers and Images
Pods and Services
Projects and Users
Builds and Image Streams
Deployments
Templates
Additional Concepts
Authentication
Authorization
Persistent Storage
Source Control Management
Admission Controllers
Custom Admission Controllers
Other API Objects
Networking
Networking
OpenShift SDN
Network Plug-ins
Port Forwarding
Remote Commands
HAProxy Router Plug-in
Routes
Service Catalog Components
Service Catalog
Template Service Broker
OpenShift Ansible Broker
Revision History
Container Security Guide
Introduction
Container Hosts and Multi-tenancy
Container Content
Registries
Build Process
Deployment
Securing the Container Platform
Network Security
Attached Storage
Monitoring Events and Logs
Revision History
Installation and Configuration
Overview
Installing a Cluster
Planning
Prerequisites
Host Preparation
Installing on Containerized Hosts
Quick Installation
Advanced Installation
Disconnected Installation
Installing a Stand-alone Deployment of OpenShift Container Registry
Setting up the Registry
Registry Overview
Deploying a Registry on Existing Clusters
Accessing the Registry
Securing and Exposing the Registry
Extended Registry Configuration
Known Issues
Setting up a Router
Router Overview
Using the Default HAProxy Router
Deploying a Customized HAProxy Router
Configuring the HAProxy Router to Use the PROXY Protocol
Using the F5 Router Plug-in
Deploying Red Hat CloudForms
Introduction
Requirements
Configuring Role Variables
Running the Installer
Enabling Container Provider Integration
Uninstalling
Master and Node Configuration
OpenShift Ansible Broker Configuration
Adding Hosts to an Existing Cluster
Loading the Default Image Streams and Templates
Configuring Custom Certificates
Redeploying Certificates
Configuring Authentication and User Agent
Syncing Groups With LDAP
Advanced LDAP Configuration
Overview
Setting up SSSD for LDAP Failover
Configuring Form-Based Authentication
Configuring Extended LDAP Attributes
Configuring the SDN
Configuring Nuage SDN
Configuring for AWS
Configuring for OpenStack
Configuring for GCE
Configuring for Azure
Configuring for VMWare vSphere
Configuring for Local Volume
Configuring for PVC Protection
Configuring Persistent Storage
Overview
Using NFS
Using GlusterFS
Using OpenStack Cinder
Using Ceph RBD
Using AWS Elastic Block Store
Using GCE Persistent Disk
Using iSCSI
Using Fibre Channel
Using Azure Disk
Using Azure File
Using FlexVolume
Using VMWare vSphere
Using Local Volume
Dynamic Provisioning and Creating Storage Classes
Volume Security
Selector-Label Volume Binding
Enabling Controller-managed Attachment and Detachment
Persistent Volume Snapshots
Persistent Storage Examples
Overview
Sharing an NFS PV Across Two Pods
Complete Example Using Ceph RBD
Complete Example Using Ceph RBD for Dynamic Provisioning
Complete Example Using GlusterFS
Complete Example Using GlusterFS for Dynamic Provisioning
Mounting Volumes To Privileged Pods
Switching an Integrated OpenShift Container Registry to GlusterFS
Binding Persistent Volumes by Label
Using StorageClasses for Dynamic Provisioning
Using StorageClasses for Existing Legacy Storage
Configuring Azure Blob Storage for Integrated Docker Registry
Working with HTTP Proxies
Configuring Global Build Defaults and Overrides
Configuring Pipeline Execution
Configuring Route Timeouts
Configuring Native Container Routing
Routing from Edge Load Balancers
Aggregating Container Logs
Aggregate Logging Sizing Guidelines
Enabling Cluster Metrics
Customizing the Web Console
Deploying External Persistent Volume Provisioners
Revision History
Upgrading Clusters
Upgrade Methods and Strategies
Automated In-place Upgrades
Manual In-place Upgrades
Blue-Green Deployments
Updating Operating Systems
Downgrading
Day Two Operations Guide
Overview
Run-once tasks
Environment health checks
Host-level tasks
Project-level tasks
Docker tasks
Managing Certificates
Cluster Administration
Overview
Managing Nodes
Managing Users
Managing Projects
Managing Pods
Managing Networking
Configuring Service Accounts
Managing Role-based Access Control
Image Policy
Image Signatures
Scoped Tokens
Monitoring Images
Managing Security Context Constraints
Scheduling
Overview
Default Scheduling
Descheduling
Custom Scheduling
Controlling Pod Placement
Advanced Scheduling
Advanced Scheduling and Node Affinity
Advanced Scheduling and Pod Affinity/Anti-affinity
Advanced Scheduling and Node Selectors
Advanced Scheduling and Taints and Tolerations
Setting Quotas
Setting Multi-Project Quotas
Setting Limit Ranges
Pruning Objects
Extending the Kubernetes API with Custom Resources
Garbage Collection
Allocating Node Resources
Opaque Integer Resources
Overcommitting
Assigning Unique External IPs for Ingress Traffic
Out of Resource Handling
Monitoring and Debugging Routers
High Availability
IPtables
Securing Builds by Strategy
Restricting Application Capabilities Using Seccomp
Sysctls
Encrypting Data at Datastore Layer
Encrypting Hosts with IPsec
Building Dependency Trees
Backup and Restore
Troubleshooting Networking
Diagnostics Tool
Idling Applications
Analyzing Cluster Capacity
Revision History
Scaling and Performance Guide
Overview
Recommended Installation Practices
Recommended Host Practices
Optimizing Compute Resources
Optimizing Storage
Network Optimization
Routing Optimization
Scaling Cluster Metrics
Cluster Limits
Using Cluster Loader
Using CPU Manager
Managing Huge Pages
Revision History
CLI Reference
Overview
Get Started with the CLI
Managing CLI Profiles
Developer CLI Operations
Administrator CLI Operations
Extending the CLI
Revision History
Developer Guide
Overview
Application Life Cycle Management
Planning Your Development Process
Creating New Applications
Promoting Applications Across Environments
Authentication
Authorization
Projects
Migrating Applications
Overview
Database Applications
Web Framework Applications
QuickStart Examples
Continuous Integration and Deployment
Webhooks and Action Hooks
S2I Tool
Support Guide
Tutorials
Overview
Quickstart Templates
Ruby on Rails
Setting Up a Nexus Mirror
OpenShift Pipeline Builds
Binary Builds
Builds
How Builds Work
Basic Build Operations
Build Inputs
Build Output
Build Strategy Options
Build Environment
Triggering Builds
Build Hooks
Build Run Policy
Advanced Build Operations
Troubleshooting
Deployments
How Deployments Work
Basic Deployment Operations
Deployment Strategies
Advanced Deployment Strategies
Kubernetes Deployments Support
Templates
Opening a Remote Shell to Containers
Service Accounts
Managing Images
Quotas and Limit Ranges
Injecting Information into Pods Using Pod Presets
Getting Traffic into a Cluster over Non-Standard Ports
Overview
Using a Router
Using a Load Balancer
Using a Service ExternalIP
Using a NodePort
Routes
Integrating External Services
Using Device Manager
Using Device Plug-ins
Secrets
ConfigMaps
Downward API
Projected Volumes
Using Daemonsets
Pod Autoscaling
Managing Volumes
Using Persistent Volumes
Expanding Persistent Volumes
Executing Remote Commands
Copying Files
Port Forwarding
Shared Memory
Application Health
Events
Managing Environment Variables
Jobs
OpenShift Pipeline
Cron Jobs
Create from URL
Application memory sizing
Revision History
Creating Images
Overview
Guidelines
Image Metadata
S2I Requirements
Testing S2I Images
Custom Builder
Revision History
Using Images
Overview
Source-to-Image (S2I)
Overview
.NET Core
Node.js
Perl
PHP
Python
Ruby
Customizing S2I Images
Database Images
Overview
MySQL
PostgreSQL
MongoDB
MariaDB
Docker Images
Overview
Other Images
Overview
Jenkins
Jenkins Slaves
xPaaS Middleware Images
Overview
Revision History
Ansible Playbook Bundle Development Guide
Introduction
CLI Tooling
Writing APBs
Getting Started
Reference
Revision History
Go Client Library Reference
Getting Started
Connecting to the Cluster
Tracing API Requests and Responses
Standard API Operations
Serializing and Deserializing
Instantiating Templates
Executing Remote Processes
REST API Reference
Overview
Examples
Revision History
/api/v1
v1.APIResourceList
v1.APIVersions
v1.Binding
v1.ComponentStatus
v1.ConfigMap
v1.Endpoints
v1.Event
v1.LimitRange
v1.Namespace
v1.Node
v1.PersistentVolume
v1.PersistentVolumeClaim
v1.Pod
v1.PodTemplate
v1.ReplicationController
v1.ResourceQuota
v1.Secret
v1.SecurityContextConstraints
v1.Service
v1.ServiceAccount
/apis/v1
v1.APIGroup
v1.APIGroupList
/apis/apps/v1
v1.ControllerRevision
v1.DaemonSet
v1.Deployment
v1.ReplicaSet
v1.StatefulSet
/apis/apps/v1beta1
v1beta1.ControllerRevision
v1beta1.Deployment
v1beta1.StatefulSet
/apis/apps/v1beta2
v1beta2.ControllerRevision
v1beta2.DaemonSet
v1beta2.Deployment
v1beta2.ReplicaSet
v1beta2.StatefulSet
/apis/autoscaling/v1
v1.HorizontalPodAutoscaler
/apis/autoscaling/v2beta1
v2beta1.HorizontalPodAutoscaler
/apis/batch/v1
v1.Job
/apis/batch/v1beta1
v1beta1.CronJob
/apis/batch/v2alpha1
v2alpha1.CronJob
/apis/extensions/v1beta1
v1beta1.DaemonSet
v1beta1.Deployment
v1beta1.Ingress
v1beta1.NetworkPolicy
v1beta1.PodSecurityPolicy
v1beta1.ReplicaSet
/apis/policy/v1beta1
v1beta1.PodDisruptionBudget
/apis/admissionregistration.k8s.io/v1beta1
v1beta1.MutatingWebhookConfiguration
v1beta1.ValidatingWebhookConfiguration
/apis/apiregistration.k8s.io/v1beta1
v1beta1.APIService
/apis/authentication.k8s.io/v1
v1.TokenReview
/apis/authentication.k8s.io/v1beta1
v1beta1.TokenReview
/apis/authorization.k8s.io/v1
v1.LocalSubjectAccessReview
v1.SelfSubjectAccessReview
v1.SelfSubjectRulesReview
v1.SubjectAccessReview
/apis/authorization.k8s.io/v1beta1
v1beta1.LocalSubjectAccessReview
v1beta1.SelfSubjectAccessReview
v1beta1.SelfSubjectRulesReview
v1beta1.SubjectAccessReview
/apis/rbac.authorization.k8s.io/v1
v1.ClusterRole
v1.ClusterRoleBinding
v1.Role
v1.RoleBinding
/apis/rbac.authorization.k8s.io/v1beta1
v1beta1.ClusterRole
v1beta1.ClusterRoleBinding
v1beta1.Role
v1beta1.RoleBinding
/apis/certificates.k8s.io/v1beta1
v1beta1.CertificateSigningRequest
/apis/events.k8s.io/v1beta1
v1beta1.Event
/apis/networking.k8s.io/v1
v1.NetworkPolicy
/apis/storage.k8s.io/v1
v1.StorageClass
/apis/storage.k8s.io/v1beta1
v1beta1.StorageClass
/apis/apps.openshift.io/v1
v1.DeploymentConfig
/apis/authorization.openshift.io/v1
v1.ClusterRole
v1.ClusterRoleBinding
v1.LocalResourceAccessReview
v1.LocalSubjectAccessReview
v1.ResourceAccessReview
v1.Role
v1.RoleBinding
v1.RoleBindingRestriction
v1.SelfSubjectRulesReview
v1.SubjectAccessReview
v1.SubjectRulesReview
/apis/build.openshift.io/v1
v1.Build
v1.BuildConfig
/apis/image.openshift.io/v1
v1.Image
v1.ImageSignature
v1.ImageStream
v1.ImageStreamImage
v1.ImageStreamImport
v1.ImageStreamMapping
v1.ImageStreamTag
/apis/network.openshift.io/v1
v1.ClusterNetwork
v1.EgressNetworkPolicy
v1.HostSubnet
v1.NetNamespace
/apis/oauth.openshift.io/v1
v1.OAuthAccessToken
v1.OAuthAuthorizeToken
v1.OAuthClient
v1.OAuthClientAuthorization
/apis/project.openshift.io/v1
v1.Project
v1.ProjectRequest
/apis/quota.openshift.io/v1
v1.AppliedClusterResourceQuota
v1.ClusterResourceQuota
/apis/route.openshift.io/v1
v1.Route
/apis/security.openshift.io/v1
v1.PodSecurityPolicyReview
v1.PodSecurityPolicySelfSubjectReview
v1.PodSecurityPolicySubjectReview
v1.SecurityContextConstraints
/apis/template.openshift.io/v1
v1.BrokerTemplateInstance
v1.Template
v1.TemplateInstance
/apis/user.openshift.io/v1
v1.Group
v1.Identity
v1.User
v1.UserIdentityMapping
/oapi/v1
v1.AppliedClusterResourceQuota
v1.Build
v1.BuildConfig
v1.ClusterNetwork
v1.ClusterResourceQuota
v1.ClusterRole
v1.ClusterRoleBinding
v1.DeploymentConfig
v1.EgressNetworkPolicy
v1.Group
v1.HostSubnet
v1.Identity
v1.Image
v1.ImageSignature
v1.ImageStream
v1.ImageStreamImage
v1.ImageStreamImport
v1.ImageStreamMapping
v1.ImageStreamTag
v1.LocalResourceAccessReview
v1.LocalSubjectAccessReview
v1.NetNamespace
v1.OAuthAccessToken
v1.OAuthAuthorizeToken
v1.OAuthClient
v1.OAuthClientAuthorization
v1.PodSecurityPolicyReview
v1.PodSecurityPolicySelfSubjectReview
v1.PodSecurityPolicySubjectReview
v1.ProcessedTemplate
v1.Project
v1.ProjectRequest
v1.ResourceAccessReview
v1.Role
v1.RoleBinding
v1.RoleBindingRestriction
v1.Route
v1.SelfSubjectRulesReview
v1.SubjectAccessReview
v1.SubjectRulesReview
v1.Template
v1.User
v1.UserIdentityMapping
Revision History: Getting Started