Managing Kubernetes

Book description

None

Table of contents

  1. Preface
    1. Who should read This Book
    2. Why we wrote This Book
    3. Navigating This Book
    4. Conventions Used in This Book
    5. Using Code Examples
    6. O’Reilly Safari
    7. How to Contact Us
    8. Acknowledgments
  2. 1. Introduction
    1. How the Cluster Operates
    2. Adjust, Secure, and Tune the Cluster
    3. Responding When Things Go Wrong
    4. Extending the System with New and Custom Functionality
    5. Summary
  3. 2. An Overview of Kubernetes
    1. Containers
    2. Container Orchestration
    3. The Kubernetes API
      1. Basic Objects: Pods, ReplicaSets, and Services
      2. Organizing Your Cluster with Namespaces, Labels, and Annotations
      3. Advanced Concepts: Deployments, Ingress, and StatefulSets
      4. Batch Workloads: Job and ScheduledJob
      5. Cluster Agents and Utilities: DaemonSets
    4. Summary
  4. 3. Kubernetes Architecture
    1. Concepts
      1. Declarative Configuration
      2. Reconciliation or Controllers
      3. Implicit or Dynamic Grouping
    2. Structure
      1. Unix Philosophy of Many Components
      2. API-Driven Interactions
    3. Components
      1. Head Node Components
      2. Components On All Nodes
      3. Scheduled Components
    4. Summary
  5. 4. The Kubernetes API Server
    1. Basic Characteristics for Manageability
    2. Pieces of the API Server
      1. API Management
      2. API Paths
      3. API Discovery
      4. OpenAPI Spec Serving
      5. API Translation
    3. Request Management
      1. Types of Requests
      2. Life of a Request
    4. API Server Internals
      1. CRD Control Loop
    5. Debugging the API Server
      1. Basic Logs
      2. Audit Logs
      3. Activating Additional Logs
      4. Debugging kubectl Requests
    6. Summary
  6. 5. Scheduler
    1. An Overview of Scheduling
    2. Scheduling Process
      1. Predicates
      2. Priorities
      3. High-Level Algorithm
      4. Conflicts
    3. Controlling Scheduling with Labels, Affinity, Taints, and Tolerations
      1. Node Selectors
      2. Node Affinity
      3. Taints and Tolerations
    4. Summary
  7. 6. Installing Kubernetes
    1. kubeadm
      1. Requirements
      2. kubelet
    2. Installing the Control Plane
      1. kubeadm Configuration
      2. Preflight Checks
      3. Certificates
      4. etcd
      5. kubeconfig
      6. Taints
    3. Installing Worker Nodes
    4. Add-Ons
    5. Phases
    6. High Availability
    7. Upgrades
    8. Summary
  8. 7. Authentication and User Management
    1. Users
    2. Authentication
    3. kubeconfig
    4. Service Accounts
    5. Summary
  9. 8. Authorization
    1. REST
    2. Authorization
    3. Role-Based Access Control
      1. Role and ClusterRole
      2. RoleBinding and ClusterRoleBinding
      3. Testing Authorization
    4. Summary
  10. 9. Admission Control
    1. Configuration
    2. Common Controllers
      1. PodSecurityPolicies
      2. ResourceQuota
      3. LimitRange
    3. Dynamic Admission Controllers
      1. Validating Admission Controllers
      2. Mutating Admission Controllers
    4. Summary
  11. 10. Networking
    1. Container Network Interface
      1. Choosing a Plug-in
    2. kube-proxy
    3. Service Discovery
      1. DNS
      2. Environment Variables
    4. Network Policy
    5. Service Mesh
    6. Summary
  12. 11. Monitoring Kubernetes
    1. Goals for Monitoring
    2. Differences Between Logging and Monitoring
    3. Building a Monitoring Stack
      1. Getting Data from Your Cluster and Applications
      2. Aggregating Metrics and Logs from Multiple Sources
      3. Storing Data for Retrieval and Querying
      4. Visualizing and Interacting with Your Data
    4. What to Monitor?
      1. Monitoring Machines
      2. Monitoring Kubernetes
      3. Monitoring Applications
      4. Blackbox Monitoring
      5. Streaming Logs
      6. Alerting
      7. Summary
  13. 12. Disaster Recovery
    1. High Availability
    2. State
    3. Application Data
      1. Persistent Volumes
      2. Local Data
    4. Worker Nodes
    5. etcd
    6. Ark
    7. Summary
  14. 13. Extending Kubernetes
    1. Kubernetes Extension Points
    2. Cluster Daemons
      1. Use Cases for Cluster Daemons
      2. Installing a Cluster Daemon
      3. Operational Considerations for Cluster Daemons
      4. Hands-On: Example of Creating a Cluster Daemon
    3. Cluster Assistants
      1. Use Cases for Cluster Assistants
      2. Installing a Cluster Assistant
      3. Operational Considerations for Cluster Assistants
      4. Hands-On: Example of Cluster Assistants
    4. Extending the Life Cycle of the API Server
      1. Use Cases for Extending the API Life Cycle
      2. Installing API Life Cycle Extensions
      3. Operational Considerations for Life Cycle Extensions
      4. Hands-On: Example of Life Cycle Extensions
    5. Adding Custom APIs to Kubernetes
      1. Use Cases for Adding New APIs
      2. Custom Resource Definitions and Aggregated API Servers
      3. Architecture for Custom Resource Definitions
      4. Installing Custom Resource Definitions
      5. Operational Considerations for Custom Resources
    6. Summary
  15. 14. Conclusions
  16. Index

Product information

  • Title: Managing Kubernetes
  • Author(s):
  • Release date:
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: None