SlideShare uma empresa Scribd logo
1 de 37
ANSIBLE SERVICE BROKER
Deploying multi-container applications on OpenShift
Tommy Hughes Vinny Valdez
Scott Collier Kent Hua
AWS Loft Event
July 11, 2017
ENTER TO WIN!
1080p 3D GAMING PROJECTOR
Red Hat + AWS is a
winning combination!
You can win by
entering our raffle:
http://red.ht/AWSLoft
● Sandboxed application processes on a
shared Linux OS kernel
● Simpler, lighter, and denser than virtual
machines
● Portable across different environments
● Package my application and all of its
dependencies
● Deploy to any environment in seconds and
enable CI/CD
● Easily access and share containerized
components
Sys-Admins / Ops Developers
It Depends on Who You Ask
What Are Containers?
DevOps With Containers Across the Hybrid Cloud?
Source
Repository
CI/CD
Engine
Dev Container
Physical
Virtual
Private cloud
Public cloud
Self-Service
Multi-language
Automation
Collaboration
Seamless
Standards-based
Web-scale
Open Source
Enterprise Grade
Secure
Critical features for both Dev and Ops
Trusted Container OS
Trusted by Fortune Global
500 companies
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Enterprise Kubernetes
CloudForms
Red Hat Storage
Infrastructure Automation & Mg
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
10,000 foot overview
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Enterprise Container Platform
Source-2-Image
Application Pipelines
Dev ToolsOpenShift Application Lifecycle Management
(CI/CD)
Build Automation Deployment Automation
Service Catalog
(Language Runtimes, Middleware, Databases)
Self-Service
Infrastructure Automation & Cockpit
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
JBOSS EAP
JBOSS DATA GRID
JBOSS DATA
VIRTUALIZATION
JBOSS AM-Q
JBOSS BRMS
JBOSS BPM
JBOSS FUSE
RED HAT MOBILE
3 Scale
Container
Business
Automation
Container
Integration
Container
Data &
Storage
Container
Web &
Mobile
Traditional, Stateful, and Microservices-based Apps
OpenShift Application Lifecycle Management
(CI/CD)
Build Automation Deployment Automation
Service Catalog
(Language Runtimes, Middleware, Databases)
Self-Service
Infrastructure Automation & Cockpit
Networking Storage Registry
Logs &
Metrics
Security
Container Orchestration & Cluster Management
(kubernetes)
Container Runtime & Packaging
(Docker)
Enterprise Container Host
Red Hat Enterprise LinuxAtomic Host
Commons
Get Involved With Zero Commitment
Where users, partners, customers,
and contributors come together to
collaborate and work together on
OpenShift.
https://commons.openshift.org/
Quickly build, host, and scale
containerized applications in the
public cloud, operated and supported
by Red Hat.
Origin is the upstream community
project that powers OpenShift.
https://www.openshift.com/ https://openshift.org/
Ansible Service Broker
13
● API working group formed in September 2016, officially announced December; successor to CF
Service Broker API
● API defines an HTTP interface between the services marketplace of a platform and service brokers
● Service Broker is the component of the service that implements the Service Broker API, for which a
platform's marketplace is a client
● Service brokers are responsible for advertising a catalog of service offerings and service plans to the
marketplace, and acting on requests from the marketplace for:
○ Provisioning, binding, unbinding, and deprovisioning
○ Provisioning reserves a resource (service instance)
○ Binding typically generates credentials necessary for accessing the resource or provides the service
instance with information for a configuration change
● Platform marketplace may expose services from one or many service brokers
● Individual service broker may support one or many platform marketplaces using different URL prefixes
and credentials
● Backed by numerous industry leaders including Fujitsu, Google, IBM, Pivotal, Red Hat, and SAP
Open Service Broker API
Overview
ANSIBLE SERVICE BROKER
Orchestrating OpenShift Services
● Define, extend, and deliver “simple” to “complex” multi-container OpenShift services
● Standardized approach to using Ansible to manage and provision applications
● Leverage existing investment in Ansible roles/playbooks
● Easy management of applications for “simple” cloud-native apps
Ansible Service Broker
● Embraces Service Catalog and Open Service
Broker API concepts
● Supports:
○ Traditional S2I deployments
○ Provisioning of pre-existing images
○ Orchestrating external services
○ Deploying multi-service solutions
Ansible Playbook Bundle
● Lightweight application definition (meta-container)
● Simple directory employing:
○ Named playbooks [provision, bind, …] to
perform Open Service Broker actions
○ Metadata containing a list of required /
optional parameters during deployment
○ Embedded Ansible runtime
ANSIBLE SERVICE BROKER - Architecture
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
Ansible
Playbook Bundle
Service Broker
Service Broker
Service Broker
Ansible
Playbook Bundle
OpenShift
Service
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
• catalog
• provision
• deprovision
• bind
• unbind
OpenShift Mall /
Service Catalog
Example Ansible Playbook Bundles:
• ELK, Etherpad, Foreman, Galera
• ManageIQ, MongoDB, PostgreSQL
• Foreman, Pulp, Wordpress
• External MLAB MongoDB SaaS
• and more...
Supports
provisioning of
and binding to
both on-platform
and off-platform
(public cloud)
services!
ANSIBLE PLAYBOOK BUNDLE (APB)
Definition
● Simple directory with named “action”
playbooks and metadata.
● Metadata:
○ required/optional parameters
○ dependencies (provision vs bind)
● Leverages existing investment in Ansible
Roles / Playbooks.
● Developer Tooling to drive guided approach.
● Easily modified or extended.
ANSIBLE PLAYBOOK BUNDLE (APB)
A Closer Look
Steps to create an APB:
1. Create apb.yml
2. Create Ansible Playbooks
3. apb prepare
a. Creates Dockerfile with image labels
4. Build container
ANSIBLE PLAYBOOK BUNDLE (APB)
abp.yaml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
name: helloworld-apb
image: myorg/helloworld-apb
parameters:
- name: namespace
type: string
default: hello-world-apb
- name: message
type: string
default: "Hello World"
ANSIBLE PLAYBOOK BUNDLE (APB)
provision.yml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
- name: Deploy sampleapp
hosts: localhost
connection: local
tasks:
- name: create namespace
shell: "oc new-project {{ ns }}"
- name: create app dc
shell: "oc create -n {{ ns }} -f sampleapp.yml"
ANSIBLE PLAYBOOK BUNDLE (APB)
deprovision.yml
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
- name: Uninstall sampleapp
hosts: localhost
connection: local
tasks:
- name: delete namespace
shell: "oc delete project {{ ns }}"
ANSIBLE PLAYBOOK BUNDLE (APB)
Dockerfile - Ansible runtime for base image
abp.yml
playbooks
provision.yml
deprovision.yml
Dockerfile
FROM ansibleplaybookbundle/apb-base
LABEL "com.redhat.apb.version"="0.1.0"
LABEL "com.redhat.apb.spec"=”...<base64 encoded apb.yml data >…”
ADD roles /opt/ansible/roles
ADD playbooks /opt/apb/actions
RUN useradd -u 1001 -r -g 0 -M -b /opt/apb -s /sbin/nologin -c "apb user"
apb
RUN chown -R 1001:0 /opt/{ansible,apb}
USER 1001
ANSIBLE PLAYBOOK BUNDLE (APB)
Ansible 2.4 will include k8s/openshift modules
- name: create namespace
shell: "oc new-project {{ ns }}"
- name: create route
shell: "oc create -n {{ ns }} -f route.yml"
apiVersion: v1
kind: Route
spec:
port:
targetPort: port-80
<snip>
- openshift_v1_project:
name: '{{ ns }}'
- openshift_v1_route:
name: wordpress
namespace: '{{ ns }}'
port_target_port: 80
Playbook - Executes oc commands directly Playbook - Leverages Ansible Modules for K8S/OCP
https://github.com/openshift/openshift-restclient-python
How about a demo?
Bind Example
Python WebApp + PostgreSQL
Download Postgres APB
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
OpenShift Mall /
Service Catalog
Run provision.yaml from postgres-demo-apb
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Postgres is now running
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
Create WebApp
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook $method.yaml $vars
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
S2I Created
Python WebApp
Bind Postgres to WebApp
Service
Consumer
Ansible
Service Broker
Red Hat
Container Catalog
postgres-demo-apb
postgres-demo-apb
oc run $appname $method $vars
ansible-playbook provision.yaml $vars
OpenShift Mall /
Service Catalog
POD:
postgres-demo
S2I Created
Python WebApp
Bind connects the
WebApp to the
Database
What is Bind Doing?
Ansible
Service Broker
postgres-demo-apb
OpenShift Mall /
Service Catalog
Pod:
postgres-demo
S2I Created
Python WebApp
APB returns
credentials of
service to Broker
Service Catalog
injects credentials
into pod
Credentials
Bind WebApp to PostgreSQL
Binding connects
WebApp to
Database through a
Secret
PostgreSQL APB: https://github.com/fusor/apb-examples/tree/master/postgresql-demo-apb
apb.yml
Dockerfile
playbooks
provision.yaml
roles
postgresql-demo-apb-openshift
defaults
main.yml
files
airports.ddl
airports.sql
tasks
main.yml
- name: create service
k8s_v1_service:
name: postgresql
namespace: '{{ namespace }}'
state: present
labels:
app: postgresql-demo-apb
service: postgresql
selector:
app: postgresql-demo-apb
service: postgresql
ports:
- name: port-5432
port: 5432
protocol: TCP
target_port: 5432
register: postgres_service
https://github.com/fusor/apb-examples
34
Ansible Service Broker
More Information
● Email: ansible-service-broker@redhat.com
● IRC (Freenode): #asbroker
● Trello: https://trello.com/b/50JhiC5v/ansible-service-broker
● Github:
○ https://github.com/fusor/ansible-service-broker
○ https://github.com/fusor/ansible-playbook-bundle
○ https://github.com/fusor/catasb
● Library of example APBs: https://github.com/fusor/apb-examples
○ ManageIQ, Etherpad, Wordpress, ELK Stack
● YouTube Channel: https://www.youtube.com/channel/UC04eOMIMiV06_RSZPb4OOBw
○ Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App
■ https://www.youtube.com/watch?v=xmd52NhEjCk
○ Service Catalog deploying ManageIQ APB on to OpenShift
■ https://www.youtube.com/watch?v=J6rDssVEZuQ
● Docker hub published APBs
○ https://hub.docker.com/u/ansibleplaybookbundle/
35
Questions?
ENTER TO WIN!
1080p 3D GAMING PROJECTOR
Red Hat + AWS is a
winning combination!
You can win by
entering our raffle:
http://red.ht/AWSLoft
LIKE WHAT YOU SEE TODAY?
QUALIFY FOR OUR P.O.C
We have funded a POC
Program for qualifying
OpenShift customers.
If you’re interested, chat
with us at the end of the
session today!

