舉報

會員
Learn OpenShift
Denis Zuev Artemii Kropachev Aleksey Usov 著
更新時間:2021-08-13 16:04:50
開會員,本書免費讀 >
Dockercontainerstransformapplicationdeliverytechnologiestomakethemfasterandmorereproducible,andtoreducetheamountoftimewastedonconfiguration.ManagingDockercontainersinthemulti-nodeormulti-datacenterenvironmentisabigchallenge,whichiswhycontainermanagementplatformsarerequired.OpenShiftisanewgenerationofcontainermanagementplatformsbuiltontopofbothDockerandKubernetes.Itbringsadditionalfunctionalitytothetable,somethingthatislackinginKubernetes.Thisnewfunctionalitysignificantlyhelpssoftwaredevelopmentteamstobringsoftwaredevelopmentprocessestoawholenewlevel.Inthisbook,we’llstartbyexplainingthecontainerarchitecture,Docker,andCRI-Ooverviews.Then,we'lllookatcontainerorchestrationandKubernetes.We’llcoverOpenShiftinstallation,anditsbasicandadvancedcomponents.Movingon,we’lldeepdiveintoconceptssuchasdeployingapplicationOpenShift.You’lllearnhowtosetupanend-to-enddeliverypipelinewhileworkingwithapplicationsinOpenShiftasadeveloperorDevOps.Finally,you’lldiscoverhowtoproperlydesignOpenShiftinproductionenvironments.Thisbookgivesyouhands-onexperienceofdesigning,building,andoperatingOpenShiftOrigin3.9,aswellasbuildingnewapplicationsormigratingexistingapplicationstoOpenShift.
最新章節
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Chapter 21
- Chapter 20
- Chapter 19
- Chapter 18
品牌:中圖公司
上架時間:2021-08-13 15:17:41
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Leave a review - let other readers know what you think 更新時間:2021-08-13 16:04:50
- Other Books You May Enjoy
- Chapter 21
- Chapter 20
- Chapter 19
- Chapter 18
- Chapter 17
- Chapter 16
- Chapter 15
- Chapter 14
- Chapter 13
- Chapter 12
- Chapter 11
- Chapter 10
- Chapter 9
- Chapter 8
- Chapter 7
- Chapter 6
- Chapter 5
- Chapter 4
- Chapter 3
- Chapter 2
- Chapter 1
- Assessments
- Further reading
- Questions
- Summary
- What to expect from the following OpenShift releases
- Major changes in OpenShift 3.9
- What is New in OpenShift 3.9?
- Further reading
- Questions
- Summary
- General network requirements and design guidelines for OpenShift deployments
- Commonly made mistakes while designing networks for OpenShift
- Network Address Translation (NAT) gateways
- Load balancers
- Security groups
- SDN
- Cloud networks
- Border routers
- Load balancers
- Edge firewalls
- Core layer switches
- Access layer switches
- Data center networks
- Common network topologies for OpenShift deployments
- Network Design for OpenShift HA
- Further reading
- Questions
- Summary
- Application deployment
- Storage
- Networking
- One OpenShift cluster per data center
- One OpenShift cluster across all data centers
- OpenShift multi-DC HA design
- Design considerations
- Physical placement consideration
- Persistent storage
- Etcd key-value store
- OpenShift nodes
- OpenShift masters
- OpenShift infrastructure nodes
- OpenShift single-DC HA design
- OpenShift HA Design for Single and Multiple DCs
- Further reading
- Questions
- Summary
- Persistent storage
- OpenShift nodes
- OpenShift masters
- Etcd key-value store backup
- OpenShift backup and restore
- External storage for OpenShift persistent data
- OpenShift nodes
- OpenShift etcd
- OpenShift masters
- OpenShift infrastructure nodes
- IP failover
- Virtual IPs
- HA in OpenShift
- What is high availability?
- OpenShift HA Architecture Overview
- Further reading
- Questions
- Summary
- Managing pipeline execution
- Editing Jenkinsfile
- Starting a Jenkins pipeline
- Creating Jenkins pipelines in OpenShift
- Jenkins in OpenShift
- Jenkins as CI/CD
- CI/CD and CI/CD pipelines
- Technical requirements
- CI/CD Pipelines in OpenShift
- Questions
- Summary
- Building a WordPress application
- WordPress template
- Building a multi-tier application
- Technical requirements
- Building a Multi-Tier Application from Source Code
- Further reading
- Questions
- Summary
- Starting a new build
- Understanding the PHP build process
- Building a simple PHP application
- PHP S2I
- Technical requirements
- Building PHP Applications from Source Code
- Further reading
- Questions
- Summary
- Dockerfile build customization
- A simple Dockerfile build
- Building an application from Dockerfile
- Dockerfile development for OpenShift
- Technical requirements
- Building Application Images from Dockerfile
- Further reading
- Questions
- Summary
- Creating the Gogs application
- The Gogs application template
- Using templates to deploy a multi-tier application
- Using the oc new-app -o command
- Exporting existing resources as templates
- Developing YAML/JSON template definitions
- Creating a custom template
- Processing a template
- Displaying template parameters
- Adding templates
- Template syntax
- OpenShift template overview
- Technical requirements
- Deploying Multi-Tier Applications Using Templates
- Further reading
- Questions
- Summary
- Deploying MariaDB
- Advanced deployment
- Using oc new-app with default options
- The oc new-app command
- Using oc new-app
- Creating a route from a YAML definition
- Creating a route by using oc expose
- Creating a route
- Creating a service from a YAML definition
- Creating a service using oc expose
- Creating a service
- Creating a pod
- Manual application deployment
- Technical requirements
- Deploying Simple Applications in OpenShift
- Further reading
- Questions
- Summary
- DNS
- Egress network policies
- Static IPs for external project traffic
- Egress routers
- ovs-networkpolicy plugin
- ovs-multitenant plugin
- ovs-subnet plugin
- SDN plugins
- Tracing connectivity
- Network topology in OpenShift
- Technical requirements
- Managing OpenShift Networking
- Further reading
- Questions
- Summary
- Secrets
- What data is considered sensitive?
- Storing sensitive data in OpenShift
- Security context constraints
- Admission controllers
- Creating custom roles
- Using built-in roles
- Authorization and role-based access control
- LDAP
- HTPasswd
- DenyAll
- AllowAll
- Identity providers
- Service accounts
- Users and identities
- Authentication
- Technical requirements
- Security in OpenShift
- Further reading
- Questions
- Summary
- Memory-based autoscaling
- CPU-based autoscaling
- Autoscaling your application depending on CPU and RAM utilization
- Creating complex stacks of applications with templates
- Controlling resource consumption using LimitRanges
- Controlling resource consumption using ResourceQuotas
- Separating configuration from application code using ConfigMaps
- Manually pushing images into the internal registry
- Creating applications directly from Docker images
- Importing images
- Tracking the version history of images using ImageStreams
- Technical requirements
- Advanced OpenShift Concepts
- Further reading
- Questions
- Summary
- Managing routes in OpenShift
- Managing services in OpenShift
- Managing pods in OpenShift
- Creating new applications in OpenShift
- Managing users in OpenShift
- Managing projects in OpenShift
- Core OpenShift Concepts
- Further reading
- Questions
- Summary
- Persistent data for a database container
- Managing volumes through oc volume
- Using claims as volumes in pod definition
- Binding a PVC to a particular PV
- Requesting persistent volume
- Using persistent storage in pods
- PV for iSCSI
- Creating a PV for the GlusterFS volume
- Creating PVs for NFS shares
- Configuring Physical Volumes (PV)
- iSCSI verification
- GlusterFS verification
- NFS verification
- Client-side verification
- Configuring iSCSI
- Configuring a brick and volume
- Installing packages
- Configuring GlusterFS shares
- Verification
- Starting and enabling the NFS service
- Configuring NFS exports on the server
- Installing NFS packages on the server and clients
- Setting up NFS
- Storage infrastructure setup
- Storage backends comparison
- The storage life cycle in OpenShift
- Persistent Volume Claims
- Persistent Volumes
- The OpenShift persistent storage concept
- Persistent versus ephemeral storage
- Technical requirements
- Managing Persistent Storage
- Further reading
- Questions
- Summary
- Validation
- Installation
- OpenShift Ansible playbooks
- OpenShift Ansible inventory
- Advanced installation
- SSH access
- Ansible installation
- SELinux
- Docker
- Environment preparation
- Deployment scenarios
- Containerized installation
- RPM installation
- Overview of OpenShift installation methods
- Hardware requirements
- Prerequisites
- Technical requirements
- OpenShift Installation
- Further reading
- Questions
- Summary
- Installing OpenShift with an all-in-one Vagrant box
- Vagrant installation
- Working with Vagrant
- Working with Minishift
- Accessing OpenShift through a web browser
- Windows
- macOS
- CentOS 7
- System requirements and prerequisites
- Working with oc cluster up
- Deployment variants
- Why use a development environment?
- Technical requirements
- Building an OpenShift Lab
- Further reading
- Questions
- Summary
- OpenShift architecture
- OpenShift flavors
- Understanding OpenShift's business value
- OpenShift as an extension of Kubernetes
- Cloud technology landscape and the role of PaaS
- OpenShift Overview
- Further reading
- Questions
- Summary
- Stopping your virtual environment
- Installing and working with CRI-O
- How CRI-O works with Kubernetes
- CRI-O and Open Container Initiative
- Container Runtime and Container Runtime Interface
- Technical requirements
- CRI-O Overview
- Further reading
- Questions
- Summary
- Kubernetes limitations
- Clearing the virtual environment
- Creating kubernetes services using YAML and JSON files
- Kubernetes advanced resources
- Deleting Kubernetes resources
- Using Kubernetes labels
- Exposing Kubernetes services
- Editing Kubernetes resources
- Describing Kubernetes resources
- Running Kubernetes pods
- Using the kubectl get command
- Getting help
- Working with kubectl
- Kubernetes installation and configuration
- Kubernetes key concepts
- Kubernetes versus Docker Swarm
- Container management systems overview
- Technical requirements
- Kubernetes Overview
- Further reading
- Questions
- Summary
- Dockerfile instructions
- Using Docker history
- Using Dockerfile build
- Customizing images using docker commit
- Creating a custom Docker image
- Using persistent storage
- Linking containers
- Passing environment variables to a container
- Using environment variables
- Removing containers
- Inspecting the Docker container
- Docker port mapping
- Starting and stopping containers
- Executing commands inside a container
- Docker ps and logs
- Managing containers using Docker CLI
- Uploading images to the Docker registry
- Saving and loading images
- Working with images
- Managing images using Docker CLI
- Using Docker man help info
- Using the Docker command line
- Docker configuration
- Docker installation
- Docker installation and configuration
- Docker Hub overview
- Accessing registries
- Private registry
- Public registry
- Docker registries
- Container image layers
- Docker storage drivers
- Container filesystem
- Understanding Docker images and layers
- Linux containers
- Docker's main components
- Docker architecture
- Docker container architecture
- The stateless nature of containers
- Microservices architecture
- Faster deployment
- Application and service isolation
- Efficient hardware resource consumption
- Container features and advantages
- Containers overview
- Technical requirements
- Containers and Docker Overview
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewers
- Acknowledgments
- About the authors
- Contributors
- PacktPub.com
- Why subscribe?
- Packt Upsell
- Learn OpenShift
- Copyright and Credits
- Title Page
- 封面
- 封面
- Title Page
- Copyright and Credits
- Learn OpenShift
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the authors
- Acknowledgments
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Building a Multi-Tier Application from Source Code
- Technical requirements
- Building a multi-tier application
- WordPress template
- Building a WordPress application
- Summary
- Questions
- 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
- 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
- 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
- One OpenShift cluster across all data centers
- One OpenShift cluster per data center
- Networking
- Storage
- Application deployment
- Summary
- Questions
- Further reading
- Network Design for OpenShift HA
- Common network topologies for OpenShift deployments
- Data center networks
- Access layer switches
- Core layer switches
- Edge firewalls
- Load balancers
- Border routers
- Cloud networks
- SDN
- Security groups
- Load balancers
- Network Address Translation (NAT) gateways
- Commonly made mistakes while designing networks for OpenShift
- General network requirements and design guidelines for OpenShift deployments
- Summary
- Questions
- Further reading
- What is New in OpenShift 3.9?
- Major changes in OpenShift 3.9
- What to expect from the following OpenShift releases
- Summary
- Questions
- Further reading
- Assessments
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
- Chapter 13
- Chapter 14
- Chapter 15
- Chapter 16
- Chapter 17
- Chapter 18
- Chapter 19
- Chapter 20
- Chapter 21
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-08-13 16:04:50