Ready to build cloud native applications? Get a hands-on introduction to daily life as a developer crafting code on OpenShift, the open source container application platform from Red Hat. Creating and packaging your apps for deployment on modern distributed systems can be daunting. Too often, adding infrastructure value can complicate development. With this practical guide, you'll learn how to build, deploy, and manage a multitiered application on OpenShift.
Authors Joshua Wood and Brian Tannous demonstrate how OpenShift speeds application development. With the Kubernetes container orchestrator at its core, OpenShift simplifies and automates the way you build, ship, and run code. You'll learn how to use OpenShift and the Quarkus Java framework to develop and deploy apps using proven enterprise technologies and practices that you can apply to code in any language.
• Learn the development cycles for building and deploying on OpenShift, and the tools that drive them
• Use OpenShift to build, deploy, and manage the ongoing lifecycle of an n-tier application
• Create a continuous integration and deployment pipeline to turn your source code changes into production rollouts
• Automate scaling decisions with metrics and trigger lifecycle events with webhooks
Author(s): Joshua Wood, Brian Tannous
Edition: 2
Publisher: O'Reilly Media
Year: 2021
Language: English
Commentary: Vector PDF
Pages: 148
City: Sebastopol, CA
Tags: DevOps; Databases; PostgreSQL; Monitoring; Logging; Pipelines; Deployment; GitHub; Continuous Delivery; Kubernetes; Continuous Integration; Automation; Git; Container Orchestration; Prometheus; OpenShift; Service Mesh; Data Persistence
Copyright
Table of Contents
Preface
Who This Book Is For
What You Will Learn
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
Chapter 1. A Kubernetes Application Platform
Linux Containers
Kubernetes
What OpenShift Adds
Web Console
Curated Software Catalogs: An OpenShift App Store
CI/CD: Pipelines
Networking and Service Mesh
Integrated Prometheus Metrics, Monitoring, and Alerts
Summary
Chapter 2. OpenShift Concepts
Projects Organize Applications and Teams
Projects and Applications
Application Components in OpenShift
Pods
Services
OpenShift Routes
Building Container Images
Deploying Applications
Interacting with OpenShift
oc
OpenShift Web Console
Summary
Chapter 3. OpenShift Lab
CodeReady Containers
CRC Requirements
Installing CRC on Windows
CRC Always Wants More
Logging In to OpenShift
Log In to the Web Console
Log In on the Command Line
Summary
Chapter 4. Deploying an Application on OpenShift
A Simple Sample Application
Git and GitHub
Building and Deploying the Application on OpenShift
Adding and Deploying a New Feature
Summary
Chapter 5. OpenShift Pipelines
Tekton
OpenShift Pipelines Operator
Installing the Pipelines Operator
Pipelines in the Web Console
Using Pipelines
OpenShift Pipelines Resources
Command
Script
Summary
Chapter 6. Developing and Deploying from Source Code
Noted: A Cloud-Ready Notes Application
Application Topology
Fork the Backend Repository
Create a New Project for the Noted App
Deploy the Backend Component
Inspect the Backend Resources
Deploy the Frontend Component
A Running Noted Application
Automatic Pipeline Runs Using Tekton Triggers
Pipeline Triggers
The Forward Proxy Workaround
Deploy the ngrok Template
GitHub Webhook Configuration
The Reversed Text Quarkus-Backend Bug Fix
Summary
Chapter 7. Evolving the Application: Data Persistence
Database Without Delay
Database Templates
Service Binding Operator
The Postgres Operator Designed for Service Binding
Add the Sample DB Operators OperatorSource
Install the PostgreSQL Database Operator
Verify Operator Installation
Deploy a PostgreSQL Database
Configure the pgsql quarkus-backend Branch
Inspect the quarkus-backend pgsql Branch
Service Binding Operator Usage
Configure a ServiceBinding
Test the ServiceBinding
Inspect the ServiceBinding Injection
Persistence in Action
Summary
Chapter 8. Production Deployment and Scaling
Application Scaling
Manual Scaling
The Service Abstraction
Automatic Scaling
Health Checks
Health-Checking Probes
Configure the Health Checks in OpenShift
Production Deployment Strategies
Available Deployment Strategies on OpenShift
Configuring a Deployment Strategy
Deployment Rollbacks
Summary
Chapter 9. Monitoring and Managing Applications on OpenShift
Listing and Detailing Resources
Using Labels to Filter Listed Resources
Describing Resources
Events and Logs
Debugging an Application in Its Container
oc rsh
oc exec
oc debug
OpenShift Monitoring
Monitoring in the Web Console Developer Perspective
Deleting Resources, Applications, and Projects
Summary
Chapter 10. Templates, Operators, and OpenShift Automation
Templates
Templates in the OpenShift Web Console
Creating Your Own Templates
Operators
Operator Subscriptions and the Operator Lifecycle Manager
Operators from the Developer Perspective
Summary
Index
About the Authors
Colophon