a local private paas in minutes with the red hat cdk
TRANSCRIPT
A local private Pass in minutes with the Red Hat CDK
Eric D. SchabellRed Hat Technology Evangelist@ericschabell
Sep 2016
INSERT DESIGNATOR, IF NEEDED
Agenda
2
● Containers - the problem & solution● Introducing the Red Hat Container Development Kit (CDK)● CDK components and features● Getting started with the CDK● Demo
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED3
The ProblemApplications require complicated collaboration during installation and integration every time they are deployed.Image: Manually Loading Ships 1921
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED4
The solutionContainerize
Adopting a container strategy will allow
applications to be easily shared and deployed.
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Developing Containers Can be Difficult
5
Developing containerized applications presents a number of challenges when running in a local development environment
● Building and packaging applications● Running applications locally● Simulating production environments● Interaction with other services
RED HAT CONTAINER DEVELOPMENT KIT
Red Hat Container Development Kit
INSERT DESIGNATOR, IF NEEDED
CDK Runs in a Virtual Machine
7
The Red Hat Container Development Kit executes as a virtual machine provisioned using Vagrant
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
CDK Primary Components
8
Docker○ Popular containerization
technology○ Built on core Linux concepts
■ cgroups and namespace isolation
○ Easily build, deploy and share images
Kubernetes○ Container orchestration framework○ Manage the container lifecycle○ Scale up/down○ Service discovery
OpenShift○ Built on top of docker and
kubernetes○ Development and deployment
platform○ Self service capabilities○ Built in CI/CD functionality RED HAT CONTAINER DEVELOPMENT
KIT
INSERT DESIGNATOR, IF NEEDED
CDK Multi Platform Support
9
Runtime Support on the Most Popular Platforms
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
CDK Hypervisor Support
10
Multiple virtualization providers available
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Eclipse/JBoss Developer Studio
11
● Manage CDK lifecycle● Manage OpenShift projects● Create new applications● Incrementally update applications● Deploy projects from the workspace● Remotely debug applications
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
CDK Component Stack
12
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Ease of Use
13
The Red Hat Container Development Kit makes it easy to become familiar with the tools to develop and run enterprise containerized applications
Simplified Setup Effective Examples Build and DeploymentTools
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Multiple roles can benefit
14
Developers
Operations
Managers
● Explore platform configurations● Develop integrations with the platform● Build management and monitoring solutions
● Build new solutions (applications, images, integrations)● Debug applications● Utilize existing tools and workflows
● First hand platform experience● Develop patterns for consumption by developers,
operations and customers
RED HAT CONTAINER DEVELOPMENT KIT
Getting started with the Red Hat CDK
INSERT DESIGNATOR, IF NEEDED
CDK Distribution
16
Container Development kit is distributed as a Vagrant box and supporting tooling
Vagrant Box Support Tooling
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
CDK Features a Simplified Lifecycle
17
Delivery using Vagrant allows users to manage the CDK lifecycle with a few simple commands
● Creates a guest machine
● Log in to a running system
● Stop the running system
● Reset the system to its initial state
vagrant up
vagrant ssh
vagrant halt
vagrant destroy
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Red Hat Developer Suite
18
Bundled solution with a single installer containing the necessary software for building and running containers using the Red Hat Container Development Kit
Vagrant
VirtualBox
Cygwin
OpenJDK
Red Hat JBoss Dev Studio
Red Hat Developer Suite
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Included Features
19
The Red Hat Container Development contains example solutions to enable you to become a CDK hero in no time
Preconfigured persistent storage
Sample applications
Base images
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Red Hat Demo Central
20
GitHub organization containing samples and examples targeting OpenShift and the Container Development Kit
https://github.com/redhatdemocentral/
Automate the installation and configuration of the CDK
Middleware demos and examples running in the cloud
RED HAT CONTAINER DEVELOPMENT KIT
INSERT DESIGNATOR, IF NEEDED
Get Started Today!
21
Download Start
https://github.com/redhatdemocentral/cdk-install-demo
http://developers.redhat.com/products/cdk/overview/
Innovate
RED HAT CONTAINER DEVELOPMENT KIT
Red Hat CDKDemo
INSERT DESIGNATOR, IF NEEDED
Atomic Developer Bundle
23
Atomic Developer Bundle is the upstream project for the Red Hat Container Development Kit
https://github.com/projectatomic/adb-atomic-developer-bundle
RED HAT CONTAINER DEVELOPMENT KIT
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
INSERT DESIGNATOR, IF NEEDED
END CONTENT
25
Container Development Kit Workshop
INSERT DESIGNATOR, IF NEEDED
Workshop Goals
27
Steps to work your way to CDK hero● Familiarity with the Container Development Kit Ecosystem● Installation and configuration of local workstation● Running the Container Development Kit● Connecting to OpenShift● Deploying an application to OpenShift● Eclipse/Red Hat JBoss Developer Studio integration
INSERT DESIGNATOR, IF NEEDED
Install and Configure the CDK
28
Install, configure and start the CDK● Obtain the components
○ Vagrant box○ CDK Tooling Components
● Start the CDKvagrant up
INSERT DESIGNATOR, IF NEEDED
Smoke Test the Environment
29
Validate connectivity and functionality of the CDK
● Launch the OpenShift web console○ https://10.1.2.2:8443
● Connect using the OpenShift command line tools
○ Local developer machine
○ SSH connection to CDK
oc login --username=openshift-dev --password=devel --insecure-skip-tls-verify=true https://10.1.2.2:8443
# Login to CDK by executing in location of VagrantfileVagrant ssh# Login to OpenShiftoc login --username=openshift-dev --password=devel --insecure-skip-tls-verify=true https://10.1.2.2:8443
INSERT DESIGNATOR, IF NEEDED
Explore the OpenShift Web Console
30
Explore the OpenShift web console to ● Launch a web browser and navigate to OpenShift
○ https://10.1.2.2:8443 ● Accept the self signed certificate in the browser● Login using the openshift-dev user
○ openshift-dev/devel
INSERT DESIGNATOR, IF NEEDED
Create a New Application
31
Create a new application to demonstrate build and deployments
● Create a new project called first-cdk-app● Click Add to Project in first-cdk-app project● Search for cakephp-example● Review template parameters and click Create● Monitor build on Builds page● Once complete, browse to Overview page and wait for
application to become available● Launch application in browser
INSERT DESIGNATOR, IF NEEDED
Explore the OpenShift API
32
Interact with the Swagger exposed OpenShift API
● Locate your OpenShift API token to authenticate with OpenShift
● Launch swagger client○ <Insert Bitly URL>
● Enter platform details○ Host: https://10.1.2.2:8443○ API Version: v1○ Token: <Token>
INSERT DESIGNATOR, IF NEEDED
Red Hat JBoss Developer Studio Integration
33
Use Red Hat JBoss Developer Studio to connect to OpenShift running in the Container Development Kit
● <TODO>
INSERT DESIGNATOR, IF NEEDED
Next Steps
34
<Insert some next steps for which users can investigate on their own time>
● <TODO>