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
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Keeping OpenShift Evergreen
    Managing OpenShift clusters using Cloudsoft AMP
    Andrew Donald Kennedy
    Cloudsoft Corporation, April 2017

    View Slide

  2. Introduction
    Andrew Donald Kennedy – Cloudsoft Corporation
    Distributed Systems Hacker
    Open Source Contributor
    Software Engineer
    @grkvlt

    View Slide

  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

    View Slide

  4. Introduction to Cloudsoft AMP
    @grkvlt

    View Slide

  5. Problem Solving
    Large and Complex Ecosystem
    Fast-moving Updates
    Complex Deployments
    Inconsistent Documentation
    Lack of Runtime Management
    @grkvlt

    View Slide

  6. What Does AMP Do?
    MODEL DEPLOY MANAGE
    INSTANTIATE SENSE EFFECT
    Capture Best Practices Dynamic Live Model Maintain SLAs
    My Model
    Apache Tomcat
    MySQL
    Load Balancer
    @grkvlt

    View Slide

  7. AMP – Infrastructure Agnostic
    Physical Virtual Local – Private -
    Dedicated
    Public
    @grkvlt

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  11. OpenShift Deployment
    @grkvlt

    View Slide

  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

    View Slide

  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"

    View Slide

  14. #getamp4
    @grkvlt

    View Slide

  15. #getamp4
    @grkvlt

    View Slide

  16. #getamp4
    @grkvlt

    View Slide

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

    View Slide

  18. OpenShift Automation
    @grkvlt

    View Slide

  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

    View Slide

  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

    View Slide

  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\ -

    View Slide

  22. OpenShift Automation Examples
    Combine individual small tasks...
    Sequence
    Compose
    Loop
    Choice
    Transform
    Replace
    Build useful tasks like repave
    @grkvlt

    View Slide

  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

    View Slide

  24. OpenShift Cluster Repave Demo
    @grkvlt
    Repave Demo...

    View Slide

  25. Questions…?
    @grkvlt
    Initial OpenShift Cluster

    View Slide

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

    View Slide

  27. @grkvlt
    Ansible – Scale Out OpenShift Nodes

    View Slide

  28. @grkvlt
    AMP– Select Oldest Nodes

    View Slide

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

    View Slide

  30. @grkvlt
    AMP – Stop OpenShift Node Processes

    View Slide

  31. @grkvlt
    AMP – Release Old Virtual Machines

    View Slide

  32. @grkvlt
    Repaved OpenShift Cluster

    View Slide

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

    View Slide

  34. Cloudsoft AMP and OpenShift
    @grkvlt

    View Slide

  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

    View Slide

  36. OpenShift Automation
    Deployment of OpenShift Origin
    Deploy applications to OpenShift
    Manage running OpenShift clusters
    Orchestrate actions across applications
    Evergreen clusters with repave
    @grkvlt

    View Slide

  37. Thank You!

    View Slide