OpenShift
OpenShift is a computer software product from Red Hat for container-based software deployment and management. It is a supported distribution of Kubernetes using Docker containers and DevOps tools for accelerated application development.
In the world of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), OpenShift is Red Hat's PaaS.
Different flavours of OpenShift:
- OpenShift Origin
- Open source application container platform
- OpenShift Online
- Public Application Development hosting service
- OpenShift Dedicated
- Managed private cluster on AWS/Google Clouds
- OpenShift Enterprise
- On-premise private PaaS
This article will mainly discuss OpenShift Origin.
OpenShift Origin is based on top of Docker containers and the Kubernetes cluster manager, with added developer and operational-centric tools that enable rapid application development, deployment, and lifecycle management.
- OpenShift Tools:
- Source Code Management (SCM) -> git
- Pipelines (CI/CD)
- Container Registry (OCR), for Docker images
- Software Defined Networking (SDN)
- API
- etcd (stores the state of the various OpenShift components)
- Governance (managing teams and users to provide access to applications and services)
- Three ways to interact with OpenShift:
- Web console (default port: 8443)
- CLI (OpenShift Client,
oc
) - REST API
Minishift
Minishift is a tool that helps you run OpenShift locally by launching a single-node OpenShift cluster inside a virtual machine. With Minishift you can try out OpenShift or develop with it, day-to-day, on your local machine.
OpenShift Client
- REST API:
$ TOKEN=$(oc whoami -t) $ curl https://localhost:8443/oapi/v1/users \ -H "Authorization: Bearer ${TOKEN}"