User Tools

Site Tools


openshift

This is an old revision of the document!


Workflow comparisson Virtual vs. PAAS

Physical

  1. Have idea
  2. Get budget
  3. Submit hardware acquisition request
  4. Wait
  5. Get hardware
  6. Rack and stack hardware
  7. Install operating system
  8. Install OS patches/fix-packs
  9. Create user accounts
  10. Deploy framework/application server
  11. Deploy testing tools
  12. Test testing tools
  13. Code
  14. Configure production servers (buy them if needed)
  15. Push to production
  16. Launch
  17. Order more servers to meet demand
  18. Wait
  19. Deploy new servers
  20. Etc.

Virtual

  1. Have idea
  2. Get budget
  3. Submit VM request
  4. Wait
  5. Deploy framework/application server
  6. Deploy testing tools
  7. Test testing tools
  8. Code
  9. Configure production VMs
  10. Push to production
  11. Launch
  12. Order more production VMs to meet demand
  13. Wait
  14. Deploy application to new VMs
  15. Etc.

PAAS

  1. Have idea
  2. Get budget
  3. Code
  4. Test
  5. Launch
  6. Scale automatically

OpenSHift Architecture

  • Only x86 platforms supported
    • OpenShift runs on either RHEL or Red Hat Enterprise Atomic Host
      • Nodes are instances of RHEL 7 or Red Hat Atomic Host with OpenShift installed
        • Nodes are orchestrated by masters
  • Hybrid approach supports deploying OpenShift instances across all of these infrastructures
  • OpenShift is supported anywhere that Red Hat Enterprise Linux is
Scheduler

Determines placement of new pods onto nodes within OpenShift cluster. Select best-fit node

  • Sort nodes based on scores
  • Select node with highest score to host pod
  • If multiple nodes have same high score, select one at random
Replication ControllerEnsures that specified number of pod replicas running at all times. Adds or deletes pods according to life signs.
OpenShift Networking
  • Container networking based on integrated Open vSwitch
  • Platform-wide routing tier
  • Ability to plug in third-party software-defined network (SDN) solutions
  • Integrated with DNS and existing routing and load balancing

Scenario: External client points browser to myApp.cloudapps.ml.opentlc.com:80

  • DNS resolves to host running router container
  • Using openshift-sdn overlay network: Router checks if route exists for request
  • Proxies request to internal pod IP:port (10.1.2.3:8080)

Scenario: Pod transmits packet to pod in another node host in OpenShift environment

  • Container sends packet to target pod using IP 10.1.2.3:8080
  • OpenShift node uses Open vSwitch to route packet to OpenShift node hosting target container
  • Receiving node routes packet to target container
Route

Exposes service by giving it externally reachable hostname (FQDN).

Router
  • Router is ingress point for traffic destined for OpenShift-hosted pods
  • The Router serves routes - consumes a defined route and endpoints, identified by a service.
  • The Router serves the routing layer.
  • Router container can run on any node host in environment
Services
  • Services often used to provide permanent IP to group of similar pods
  • Internally, when accessed, services load-balance and proxy to an appropriate backing pod
  • Backing pods can be added to or removed from service arbitrarily while service remains consistently available
    • Enables anything that depends on service to refer to it at consistent internal address
XXX

OpenSHift UX

OpenShift CICD

API


# list pods
oc get pod
openshift.1519207734.txt.gz · Last modified: (external edit)