You are previewing Kubernetes: Up and Running.
O'Reilly logo
Kubernetes: Up and Running

Book Description

Legend has it that Google deploys over a billion application containers a week. How is that possible? The company decided to share the process through an open source project called Kubernetes, which replicates many of the features found in its internal system. This practical book will prepare you to take advantage of everything the Kubernetes platform has to offer.

Rather than an exact copy of its internal Borg system, Kubernetes is an upgrade based on lessons Google learned over the last decade. Kubernetes is also designed to integrate with the most robust container ecosystem: Docker. Developers and Ops practitioners can easily deploy a demo Kubernetes environment and kick the tires, but when it comes time to scale to hundreds of nodes, you’re going to need a reliable field guide: Kubernetes: Up and Running.

Table of Contents

  1. 1. Introduction
    1. Kubernetes Features
    2. Kubernetes Design Overview
      1. Concepts
      2. The Kubernetes Control Plane
      3. The Kubernetes Node
    3. Summary
  2. 2. Deploying Kubernetes
    1. Overview
      1. Consistent Data Store
      2. Controller Services
      3. Worker Services
    2. Kubernetes Nodes
      1. System Requirements
      2. The Kubernetes Machine Image
      3. Launching Kubernetes Nodes
      4. Configuring the Docker Daemon
      5. Configuring the Kubernetes Kubelet
      6. Configuring the Network
    3. Bootstrapping the Kubernetes Controller Node
      1. etcd
      2. API Server
      3. Controller Manager
      4. Scheduler
      5. Checking the Health of the Cluster Components
    4. Bootstrapping Kubernetes Worker Nodes
      1. Service Proxy
    5. The Kubernetes Client
      1. Checking Cluster Component Status
      2. Listing Kubernetes Worker Nodes
    6. Cluster Add-ons
      1. Kubernetes UI
      2. Securely Exposing the API Server
    7. Summary
  3. 3. Containers
    1. System Containers
    2. Application Containers
      1. Building Application Images with Docker
      2. Storing Images in a Remote Registry
    3. Running Containers with Docker
      1. Exporing the influxdb API
      2. Limiting Resource Usage
      3. Persisting Data with Volumes
    4. Summary
  4. 4. Pods
    1. Pod Manifest
      1. Creating a Pod Manifest
    2. Running Pods
      1. Listing Pods
      2. Pod Details
    3. Health Checks
      1. ReadinessProbe
      2. LivenessProbe
    4. Resource Management
    5. Persisting Data with Volumes
      1. Using Volumes with Pods
      2. Volume Plugins
      3. Persist data using a GCE Persistent Disk
    6. Putting it all together
    7. Summary
  5. 5. Labels and Annotations
    1. Labels
      1. Label Selectors
    2. Annotations
      1. Defining Annotations
    3. Summary
  6. 6. Services
    1. Endpoints
      1. Endpoint Controller
    2. Virtual IPs and Service Proxies
      1. Service Proxies
    3. Creating Services
      1. Service Specification
      2. Managing Services
    4. Service Discovery
      1. Environment variables
      2. DNS
    5. Exposing Services
      1. NodePort
      2. LoadBalancer
      3. External IPs
    6. Summary
  7. 7. ReplicaSets
    1. ReplicaSet Spec
      1. Pod Template
      2. Labels
    2. Creating a ReplicaSet
    3. Inspecting a ReplicaSet
    4. Scaling ReplicaSets
    5. Deleting ReplicaSets
      1. Summary
  8. 8. DaemonSets
    1. DaemonSet Scheduler
    2. Creating DaemonSets
    3. Limiting DaemonSets to Specific Nodes
      1. Adding Labels to Nodes
      2. Node Selectors
    4. Updating a DaemonSet
    5. Deleting a DaemonSet
    6. Summary