Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Hideto Saito, Hui-Chuan Chloe Lee, Cheng-Yang Wu

Rating No ratings yet

No description

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# DevOps with Kubernetes: Accelerating Software Delivery with Container Orchestrators ## 【One-Line Pitch】 A practical, hands-on guide for developers and ops engineers who want to master containerized application delivery by combining DevOps practices with Kubernetes orchestration—covering everything from Docker fundamentals to cluster administration and cloud deployment. ## 【Book Arc】 - **Opening (~0%–10%)**: Introduces the software delivery challenges that motivate DevOps, explains infrastructure as code concepts, and covers configuration management tools like Chef and AWS CloudFormation. Establishes why automation and version-controlled infrastructure are essential for modern delivery. - **Early (~10%–23%)**: Dives into Docker fundamentals—images, containers, namespaces, resource isolation, Dockerfile instructions (COPY, ADD, VOLUME), and Docker Compose for multi-container orchestration. Builds the container foundation needed before Kubernetes makes sense. - **Early (~23%–39%)**: Introduces Kubernetes architecture (Masters and Nodes, kube-proxy), then walks through core objects: Pods, ReplicationControllers, ReplicaSets, Deployments, Services (ClusterIP, NodePort, LoadBalancer), Secrets, and ConfigMaps. Includes a complete kiosk application deployment example that ties concepts together. - **Middle (~39%–48%)**: Covers persistent storage with Kubernetes Volumes, PersistentVolumes, StorageClass, and dynamic provisioning across cloud providers (AWS EBS, GCP Persistent Disk). Also explains resource QoS classes (BestEffort, Burstable, Guaranteed) and how to configure pods for different priority levels. - **Late (~48%–end)**: Explores networking in depth—how LoadBalancer traffic routes to pods across nodes, service-to-pod communication patterns, and network policies (using Calico as an example). The book then moves to cluster administration topics: namespaces, ResourceQuota, kubeconfig, service accounts, authentication/authorization (ABAC, RBAC), and admission control. ## 【Key Takeaways】 - **Infrastructure as code is the foundation of DevOps** (Opening): Managing infrastructure through version-controlled configuration files (rather than manual SOP documents) enables history tracking, easy duplication, and eliminates human error in environment setup. Tools like Chef and CloudFormation automate what was once manual cloud operations. - **Containers are instances of immutable images** (Early): An image bundles code, libraries, and configuration; a container is the runtime instance. Understanding the difference—and using commands like `docker inspect`, `exec`, and `attach`—is essential before moving to orchestration. - **Dockerfile instructions have specific behaviors** (Early): COPY and ADD both move files into images, but ADD also handles URLs and compressed files. VOLUME creates data volumes at build time, but host directory mounting isn't possible in Dockerfiles due to portability concerns—a limitation that Kubernetes volumes later solve. - **Docker Compose is a medley of Docker functions** (Early): The `up` command is the closest counterpart to `docker run`, and Compose handles networks, volumes, and services defined in YAML. It's the bridge between single-container Docker and multi-container orchestration. - **Kubernetes controllers enforce desired state** (Early): ReplicationControllers and ReplicaSets continuously monitor pod counts and evict or create pods to match specifications. ReplicaSets use set-based selectors (matchLabels, matchExpressions) and should always be managed by Deployments, not created directly. - **Persistent storage requires planning for scalability** (Middle): StatefulSet with PersistentVolume requires Dynamic Provisioning and StorageClass because Kubernetes must know how to provision new volumes when scaling pods. Cloud providers (AWS, GCP) create default StorageClasses, but administrators should verify configurations. - **Resource QoS classes determine pod priority** (Middle): BestEffort pods (no resource limits) are terminated first during shortages—ideal for stateless, recoverable workloads like workers or caches. Namespace default resource settings can override implicit BestEffort configuration, so explicit settings are safer. - **LoadBalancer routing has cross-node overhead** (Late): Cloud LoadBalancers are node-aware, not pod-aware. Packets may arrive at nodes without the target pod, requiring additional routing hops. Understanding this journey (LoadBalancer → node → service → pod) helps design efficient service architectures. ## 【Reading Tips】 - **Skim the opening chapters** (~0–10%) if you already understand DevOps principles and infrastructure as code; the real value starts with Docker fundamentals. Focus on the Dockerfile instruction details and Compose examples. - **Deep-read the Kubernetes objects chapters** (~23–39%): The kiosk application deployment example is the book's centerpiece—work through it carefully to see how Pods, ReplicaSets, Services, Secrets, and ConfigMaps combine in practice. - **Pay special attention to the resource QoS section** (Middle): The BestEffort/Burstable/Guaranteed classification is easy to misunderstand. Note how namespace defaults can override implicit settings—this is a common production gotcha. - **The networking chapter** (Late) is dense but crucial. If you're not deploying to cloud LoadBalancers immediately, skim the packet-routing details and return when you need to troubleshoot cross-node traffic. - **The cluster administration chapter** (Late) covers RBAC and authentication—essential for production but skimmable for learning environments. Focus on namespaces and ResourceQuota if you're managing multi-team clusters. ## 【Coverage Limits】 This guide covers the book's progression from Docker basics through Kubernetes core objects, storage, networking, and cluster administration. The excerpts do not cover the final chapters on Kubernetes on AWS and GCP in detail, nor the CI/CD pipeline building sections beyond brief mentions. ##
Excerpt 1
amples of these styles and an explanation of their meaning. Code words in text, database table names, folder names, filenames, file extensions, pathnames, du...
View in text
Excerpt 2
b53ad6559e6705d6f82564baea $ docker run -d --network room \ --network-alias dad --name sleeper alpine sleep 60 b5290bcca85b830935a1d0252ca1bf05d03438ddd22675...
View in text
Excerpt 3
ubectl command by kubectl delete <resource> <resource_name>. Since we have a configuration file on hand, we could also use kubectl delete -f <configuration_f...
View in text
Excerpt 4
her cluster containers. Check out the latest launch time by CREATED column, where we will find that there are three containers that have just been launched:...
View in text
Excerpt 5
tes. Suppose we have a Deployment my-app (see ex-deployment.yml under the example directory for this section), we can modify the manifest with the sub comman...
View in text
Excerpt 6
API server. Any change in the file requires restarting the API server with --authorization-policy-file=<policy_file_name> command. Another authorization meth...
View in text
Excerpt 7
cro 172.16.1.2 35.196.228.40 RUNNING private-on-subnet-a us-west1-a g1-small 10.0.1.2 104.199.121.234 RUNNING public-on-subnet-a us-west1-a f1-micro 10.0.1.3...
View in text
Excerpt 8
bernetes. It's also a graduated project from the incubator. As what we've learned in Chapter 7, Continuous Delivery, deploying a containerized software to Ku...
View in text
Tags
AI categories
Cloud NativeDevOpscontainer orchestration
ISBN: 1788398009
Publisher: Packt Publishing
Publish Year: 2017
Language: English
Pages: 482
File Format: PDF
File Size: 17.6 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…