Kubernetes Operators

Book description

None

Table of contents

  1. Preface
    1. Who This Book Is For
    2. What You Will Learn
      1. Operator Framework and SDK
      2. Other Operator Tools
    3. Conventions Used in This Book
    4. Using Code Examples
    5. O’Reilly Online Learning
    6. How to Contact Us
    7. Acknowledgments
  2. 1. Operators Teach Kubernetes New Tricks
    1. How Kubernetes Works
    2. Example: Stateless Web Server
    3. Stateful Is Hard
    4. Operators Are Software SREs
    5. How Operators Work
      1. Kubernetes CRs
    6. How Operators Are Made
    7. Example: The etcd Operator
      1. The Case of the Missing Member
    8. Who Are Operators For?
      1. Operator Adoption
    9. Let’s Get Going!
  3. 2. Running Operators
    1. Setting Up an Operator Lab
      1. Cluster Version Requirements
      2. Authorization Requirements
      3. Standard Tools and Techniques
      4. Suggested Cluster Configurations
      5. Checking Your Cluster Version
    2. Running a Simple Operator
      1. A Common Starting Point
      2. Fetching the etcd Operator Manifests
      3. CRs: Custom API Endpoints
      4. Who Am I: Defining an Operator Service Account
      5. Deploying the etcd Operator
      6. Declaring an etcd Cluster
      7. Exercising etcd
      8. Scaling the etcd Cluster
      9. Failure and Automated Recovery
      10. Upgrading etcd Clusters
      11. Cleaning Up
    3. Summary
  4. 3. Operators at the Kubernetes Interface
    1. Standard Scaling: The ReplicaSet Resource
    2. Custom Resources
      1. CR or ConfigMap?
    3. Custom Controllers
    4. Operator Scopes
      1. Namespace Scope
      2. Cluster-Scoped Operators
    5. Authorization
      1. Service Accounts
      2. Roles
      3. RoleBindings
      4. ClusterRoles and ClusterRoleBindings
    6. Summary
  5. 4. The Operator Framework
    1. Operator Framework Origins
    2. Operator Maturity Model
    3. Operator SDK
      1. Installing the Operator SDK Tool
    4. Operator Lifecycle Manager
    5. Operator Metering
    6. Summary
  6. 5. Sample Application: Visitors Site
    1. Application Overview
    2. Installation with Manifests
      1. Deploying MySQL
      2. Backend
      3. Frontend
    3. Deploying the Manifests
    4. Accessing the Visitors Site
    5. Cleaning Up
    6. Summary
  7. 6. Adapter Operators
    1. Helm Operator
      1. Building the Operator
      2. Fleshing Out the CRD
      3. Reviewing Operator Permissions
      4. Running the Helm Operator
    2. Ansible Operator
      1. Building the Operator
      2. Fleshing Out the CRD
      3. Reviewing Operator Permissions
      4. Running the Ansible Operator
    3. Testing an Operator
    4. Summary
    5. Resources
  8. 7. Operators in Go with the Operator SDK
    1. Initializing the Operator
    2. Operator Scope
    3. Custom Resource Definitions
      1. Defining the Go Types
      2. The CRD Manifest
    4. Operator Permissions
    5. Controller
      1. The Reconcile Function
    6. Operator Writing Tips
      1. Retrieving the Resource
      2. Child Resource Creation
      3. Child Resource Deletion
      4. Child Resource Naming
      5. Idempotency
      6. Operator Impact
    7. Running an Operator Locally
    8. Visitors Site Example
    9. Summary
    10. Resources
  9. 8. Operator Lifecycle Manager
    1. OLM Custom Resources
      1. ClusterServiceVersion
      2. CatalogSource
      3. Subscription
      4. InstallPlan
      5. OperatorGroup
    2. Installing OLM
    3. Using OLM
      1. Exploring the Operator
      2. Deleting the Operator
    4. OLM Bundle Metadata Files
      1. Custom Resource Definitions
      2. Cluster Service Version File
      3. Package Manifest File
    5. Writing a Cluster Service Version File
      1. Generating a File Skeleton
      2. Metadata
      3. Owned CRDs
      4. Required CRDs
      5. Install Modes
      6. Versioning and Updating
    6. Writing a Package Manifest File
    7. Running Locally
      1. Prerequisites
      2. Building the OLM Bundle
      3. Installing the Operator Through OLM
      4. Testing the Running Operator
    8. Visitors Site Operator Example
    9. Summary
    10. Resources
  10. 9. Operator Philosophy
    1. SRE for Every Application
    2. Toil Not, Neither Spin
      1. Automatable: Work Your Computer Would Like
      2. Running in Place: Work of No Enduring Value
      3. Growing Pains: Work That Expands with the System
    3. Operators: Kubernetes Application Reliability Engineering
      1. Managing Application State
      2. Golden Signals Sent to Software
    4. Seven Habits of Highly Successful Operators
    5. Summary
  11. 10. Getting Involved
    1. Feature Requests and Reporting Bugs
    2. Contributing
    3. Sharing Operators
    4. Summary
  12. A. Running an Operator as a Deployment Inside a Cluster
  13. B. Custom Resource Validation
  14. C. Role-Based Access Control (RBAC)
    1. Fine-Tuning the Role
  15. Index

Product information

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