Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenShift: Developer productivity booster

OpenShift: Developer productivity booster

It covers main OpenShift advantages from development process perspective


Alexey Novakov

January 21, 2020


  1. OpenShift: Developer Productivity Booster Alexey Novakov, Ultra Tendency

  2. What is it? • Customized version of K8s (Origin Kubernetes

    Distribution) • Additional APIs (resources) • Nice UI, better than any Cloud provides has • Built-in image build/deploy (light CI/CD) • Developed by Helps a lot
  3. APIs • Additional Kubernetes resources: • BuildConfig • ImageStream •

    DeploymentConfig • Route
  4. $ oc OpenShift Client This client helps you develop, build,

    deploy, and run your applications on any OpenShift or Kubernetes compatible platform. It also includes the administrative commands for managing a cluster under the 'adm' subcommand. To create a new application, login to your server and then run new-app: oc login https://mycluster.mycompany.com oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git oc logs -f bc/ruby-ex oc - includes kubectl plus specific OpenShift commands
  5. BuildConfig resource Tag it Sources location Base image WebHook to

    start new build
  6. BuildConfig gives you basic CI/CD tool in few minutes...

  7. DeploymentConfig resource Like standard Deployment resource plus: - Automatic rollbacks

    - Triggers - Lifecycle Hooks - Custom Strategies Triggers new deployment upon new image version
  8. DeploymentConfig gives you Coninues Deployment skipping tedious kubetcl patch command

  9. ImageStream resource • OpenShift comes with built-in image registry •

    ImageStream represents a view of image repository • Can be used with DeploymentConfig, BuildConfig • Usually created with: oc new-build ... docker-registry.default.svc:5000/<project>/base-centos7
  10. Route resource

  11. Route resource Feature Ingress on OpenShift Route on OpenShift Standard

    Kubernetes object X External access to services X X Persistent (sticky) sessions X X Load-balancing strategies (e.g. round robin) X X Rate-limit and throttling X X IP whitelisting X X TLS edge termination for improved security X X TLS re-encryption for improved security X TLS passthrough for improved security X Multiple weighted backends (split traffic) X Generated pattern-based hostnames X Wildcard domains X
  12. Application Catalog (Templates)

  13. Template resource Like light version of Helm: parameters, variables

  14. Thanks! Questions? Twitter: @alexey_novakov GitHub: https://github.com/novakov-alexey