Mais conteúdo relacionado

Mais procurados

Multi cluster management with rancher
Multi cluster management with rancherMulti cluster management with rancher
Multi cluster management with rancherKyohei Mizumoto
 
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesAlexei Ledenev
 
Red Hat Openshift Container Platform
Red Hat Openshift Container Platform Red Hat Openshift Container Platform
Red Hat Openshift Container Platform rockplace
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless SolutionRyan ZhangCheng
 
OpenShift Overview
OpenShift OverviewOpenShift Overview
OpenShift Overviewroundman
 
GCP CloudRun Overview
GCP CloudRun OverviewGCP CloudRun Overview
GCP CloudRun OverviewOliver Fierro
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Opa gatekeeper
Opa gatekeeperOpa gatekeeper
Opa gatekeeperRita Zhang
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container StrategyRed Hat Events
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installationRobert Bohne
 
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティAzure DevOpsとセキュリティ
Azure DevOpsとセキュリティKazushi Kamegawa
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformKangaroot
 
Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!Animesh Singh
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
Red Hat OpenShift -- Innovation without limitation.pdf
Red Hat OpenShift -- Innovation without limitation.pdfRed Hat OpenShift -- Innovation without limitation.pdf
Red Hat OpenShift -- Innovation without limitation.pdfssuser1490e8
 

