Learn OpenShift deploy, build, manage, and migrate applications with OpenShift Origin 3.9
Gain hands-on experience of installing OpenShift Origin 3.9 in a production configuration and managing applications using the platform you built Key Features Gain hands-on experience of working with Kubernetes and Docker Learn how to deploy and manage applications in OpenShift Get a practical approa...
Otros Autores: | , , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham :
Packt
2018.
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631565706719 |
Tabla de Contenidos:
- Cover
- Title Page
- Copyright and Credits
- Packt Upsell
- Contributors
- Table of Contents
- Preface
- Chapter 1: Containers and Docker Overview
- Technical requirements
- Containers overview
- Container features and advantages
- Efficient hardware resource consumption
- Application and service isolation
- Faster deployment
- Microservices architecture
- The stateless nature of containers
- Docker container architecture
- Docker architecture
- Docker's main components
- Linux containers
- Understanding Docker images and layers
- Container filesystem
- Docker storage drivers
- Container image layers
- Docker registries
- Public registry
- Private registry
- Accessing registries
- Docker Hub overview
- Docker installation and configuration
- Docker installation
- Docker configuration
- Using the Docker command line
- Using Docker man, help, info
- Managing images using Docker CLI
- Working with images
- Saving and loading images
- Uploading images to the Docker registry
- Managing containers using Docker CLI
- Docker ps and logs
- Executing commands inside a container
- Starting and stopping containers
- Docker port mapping
- Inspecting the Docker container
- Removing containers
- Using environment variables
- Passing environment variables to a container
- Linking containers
- Using persistent storage
- Creating a custom Docker image
- Customizing images using docker commit
- Using Dockerfile build
- Using Docker history
- Dockerfile instructions
- Summary
- Questions
- Further reading
- Chapter 2: Kubernetes Overview
- Technical requirements
- Container management systems overview
- Kubernetes versus Docker Swarm
- Kubernetes key concepts
- Kubernetes installation and configuration
- Working with kubectl
- Getting help
- Using the kubectl get command
- Running Kubernetes pods.
- Describing Kubernetes resources
- Editing Kubernetes resources
- Exposing Kubernetes services
- Using Kubernetes labels
- Deleting Kubernetes resources
- Kubernetes advanced resources
- Creating kubernetes services using YAML and JSON files
- Clearing the virtual environment
- Kubernetes limitations
- Summary
- Questions
- Further reading
- Chapter 3: CRI-O Overview
- Technical requirements
- Container Runtime and Container Runtime Interface
- CRI-O and Open Container Initiative
- How CRI-O works with Kubernetes
- Installing and working with CRI-O
- Stopping your virtual environment
- Summary
- Questions
- Further reading
- Chapter 4: OpenShift Overview
- Cloud technology landscape and the role of PaaS
- OpenShift as an extension of Kubernetes
- Understanding OpenShift's business value
- OpenShift flavors
- OpenShift architecture
- Summary
- Questions
- Further reading
- Chapter 5: Building an OpenShift Lab
- Technical requirements
- Why use a development environment?
- Deployment variants
- Working with oc cluster up
- System requirements and prerequisites
- CentOS 7
- macOS
- Windows
- Accessing OpenShift through a web browser
- Working with Minishift
- Working with Vagrant
- Vagrant installation
- Installing OpenShift with an all-in-one Vagrant box
- Summary
- Questions
- Further reading
- Chapter 6: OpenShift Installation
- Technical requirements
- Prerequisites
- Hardware requirements
- Overview of OpenShift installation methods
- RPM installation
- Containerized installation
- Deployment scenarios
- Environment preparation
- Docker
- SELinux
- Ansible installation
- SSH access
- Advanced installation
- OpenShift Ansible inventory
- OpenShift Ansible playbooks
- Installation
- Validation
- Summary
- Questions
- Further reading
- Chapter 7: Managing Persistent Storage.
- Technical requirements
- Persistent versus ephemeral storage
- The OpenShift persistent storage concept
- Persistent Volumes
- Persistent Volume Claims
- The storage life cycle in OpenShift
- Storage backends comparison
- Storage infrastructure setup
- Setting up NFS
- Installing NFS packages on the server and clients
- Configuring NFS exports on the server
- Starting and enabling the NFS service
- Verification
- Configuring GlusterFS shares
- Installing packages
- Configuring a brick and volume
- Configuring iSCSI
- Client-side verification
- NFS verification
- GlusterFS verification
- iSCSI verification
- Configuring Physical Volumes (PV)
- Creating PVs for NFS shares
- Creating a PV for the GlusterFS volume
- PV for iSCSI
- Using persistent storage in pods
- Requesting persistent volume
- Binding a PVC to a particular PV
- Using claims as volumes in pod definition
- Managing volumes through oc volume
- Persistent data for a database container
- Summary
- Questions
- Further reading
- Chapter 8: Core OpenShift Concepts
- Managing projects in OpenShift
- Managing users in OpenShift
- Creating new applications in OpenShift
- Managing pods in OpenShift
- Managing services in OpenShift
- Managing routes in OpenShift
- Summary
- Questions
- Further reading
- Chapter 9: Advanced OpenShift Concepts
- Technical requirements
- Tracking the version history of images using ImageStreams
- Importing images
- Creating applications directly from Docker images
- Manually pushing images into the internal registry
- Separating configuration from application code using ConfigMaps
- Controlling resource consumption using ResourceQuotas
- Controlling resource consumption using LimitRanges
- Creating complex stacks of applications with templates
- Autoscaling your application depending on CPU and RAM utilization.
- CPU-based autoscaling
- Memory-based autoscaling
- Summary
- Questions
- Further reading
- Chapter 10: Security in OpenShift
- Technical requirements
- Authentication
- Users and identities
- Service accounts
- Identity providers
- AllowAll
- DenyAll
- HTPasswd
- LDAP
- Authorization and role-based access control
- Using built-in roles
- Creating custom roles
- Admission controllers
- Security context constraints
- Storing sensitive data in OpenShift
- What data is considered sensitive?
- Secrets
- Summary
- Questions
- Further reading
- Chapter 11: Managing OpenShift Networking
- Technical requirements
- Network topology in OpenShift
- Tracing connectivity
- SDN plugins
- ovs-subnet plugin
- ovs-multitenant plugin
- ovs-networkpolicy plugin
- Egress routers
- Static IPs for external project traffic
- Egress network policies
- DNS
- Summary
- Questions
- Further reading
- Chapter 12: Deploying Simple Applications in OpenShift
- Technical requirements
- Manual application deployment
- Creating a pod
- Creating a service
- Creating a service using oc expose
- Creating a service from a YAML definition
- Creating a route
- Creating a route by using oc expose
- Creating a route from a YAML definition
- Using oc new-app
- The oc new-app command
- Using oc new-app with default options
- Advanced deployment
- Deploying MariaDB
- Summary
- Questions
- Further reading
- Chapter 13: Deploying Multi-Tier Applications Using Templates
- Technical requirements
- OpenShift template overview
- Template syntax
- Adding templates
- Displaying template parameters
- Processing a template
- Creating a custom template
- Developing YAML/JSON template definitions
- Exporting existing resources as templates
- Using the oc new-app -o command
- Using templates to deploy a multi-tier application.
- The Gogs application template
- Creating the Gogs application
- Summary
- Questions
- Further reading
- Chapter 14: Building Application Images from Dockerfile
- Technical requirements
- Dockerfile development for OpenShift
- Building an application from Dockerfile
- A simple Dockerfile build
- Dockerfile build customization
- Summary
- Questions
- Further reading
- Chapter 15: Building PHP Applications from Source Code
- Technical requirements
- PHP S2I
- Building a simple PHP application
- Understanding the PHP build process
- Starting a new build
- Summary
- Questions
- Further reading
- Chapter 16: Building a Multi-Tier Application from Source Code
- Technical requirements
- Building a multi-tier application
- WordPress template
- Building a WordPress application
- Summary
- Questions
- Chapter 17: CI/CD Pipelines in OpenShift
- Technical requirements
- CI/CD and CI/CD pipelines
- Jenkins as CI/CD
- Jenkins in OpenShift
- Creating Jenkins pipelines in OpenShift
- Starting a Jenkins pipeline
- Editing Jenkinsfile
- Managing pipeline execution
- Summary
- Questions
- Further reading
- Chapter 18: OpenShift HA Architecture Overview
- What is high availability?
- HA in OpenShift
- Virtual IPs
- IP failover
- OpenShift infrastructure nodes
- OpenShift masters
- OpenShift etcd
- OpenShift nodes
- External storage for OpenShift persistent data
- OpenShift backup and restore
- Etcd key-value store backup
- OpenShift masters
- OpenShift nodes
- Persistent storage
- Summary
- Questions
- Further reading
- Chapter 19: OpenShift HA Design for Single and Multiple DCs
- OpenShift single-DC HA design
- OpenShift infrastructure nodes
- OpenShift masters
- OpenShift nodes
- Etcd key-value store
- Persistent storage
- Physical placement consideration
- Design considerations.
- OpenShift multi-DC HA design.