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

Keeping OpenShift Evergreen

Keeping OpenShift Evergreen

OpenShift Commons Briefing - Managing Red Hat OpenShift clusters using Cloudsoft AMP

Andrew Kennedy

April 13, 2017

More Decks by Andrew Kennedy

Other Decks in Technology


  1. Keeping OpenShift Evergreen Managing OpenShift clusters using Cloudsoft AMP Andrew

    Donald Kennedy Cloudsoft Corporation, April 2017
  2. Introduction Andrew Donald Kennedy – Cloudsoft Corporation Distributed Systems Hacker

    Open Source Contributor Software Engineer @grkvlt
  3. Agenda Cloudsoft AMP Introduction • Application Management • Docker, Kubernetes

    and OpenShift • Container Management • Orchestration OpenShift Automation • Deployment • Runtime Management • Effectors and Actions • Cluster Operations • Repave and Evergreening @grkvlt
  4. Introduction to Cloudsoft AMP @grkvlt

  5. Problem Solving Large and Complex Ecosystem Fast-moving Updates Complex Deployments

    Inconsistent Documentation Lack of Runtime Management @grkvlt

    Capture Best Practices Dynamic Live Model Maintain SLAs My Model Apache Tomcat MySQL Load Balancer @grkvlt
  7. AMP – Infrastructure Agnostic Physical Virtual Local – Private -

    Dedicated Public @grkvlt
  8. Application Management Runtime management of deployed applications. Policies use application-specific

    metrics such as latency or transactions per second, averaged across groups of services to give meaningful results. Operations like scaling, failover and service monitoring can be added to any application blueprint using these policies. @grkvlt
  9. Enterprise Problem Solving Need reliable cloud-native application patterns to be

    competitive Management is tied to infra layer with manual or missing processes for applications and services, causing risk and hindering adoption Increasingly diverse platforms & infrastructure mean applications are hard to track, increasing the cost & risk of digital transformation @grkvlt
  10. Container Services Deploy and manage Docker Swarm clusters and Kubernetes

    clusters. Production-ready infrastructure with TLS, high-availability and extensions like Flannel, Calico and Canal for networking. Can also connect to existing infrastructure provisioned and managed externally, by specifying appropriate API endpoints. Containerize applications by simply deploying blueprints to container-aware locations or build hybrid applications from virtual machines, containers and pods. @grkvlt
  11. OpenShift Deployment @grkvlt

  12. OpenShift Deployment Deploying OpenShift in the cloud Uses Red Hat

    Ansible playbook Configurable cluster composition Runtime management and control Complex operations from primitive actions @grkvlt
  13. OpenShift Origin Blueprint @grkvlt location: red-box-openstack-cloud services: - type: openshift-origin-template

    name: "OpenShift Origin" brooklyn.config: openshift.version: 1.4.1 openshift.master.clusterSize: 2 openshift.etcd.clusterSize: 3 openshift.node.clusterSize: 5 openshift.node.minCores: 4 openshift.node.minRam: 8000 openshift.domain: "openshift.local"
  14. #getamp4 @grkvlt

  15. #getamp4 @grkvlt

  16. #getamp4 @grkvlt

  17. Cloudsoft AMP OpenShift Deployment @grkvlt AMP Console...

  18. OpenShift Automation @grkvlt

  19. OpenShift Automation Monitor cluster activity and status Add new nodes

    to the cluster Replace machines when failure detected Grow cluster under load or automatically Update operating system and services @grkvlt
  20. OpenShift Automation Effectors defined for AMP entities Perform simple tasks

    or compose others Start and stop OpenShift processes Manage pods and node status Resize clusters and add new capacity @grkvlt
  21. OpenShift Origin Automation Example @grkvlt - type: org.apache.brooklyn.core.effector.ssh.SshCommandEffector brooklyn.config: name:

    selectOldestNodes description: | Get the K oldest nodes parameters: k: description: | The number of nodes to get command: | oc get nodes \ --sort-by='.metadata.creationTimestamp' \ --selector='region != infra' \ --output='name' | cut -d/ -f2 | head -${k} | paste -s -d\ -
  22. OpenShift Automation Examples Combine individual small tasks... Sequence Compose Loop

    Choice Transform Replace Build useful tasks like repave @grkvlt
  23. OpenShift Cluster Repave Actions Resize for new nodes — Fresh

    OS and patches Scale out cluster onto new nodes Drain tasks from oldest nodes and stop them Remove stopped nodes from cluster Execute as scheduled task periodically @grkvlt
  24. OpenShift Cluster Repave Demo @grkvlt Repave Demo...

  25. Questions…? @grkvlt Initial OpenShift Cluster

  26. Questions…? @grkvlt @grkvlt AMP – Resize Cluster of Virtual machines

  27. @grkvlt Ansible – Scale Out OpenShift Nodes

  28. @grkvlt AMP– Select Oldest Nodes

  29. @grkvlt AMP and OpenShift – Drain Nodes and Re-schedule Pods

  30. @grkvlt AMP – Stop OpenShift Node Processes

  31. @grkvlt AMP – Release Old Virtual Machines

  32. @grkvlt Repaved OpenShift Cluster

  33. OpenShift Cluster Repave Demo @grkvlt Continued...

  34. Cloudsoft AMP and OpenShift @grkvlt

  35. Cloudsoft AMP Velocity @grkvlt Consistency Control Grow effortlessly and Scale

    and dynamically with workloads Common management tooling across all applications from pets to cattle Agnostic so you can combine bare metal, virtual machines and containers Simple and consistent management view of applications
  36. OpenShift Automation Deployment of OpenShift Origin Deploy applications to OpenShift

    Manage running OpenShift clusters Orchestrate actions across applications Evergreen clusters with repave @grkvlt
  37. Thank You!