Mais procurados (20)

Multi cluster management with rancher
Multi cluster management with rancherMulti cluster management with rancher
Multi cluster management with rancher
 
Helm - Application deployment management for Kubernetes
Helm - Application deployment management for KubernetesHelm - Application deployment management for Kubernetes
Helm - Application deployment management for Kubernetes
 
Red Hat Openshift Container Platform
Red Hat Openshift Container Platform Red Hat Openshift Container Platform
Red Hat Openshift Container Platform
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless Solution
 
OpenShift Overview
OpenShift OverviewOpenShift Overview
OpenShift Overview
 
GCP CloudRun Overview
GCP CloudRun OverviewGCP CloudRun Overview
GCP CloudRun Overview
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Opa gatekeeper
Opa gatekeeperOpa gatekeeper
Opa gatekeeper
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
OpenShift Introduction
OpenShift IntroductionOpenShift Introduction
OpenShift Introduction
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Azure DevOpsとセキュリティ
Azure DevOpsとセキュリティAzure DevOpsとセキュリティ
Azure DevOpsとセキュリティ
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!
 
Ansible
AnsibleAnsible
Ansible
 
Ansible
AnsibleAnsible
Ansible
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
Red Hat OpenShift -- Innovation without limitation.pdf
Red Hat OpenShift -- Innovation without limitation.pdfRed Hat OpenShift -- Innovation without limitation.pdf
Red Hat OpenShift -- Innovation without limitation.pdf
 

