
DevOps with Kubernetes
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
All prices
More details
Other editions
New editions

Person
Hideto Saito has around 20 years of experience in the computer industry. In 1998, while working for Sun Microsystems Japan, he was impressed by Solaris OS, OPENSTEP, and Sun Ultra Enterprise 10000 (also known as StarFire). He then decided to pursue UNIX and macOS operating systems. In 2006, he relocated to southern California as a software engineer to develop products and services running on Linux and macOS X. He was especially renowned for his quick Objective-C code when he was drunk. He is also an enthusiast of Japanese anime, drama, and motorsports, and loves Japanese Otaku culture.Lee Hui-Chuan Chloe :
Hui-Chuan Chloe Lee is a DevOps and software developer. She has worked in the software industry on a wide range of projects for over five years. As a technology enthusiast, she loves trying and learning about new technologies, which makes her life happier and more fulfilling. In her free time, she enjoys reading, traveling, and spending time with the people she loveWu Cheng-Yang :
Cheng-Yang Wu has been tackling infrastructure and system reliability since he received his master's degree in computer science from National Taiwan University. His laziness prompted him to master DevOps skills to maximize his efficiency at work so as to squeeze in writing code for fun. He enjoys cooking as it's just like working with software a perfect dish always comes from balanced flavors and fine-tuned tastes.
Content
- Cover
- Title Page
- Copyright
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Introduction to DevOps
- Software delivery challenges
- Waterfall and physical delivery
- Agile and electrical delivery
- Software delivery on the cloud
- Continuous Integration
- Continuous Delivery
- Configuration management
- Infrastructure as code
- Orchestration
- Trend of microservices
- Modular programming
- Package management
- MVC design pattern
- Monolithic application
- Remote Procedure Call
- RESTful design
- Microservices
- Automation and tools
- Continuous Integration tool
- Continuous Delivery tool
- Monitoring and logging tool
- Communication tool
- Public cloud
- Summary
- Chapter 2: DevOps with Container
- Understanding container
- Resource isolation
- Linux container concept
- Containerized delivery
- Getting started with container
- Installing Docker for Ubuntu
- Installing Docker for CentOS
- Installing Docker for macOS
- Container life cycle
- Docker basics
- Layer, image, container, and volume
- Distributing images
- Connect containers
- Working with Dockerfile
- Writing your first Dockerfile
- Dockerfile syntax
- Organizing a Dockerfile
- Multi-containers orchestration
- Piling up containers
- Docker Compose overview
- Composing containers
- Summary
- Chapter 3: Getting Started with Kubernetes
- Understanding Kubernetes
- Kubernetes components
- Master components
- API server (kube-apiserver)
- Controller Manager (kube-controller-manager)
- etcd
- Scheduler (kube-scheduler)
- Node components
- Kubelet
- Proxy (kube-proxy)
- Docker
- Interaction between Kubernetes master and nodes
- Getting started with Kubernetes
- Preparing the environment
- kubectl
- Kubernetes resources
- Kubernetes objects
- Namespace
- Name
- Label and selector
- Annotation
- Pods
- ReplicaSet (RS) and ReplicationController (RC)
- Deployments
- Services
- Volumes
- Secrets
- ConfigMap
- Using ConfigMap via volume
- Using ConfigMap via environment variables
- Multi-containers orchestration
- Summary
- Chapter 4: Working with Storage and Resources
- Kubernetes volume management
- Container volume lifecycle
- Sharing volume between containers within a pod
- Stateless and stateful applications
- Kubernetes Persistent Volume and dynamic provisioning
- Persistent Volume claiming the abstraction layer
- Dynamic Provisioning and StorageClass
- A problem case of ephemeral and persistent setting
- Replicating pods with a Persistent Volume using StatefulSet
- Persistent Volume example
- Elasticsearch cluster scenario
- Elasticsearch master node
- Elasticsearch master-eligible node
- Elasticsearch data node
- Elasticsearch coordinating node
- Kubernetes resource management
- Resource Quality of Service
- Configuring the BestEffort pod
- Configuring as the Guaranteed pod
- Configuring as Burstable pod
- Monitoring resource usage
- Summary
- Chapter 5: Network and Security
- Kubernetes networking
- Docker networking
- Container-to-container communications
- Pod-to-pod communications
- Pod communication within the same node
- Pod communication across nodes
- Pod-to-service communications
- External-to-service communications
- Ingress
- Network policy
- Summary
- Chapter 6: Monitoring and Logging
- Inspecting a container
- Kubernetes dashboard
- Monitoring in Kubernetes
- Application
- Host
- External resources
- Container
- Kubernetes
- Getting monitoring essentials for Kubernetes
- Hands-on monitoring
- Meeting Prometheus
- Deploying Prometheus
- Working with PromQL
- Discovering targets in Kubernetes
- Gathering data from Kubernetes
- Seeing metrics with Grafana
- Logging events
- Patterns of aggregating logs
- Collecting logs with a logging agent per node
- Running a sidecar container to forward logs
- Ingesting Kubernetes events
- Logging with Fluentd and Elasticsearch
- Extracting metrics from logs
- Summary
- Chapter 7: Continuous Delivery
- Updating resources
- Triggering updates
- Managing rollouts
- Updating DaemonSet and StatefulSet
- DaemonSet
- StatefulSet
- Building a delivery pipeline
- Choosing tools
- Steps explained
- env
- script
- after_success
- deploy
- Gaining deeper understanding of pods
- Starting a pod
- Liveness and readiness probes
- Init containers
- Terminating a pod
- Handling SIGTERM
- SIGTERM is not forwarded to the container process
- SIGTERM doesn't invoke the termination handler
- Container lifecycle hooks
- Placing pods
- Summary
- Chapter 8: Cluster Administration
- Kubernetes namespaces
- Default namespaces
- Create a new namespace
- Context
- Create a context
- Switch the current context
- ResourceQuota
- Create a ResourceQuota for a namespace
- Request pods with default compute resource limits
- Delete a namespace
- Kubeconfig
- Service account
- Authentication and authorization
- Authentication
- Service account authentication
- User account authentication
- Authorization
- Attribute-based access control (ABAC)
- Role-based access control (RBAC)
- Roles and ClusterRoles
- RoleBinding and ClusterRoleBinding
- Admission control
- Namespace life cycle
- LimitRanger
- Service account
- PersistentVolumeLabel
- DefaultStorageClass
- ResourceQuota
- DefaultTolerationSeconds
- Taints and tolerations
- PodNodeSelector
- AlwaysAdmit
- AlwaysPullImages
- AlwaysDeny
- DenyEscalatingExec
- Other admission controller plugins
- Summary
- Chapter 9: Kubernetes on AWS
- Introduction to AWS
- Public cloud
- API and infrastructure as code
- AWS components
- VPC and subnet
- Internet gateway and NAT-GW
- Security group
- EC2 and EBS
- Route 53
- ELB
- S3
- Setup Kubernetes on AWS
- Install kops
- Run kops
- Kubernetes cloud provider
- L4 LoadBalancer
- L7 LoadBalancer (ingress)
- StorageClass
- Maintenance Kubernetes cluster by kops
- Summary
- Chapter 10: Kubernetes on GCP
- Introduction to GCP
- GCP components
- VPC
- Subnets
- Firewall rules
- VM instance
- Load balancing
- Health check
- Backend service
- Creating a LoadBalancer
- Persistent Disk
- Google Container Engine (GKE)
- Setting up your first Kubernetes cluster on GKE
- Node pool
- Multi zone cluster
- Cluster upgrade
- Kubernetes cloud provider
- StorageClass
- L4 LoadBalancer
- L7 LoadBalancer (ingress)
- Summary
- Chapter 11: What's Next
- Exploring the possibilities of Kubernetes
- Mastering Kubernetes
- Job and CronJob
- Affinity and anti-affinity between pods and nodes
- Auto-scaling of pods
- Prevention and mitigation of pod disruptions
- Kubernetes federation
- Cluster add-ons
- Kubernetes and communities
- Kubernetes incubator
- Helm and charts
- Gravitating towards a future infrastructure
- Docker swarm mode
- Amazon EC2 container service
- Apache Mesos
- Summary
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.