Destaque

Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2guest031320
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Bhakti Mehta
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoArne Krueger
 
Reversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsReversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsCysinfo Cyber Security Community
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte ScaleAmazon Web Services
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on CloudAmazon Web Services
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humansconjur_inc
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with boshm_richardson
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced OPNFV
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016jtmelton
 
MyHeritage backend group - build to scale
MyHeritage backend group - build to scaleMyHeritage backend group - build to scale
MyHeritage backend group - build to scaleRan Levy
 
IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...Cohesive Networks
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELKAlain Douangpraseuth
 

Destaque (20)

Een Gezond Gebit2
Een Gezond Gebit2Een Gezond Gebit2
Een Gezond Gebit2
 
Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...Expect the unexpected: Anticipate and prepare for failures in microservices b...
Expect the unexpected: Anticipate and prepare for failures in microservices b...
 
Neuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & CoNeuigkeiten von DEPAROM & Co
Neuigkeiten von DEPAROM & Co
 
Reversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasicsReversing malware analysis training part3 windows pefile formatbasics
Reversing malware analysis training part3 windows pefile formatbasics
 
(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale(SEC313) Security & Compliance at the Petabyte Scale
(SEC313) Security & Compliance at the Petabyte Scale
 
You know, for search
You know, for searchYou know, for search
You know, for search
 
Risk management
Risk managementRisk management
Risk management
 
Verwondering...
Verwondering...Verwondering...
Verwondering...
 
Setting up a Digital Business on Cloud
Setting up a Digital Business on CloudSetting up a Digital Business on Cloud
Setting up a Digital Business on Cloud
 
Security For Humans
Security For HumansSecurity For Humans
Security For Humans
 
Persistence in the cloud with bosh
Persistence in the cloud with boshPersistence in the cloud with bosh
Persistence in the cloud with bosh
 
Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced  Evolution of OPNFV CI System: What already exists and what can be introduced
Evolution of OPNFV CI System: What already exists and what can be introduced
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
AppSensor Near Real-Time Event Detection and Response - DevNexus 2016
 
Introduction to smpc
Introduction to smpc Introduction to smpc
Introduction to smpc
 
AWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic ScaleAWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic Scale
 
Kelompok 2
Kelompok 2Kelompok 2
Kelompok 2
 
MyHeritage backend group - build to scale
MyHeritage backend group - build to scaleMyHeritage backend group - build to scale
MyHeritage backend group - build to scale
 
IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...IM World presentation from Chris Swan: Application centric – how the cloud ha...
IM World presentation from Chris Swan: Application centric – how the cloud ha...
 
Streaming architecture with HDP & ELK
Streaming architecture with HDP & ELKStreaming architecture with HDP & ELK
Streaming architecture with HDP & ELK
 

Semelhante a Multi-container Applications on OpenShift with Ansible Service Broker

IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxGeorg Ember
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxNebulaworks
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018Michael Calizo
 
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and dockersflynn073
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on OpenstackDocker, Inc.
 
Docker intro
Docker introDocker intro
Docker introspiddy
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...DevDay.org
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixArthur De Magalhaes
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3sHaggai Philip Zagury
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 

Semelhante a Multi-container Applications on OpenShift with Ansible Service Broker (20)

IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
 
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise KubernetesMongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
MongoDB World 2018: Partner Talk - Red Hat: Deploying to Enterprise Kubernetes
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Docker intro
Docker introDocker intro
Docker intro
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
[DevDay 2017] OpenShift Enterprise - Speaker: Linh Do - DevOps Engineer at Ax...
 
Apache OpenWhisk
Apache OpenWhiskApache OpenWhisk
Apache OpenWhisk
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM BluemixDeploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
Deploy and Access WebSphere Liberty and StrongLoop REST Endpoints on IBM Bluemix
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
DevEx | there’s no place like k3s
DevEx | there’s no place like k3sDevEx | there’s no place like k3s
DevEx | there’s no place like k3s
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Multi-container Applications on OpenShift with Ansible Service Broker

  • 1. ANSIBLE SERVICE BROKER Deploying multi-container applications on OpenShift Tommy Hughes Vinny Valdez Scott Collier Kent Hua AWS Loft Event July 11, 2017
  • 2. ENTER TO WIN! 1080p 3D GAMING PROJECTOR Red Hat + AWS is a winning combination! You can win by entering our raffle: http://red.ht/AWSLoft
  • 3. ● Sandboxed application processes on a shared Linux OS kernel ● Simpler, lighter, and denser than virtual machines ● Portable across different environments ● Package my application and all of its dependencies ● Deploy to any environment in seconds and enable CI/CD ● Easily access and share containerized components Sys-Admins / Ops Developers It Depends on Who You Ask What Are Containers?
  • 4. DevOps With Containers Across the Hybrid Cloud? Source Repository CI/CD Engine Dev Container Physical Virtual Private cloud Public cloud
  • 6. Trusted Container OS Trusted by Fortune Global 500 companies Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host
  • 7. Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host Enterprise Kubernetes CloudForms Red Hat Storage Infrastructure Automation & Mg Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes)
  • 9. Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host Enterprise Container Platform Source-2-Image Application Pipelines Dev ToolsOpenShift Application Lifecycle Management (CI/CD) Build Automation Deployment Automation Service Catalog (Language Runtimes, Middleware, Databases) Self-Service Infrastructure Automation & Cockpit Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes)
  • 10. JBOSS EAP JBOSS DATA GRID JBOSS DATA VIRTUALIZATION JBOSS AM-Q JBOSS BRMS JBOSS BPM JBOSS FUSE RED HAT MOBILE 3 Scale Container Business Automation Container Integration Container Data & Storage Container Web & Mobile Traditional, Stateful, and Microservices-based Apps OpenShift Application Lifecycle Management (CI/CD) Build Automation Deployment Automation Service Catalog (Language Runtimes, Middleware, Databases) Self-Service Infrastructure Automation & Cockpit Networking Storage Registry Logs & Metrics Security Container Orchestration & Cluster Management (kubernetes) Container Runtime & Packaging (Docker) Enterprise Container Host Red Hat Enterprise LinuxAtomic Host
  • 11. Commons Get Involved With Zero Commitment Where users, partners, customers, and contributors come together to collaborate and work together on OpenShift. https://commons.openshift.org/ Quickly build, host, and scale containerized applications in the public cloud, operated and supported by Red Hat. Origin is the upstream community project that powers OpenShift. https://www.openshift.com/ https://openshift.org/
  • 13. 13 ● API working group formed in September 2016, officially announced December; successor to CF Service Broker API ● API defines an HTTP interface between the services marketplace of a platform and service brokers ● Service Broker is the component of the service that implements the Service Broker API, for which a platform's marketplace is a client ● Service brokers are responsible for advertising a catalog of service offerings and service plans to the marketplace, and acting on requests from the marketplace for: ○ Provisioning, binding, unbinding, and deprovisioning ○ Provisioning reserves a resource (service instance) ○ Binding typically generates credentials necessary for accessing the resource or provides the service instance with information for a configuration change ● Platform marketplace may expose services from one or many service brokers ● Individual service broker may support one or many platform marketplaces using different URL prefixes and credentials ● Backed by numerous industry leaders including Fujitsu, Google, IBM, Pivotal, Red Hat, and SAP Open Service Broker API Overview
  • 14. ANSIBLE SERVICE BROKER Orchestrating OpenShift Services ● Define, extend, and deliver “simple” to “complex” multi-container OpenShift services ● Standardized approach to using Ansible to manage and provision applications ● Leverage existing investment in Ansible roles/playbooks ● Easy management of applications for “simple” cloud-native apps Ansible Service Broker ● Embraces Service Catalog and Open Service Broker API concepts ● Supports: ○ Traditional S2I deployments ○ Provisioning of pre-existing images ○ Orchestrating external services ○ Deploying multi-service solutions Ansible Playbook Bundle ● Lightweight application definition (meta-container) ● Simple directory employing: ○ Named playbooks [provision, bind, …] to perform Open Service Broker actions ○ Metadata containing a list of required / optional parameters during deployment ○ Embedded Ansible runtime
  • 15. ANSIBLE SERVICE BROKER - Architecture Service Consumer Ansible Service Broker Red Hat Container Catalog Ansible Playbook Bundle Service Broker Service Broker Service Broker Ansible Playbook Bundle OpenShift Service oc run $appname $method $vars ansible-playbook $method.yaml $vars • catalog • provision • deprovision • bind • unbind OpenShift Mall / Service Catalog Example Ansible Playbook Bundles: • ELK, Etherpad, Foreman, Galera • ManageIQ, MongoDB, PostgreSQL • Foreman, Pulp, Wordpress • External MLAB MongoDB SaaS • and more... Supports provisioning of and binding to both on-platform and off-platform (public cloud) services!
  • 16. ANSIBLE PLAYBOOK BUNDLE (APB) Definition ● Simple directory with named “action” playbooks and metadata. ● Metadata: ○ required/optional parameters ○ dependencies (provision vs bind) ● Leverages existing investment in Ansible Roles / Playbooks. ● Developer Tooling to drive guided approach. ● Easily modified or extended.
  • 17. ANSIBLE PLAYBOOK BUNDLE (APB) A Closer Look Steps to create an APB: 1. Create apb.yml 2. Create Ansible Playbooks 3. apb prepare a. Creates Dockerfile with image labels 4. Build container
  • 18. ANSIBLE PLAYBOOK BUNDLE (APB) abp.yaml abp.yml playbooks provision.yml deprovision.yml Dockerfile name: helloworld-apb image: myorg/helloworld-apb parameters: - name: namespace type: string default: hello-world-apb - name: message type: string default: "Hello World"
  • 19. ANSIBLE PLAYBOOK BUNDLE (APB) provision.yml abp.yml playbooks provision.yml deprovision.yml Dockerfile - name: Deploy sampleapp hosts: localhost connection: local tasks: - name: create namespace shell: "oc new-project {{ ns }}" - name: create app dc shell: "oc create -n {{ ns }} -f sampleapp.yml"
  • 20. ANSIBLE PLAYBOOK BUNDLE (APB) deprovision.yml abp.yml playbooks provision.yml deprovision.yml Dockerfile - name: Uninstall sampleapp hosts: localhost connection: local tasks: - name: delete namespace shell: "oc delete project {{ ns }}"
  • 21. ANSIBLE PLAYBOOK BUNDLE (APB) Dockerfile - Ansible runtime for base image abp.yml playbooks provision.yml deprovision.yml Dockerfile FROM ansibleplaybookbundle/apb-base LABEL "com.redhat.apb.version"="0.1.0" LABEL "com.redhat.apb.spec"=”...<base64 encoded apb.yml data >…” ADD roles /opt/ansible/roles ADD playbooks /opt/apb/actions RUN useradd -u 1001 -r -g 0 -M -b /opt/apb -s /sbin/nologin -c "apb user" apb RUN chown -R 1001:0 /opt/{ansible,apb} USER 1001
  • 22. ANSIBLE PLAYBOOK BUNDLE (APB) Ansible 2.4 will include k8s/openshift modules - name: create namespace shell: "oc new-project {{ ns }}" - name: create route shell: "oc create -n {{ ns }} -f route.yml" apiVersion: v1 kind: Route spec: port: targetPort: port-80 <snip> - openshift_v1_project: name: '{{ ns }}' - openshift_v1_route: name: wordpress namespace: '{{ ns }}' port_target_port: 80 Playbook - Executes oc commands directly Playbook - Leverages Ansible Modules for K8S/OCP https://github.com/openshift/openshift-restclient-python
  • 23. How about a demo?
  • 25. Download Postgres APB Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb OpenShift Mall / Service Catalog
  • 26. Run provision.yaml from postgres-demo-apb Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog
  • 27. Postgres is now running Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog Pod: postgres-demo
  • 28. Create WebApp Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook $method.yaml $vars OpenShift Mall / Service Catalog Pod: postgres-demo S2I Created Python WebApp
  • 29. Bind Postgres to WebApp Service Consumer Ansible Service Broker Red Hat Container Catalog postgres-demo-apb postgres-demo-apb oc run $appname $method $vars ansible-playbook provision.yaml $vars OpenShift Mall / Service Catalog POD: postgres-demo S2I Created Python WebApp Bind connects the WebApp to the Database
  • 30. What is Bind Doing? Ansible Service Broker postgres-demo-apb OpenShift Mall / Service Catalog Pod: postgres-demo S2I Created Python WebApp APB returns credentials of service to Broker Service Catalog injects credentials into pod Credentials
  • 31. Bind WebApp to PostgreSQL Binding connects WebApp to Database through a Secret
  • 32. PostgreSQL APB: https://github.com/fusor/apb-examples/tree/master/postgresql-demo-apb apb.yml Dockerfile playbooks provision.yaml roles postgresql-demo-apb-openshift defaults main.yml files airports.ddl airports.sql tasks main.yml - name: create service k8s_v1_service: name: postgresql namespace: '{{ namespace }}' state: present labels: app: postgresql-demo-apb service: postgresql selector: app: postgresql-demo-apb service: postgresql ports: - name: port-5432 port: 5432 protocol: TCP target_port: 5432 register: postgres_service
  • 34. 34 Ansible Service Broker More Information ● Email: ansible-service-broker@redhat.com ● IRC (Freenode): #asbroker ● Trello: https://trello.com/b/50JhiC5v/ansible-service-broker ● Github: ○ https://github.com/fusor/ansible-service-broker ○ https://github.com/fusor/ansible-playbook-bundle ○ https://github.com/fusor/catasb ● Library of example APBs: https://github.com/fusor/apb-examples ○ ManageIQ, Etherpad, Wordpress, ELK Stack ● YouTube Channel: https://www.youtube.com/channel/UC04eOMIMiV06_RSZPb4OOBw ○ Using the Service Catalog to Bind a PostgreSQL APB to a Python Web App ■ https://www.youtube.com/watch?v=xmd52NhEjCk ○ Service Catalog deploying ManageIQ APB on to OpenShift ■ https://www.youtube.com/watch?v=J6rDssVEZuQ ● Docker hub published APBs ○ https://hub.docker.com/u/ansibleplaybookbundle/
  • 36. ENTER TO WIN! 1080p 3D GAMING PROJECTOR Red Hat + AWS is a winning combination! You can win by entering our raffle: http://red.ht/AWSLoft
  • 37. LIKE WHAT YOU SEE TODAY? QUALIFY FOR OUR P.O.C We have funded a POC Program for qualifying OpenShift customers. If you’re interested, chat with us at the end of the session today!