Index
A
- access control
- admission
- chain, Admission, Registering
- configuration, Registering
- initializers, Options and Config Pattern and Startup Plumbing, Plumbing resources
- mutating, Validation, Admission
- order, Admission
- plug-in, How the API Server Processes Requests, Admission, Registering
- register, Registering
- validating, Validation, Admission
- admission webhooks
- aggregated API server (see aggregation)
- aggregation, Custom API Servers, Deploying Custom API Servers, Certificates and Trust, Custom Resource Versioning, Setting Up the HTTPS Server
- aggregator (see aggregation)
- alpha versions, API Versions and Compatibility Guarantees
- Ansible, Other Packaging Options
- API groups, API Terminology
- API Machinery features, Versioning and Compatibility, API Machinery in Depth-Scheme (see also Kubernetes API)
- API servers (see custom API servers)
- API Services, API Services
- auditing, Monitoring, instrumentation, and auditing
- authentication, Delegated Authentication and Trust
- authorization, Delegated Authorization
- automated builds, Production-Ready Deployments, Automated Builds and Testing
C
- caching
- categories, Short Names and Categories
- certificates and trust, Certificates and Trust
- Chang, Eric, Other Approaches
- charts, Helm
- Chef, Other Packaging Options
- CLI-client based operator creation, Other Approaches
- client sets
- client expansion, Client Expansion
- client options, Client Options
- creating, Creating and Using a Client
- discovery client, Client Sets
- listings and deletions, Listings and Deletions
- main interface, Client Sets
- role of, Client Sets
- status subresources, Status Subresources: UpdateStatus
- versioned clients and internal clients, Client Sets
- watches, Watches
- client-gen tags, client-gen Tags
- client-go
- clients
- cloud-native applications
- cloud-native languages, Other Packaging Options
- cnat (cloud-native at) example, A Motivational Example
- code examples, obtaining and using, Using Code Examples
- code generation
- cohabitation, API Terminology, Use Cases for Custom API Servers
- command line interface (CLI), Using the API from the Command Line-Using the API from the Command Line
- comments and questions, How to Contact Us
- commercially available off-the-shelf (COTS) apps, What Does Programming Kubernetes Mean?
- compatibility
- configuration management systems, Other Packaging Options
- conflict errors, Optimistic Concurrency
- connection errors, Client Options
- continuous integration (CI), Automated Builds and Testing
- controller-runtime client, controller-runtime Client of Operator SDK and Kubebuilder
- controllers and operators
- changing cluster objects or the external world, Changing Cluster Objects or the External World
- control loop, The Control Loop
- custom controller scope, Packaging Best Practices
- documenting with inline docs, Packaging Best Practices
- edge- versus level-driven triggers, Edge- Versus Level-Driven Triggers
- events, Events
- footprint and scalability of, Packaging Best Practices
- functions of, Controllers and Operators
- lifecycle management, Lifecycle Management
- operators, Operators
- optimistic concurrency, Optimistic Concurrency
- packaging, Lifecycle Management and Packaging-Packaging Best Practices
- production-ready deployments, Production-Ready Deployments-Monitoring, instrumentation, and auditing
- writing custom, Solutions for Writing Operators-Uptake and Future Directions
- conversion, Inner Structure of a Custom API Server, Internal Types and Conversion, API Installation
- core group, TypeMeta
- CoreOS, Operators
- CRUD verbs, Versioning and Compatibility
- curl, Using the API from the Command Line
- custom API servers
- architecture, The Architecture: Aggregation-Delegated Authorization
- benefits of, Use Cases for Custom API Servers
- CRD drawbacks, Use Cases for Custom API Servers
- CustomResourceDefinition, Using Custom Resources-controller-runtime Client of Operator SDK and Kubebuilder
- deploying, Deploying Custom API Servers-Sharing etcd
- example of, Example: A Pizza Restaurant
- writing, Writing Custom API Servers-Plumbing resources
- admission, Admission
- API installation, API Installation
- conversions, Conversions
- defaulting, Defaulting
- existing option structs, Options and Config Pattern and Startup Plumbing
- first start, The First Start
- internal types and conversion, Internal Types and Conversion
- options and config pattern, Options and Config Pattern and Startup Plumbing
- registry and strategy, Registry and Strategy
- roundtrip testing, Roundtrip Testing
- validation, Validation
- writing API types, Writing the API Types
- custom resource definitions (CRDs)
- accessing, A Developer’s View on Custom Resources
- accessing with client-go dynamic client, Dynamic Client
- accessing with controller-runtime client, controller-runtime Client of Operator SDK and Kubebuilder
- accessing with typed clients, Typed Clients-Typed client created via client-gen
- admission webhooks, Admission Webhooks-Admission Webhook in Action
- availability of, Using Custom Resources
- best practices, Packaging Best Practices
- defining, Using Custom Resources
- discovery information, Discovery Information
- limits of, Use Cases for Custom API Servers
- printer columns, Printer Columns
- role of, Operators, Using Custom Resources
- short names and categories, Short Names and Categories
- structural schemas, Structural Schemas and the Future of CustomResourceDefinitions-Default Values
- subresources, Subresources-Scale subresource
- type definitions, Type Definitions
- validating custom resources, Validating Custom Resources
- versioning, Custom Resource Versioning-Seeing Conversion in Action
- writing with code generators, Automating Code Generation-Summary
- custom resources (CR) (see custom resource definitions (CRDs))
D
- declarative state management, Declarative State Management
- decoding, Inner Structure of a Custom API Server
- deep copies, deepcopy-gen Tags-runtime.Object and DeepCopyObject
- deep copy, Kubernetes Objects in Go
- deep-copy
- DeepCopyObject tag, runtime.Object and DeepCopyObject
- defaulting, Internal Types and Conversion, Defaulting, API Installation, Default Values
- delegated authentication, Delegated Authentication and Trust
- delegated authorization, Delegated Authorization
- dep (vendoring tool), dep
- deployment (controllers and operators)
- access control, Getting the Permissions Right
- automated builds and testing, Automated Builds and Testing
- custom controller observability, Custom Controllers and Observability
- lifecycle management, Lifecycle Management
- overview of, Lifecycle Management and Packaging
- packaging best practices, Packaging Best Practices
- packaging challenges, Packaging: The Challenge
- packaging with Helm, Helm
- packaging with Kustomize, Kustomize
- packaging with other tools, Other Packaging Options
- production-ready overview, Production-Ready Deployments
- deployment (custom API servers)
- desired state, Declarative State Management
- discovery, Short Names and Categories, controller-runtime Client of Operator SDK and Kubebuilder
- discovery client, Client Sets
- discovery mechanism, Discovery Information
- distributed version control, Technology You Need to Understand
- dynamic clients, Dynamic Client
G
- general availability (GA), Custom Resource Versioning
- generator
- generic registry, Generic registry
- Git, Technology You Need to Understand
- glide (vendoring tool), glide
- global tags, Global Tags
- Go modules, Go Modules
- Go programming language, Technology You Need to Understand, What Does Programming Kubernetes Mean?, Basics of client-go (see also client-go)
- Go types, Kubernetes API Types, TypeMeta
- Golang package structure, Golang package structure
- Golang types, API Terminology, Typed Clients
- graceful shutdowns, Client Options
- graceful termination, Use Cases for Custom API Servers
- GroupVersion (GV), Client Sets
- GroupVersionKind (GVK), API Terminology, Kubernetes Objects in Go, Kinds, Conversions, Implementation
- GroupVersionResource (GVR), API Terminology, Resources
K
- kinds
- categories of, API Terminology
- formatting of, Kinds
- function of, API Terminology
- GroupVersionKind (GVK), API Terminology, Kinds
- kinds versus resources, API Terminology
- living in multiple API groups, API Terminology
- relation to Go type, packages, and group names, TypeMeta
- typed clients and, Anatomy of a type
- klog, Logging
- ksonnet, Other Packaging Options
- kube-aggregator, The Architecture: Aggregation, Delegated Authorization
- kube-apiserver, Type Definitions, The Architecture: Aggregation, Delegated Authorization, Sharing etcd, Setting Up the HTTPS Server
- kube-controller-manager, Events, Informers and Caching
- kube-dns, Using the API from the Command Line
- kube-scheduler, Events
- kube-system, Events, Using the API from the Command Line
- Kubebuilder
- additional resources, Kubebuilder
- base directory, Bootstrapping
- bootstrapping, Bootstrapping
- business logic, Business Logic-Business Logic
- commands
- controller-runtime client of, controller-runtime Client of Operator SDK and Kubebuilder
- create api command, Bootstrapping
- custom resource definition, Bootstrapping
- custom resource installation and validation, Bootstrapping
- dedicated namespace creation, Bootstrapping
- local operator launch, Bootstrapping
- versions, Kubebuilder
- kubeconfig, Creating and Using a Client
- kubectl, Events, The API Server, Using the API from the Command Line, Creating and Using a Client, Discovery Information, Validating Custom Resources
- kubectl api-resources, Using the API from the Command Line, Short Names and Categories
- kubectl api-versions, Using the API from the Command Line
- kubectl apply, Packaging: The Challenge, Kustomize
- kubectl apply -f, Bootstrapping, Bootstrapping, Bootstrapping
- kubectl create -f, Running the Custom API Server Insecurely
- kubectl delete, Running the Custom API Server Insecurely
- kubectl get --raw, Using the API from the Command Line
- kubectl get apiservices, Running the Custom API Server Insecurely
- kubectl get at example-at, Pruning Versus Preserving Unknown Fields
- kubectl get at,pods, Business Logic
- kubectl get crds, Bootstrapping, Bootstrapping, Bootstrapping
- kubectl get ds, Short Names and Categories
- kubectl get pod, Defaulting
- kubectl logs, Logging
- kubectl logs example-at-pod, Business Logic
- kubectl proxy, Using the API from the Command Line
- kubectl scale --replicas 3, Scale subresource
- kubecuddler, Other Approaches
- kubelet, Events, Optimistic Concurrency, Declarative State Management
- Kubernetes
- additional resources, What Does Programming Kubernetes Mean?, The Control Loop, Events, Edge- Versus Level-Driven Triggers, General
- API versioning, Kubernetes API Versioning
- controllers and operators, Controllers and Operators-Operators
- documentation, A Motivational Example, Versioning and Compatibility
- ecosystem for, Ecosystem
- extension patterns, Extension Patterns
- local development environment, What Does Programming Kubernetes Mean?
- meaning of programming Kubernetes, What Does Programming Kubernetes Mean?
- native app example, A Motivational Example
- optimistic concurrency in, Optimistic Concurrency
- prerequisites to learning, Technology You Need to Understand
- programming in Go, What Does Programming Kubernetes Mean?
- types of apps running on, What Does Programming Kubernetes Mean?
- versions discussed, Ecosystem
- Kubernetes API
- API Machinery repository, API Machinery
- API versioning, Kubernetes API Versioning, Versioning and Compatibility
- architecture and core responsibilities, The API Server
- benefits of, What Does Programming Kubernetes Mean?
- command line control, Using the API from the Command Line-Using the API from the Command Line
- declarative state management, Declarative State Management
- Go types repository, Kubernetes API Types
- HTTP interface of, The HTTP Interface of the API Server
- request processing, How the API Server Processes Requests-How the API Server Processes Requests, Client Options
- terminology, API Terminology-API Terminology
- Kubernetes objects in Go
- KUDO, Other Approaches
- Kustomize, Kustomize
- kutil, Other Approaches
L
- label selector, Listings and Deletions
- leader-follower/standby model, Production-Ready Deployments
- least-privileges principle, Getting the Permissions Right
- legacy group, TypeMeta
- level-driven triggers, Edge- Versus Level-Driven Triggers
- lifecycle management, Lifecycle Management
- lister-gen, informer-gen and lister-gen
- local development environment, What Does Programming Kubernetes Mean?
- local tags, Local Tags
- logging, Production-Ready Deployments, Logging
- long-running requests, Client Options
P
- package management, Technology You Need to Understand, Kubernetes API Types, dep, Helm
- packaging
- parallel scheduler architecture, Optimistic Concurrency
- Plumi, Other Packaging Options
- polling, Edge- Versus Level-Driven Triggers
- post-start hook, Options and Config Pattern and Startup Plumbing
- printer columns, Printer Columns
- priority queues, Work Queue
- Prometheus, Monitoring, instrumentation, and auditing
- protocol buffers (protobuf), Creating and Using a Client
- pruning, Pruning Versus Preserving Unknown Fields
- Puppet, Other Packaging Options
R
- rate limiting, Client Options
- read access, Getting the Permissions Right
- reflection, Scheme
- registry, Options and Config Pattern and Startup Plumbing
- relist period, Informers and Caching
- remote procedure calls (RPCs), Events
- replica integer value, Scale subresource
- repositories
- request processing, How the API Server Processes Requests-How the API Server Processes Requests, Client Options
- resource version, Optimistic Concurrency
- resource version conflict errors, Optimistic Concurrency
- resources
- REST client, Client Sets
- REST config, Client Sets, Informers and Caching, Dynamic Client
- REST mapping, API Terminology, REST Mapping
- REST verbs, The Client Library
- resync period, Informers and Caching
- role-based access control (RBAC), How the API Server Processes Requests, Status subresource, Getting the Permissions Right, Delegated Authorization, Setting Up RBAC
- Rook operator kit, Other Approaches
- roundtrippable conversion, Internal Types and Conversion, Roundtrip Testing
- runtime.Object, Kubernetes Objects in Go, Scheme, runtime.Object and DeepCopyObject
S
- Salt, Other Packaging Options
- sample-controller
- scale subresource, Scale subresource
- schema, structural, Structural Schemas and the Future of CustomResourceDefinitions
- schemes, Scheme
- semantic versioning (semver), Versioning and Compatibility, Go Modules
- server request processing, How the API Server Processes Requests-How the API Server Processes Requests, Client Options
- server-side printing, Printer Columns
- service account, Deployment Manifests
- shared informer factory, Informers and Caching
- short names, Short Names and Categories
- Site Reliability Engineers (SREs), Operators
- spec and a status section, spec and status, Status subresource
- specifications (specs), Declarative State Management
- state change
- status (observed state), Declarative State Management
- status subresources, Status Subresources: UpdateStatus, Status subresource
- storage versions, API Versions and Compatibility Guarantees
- stores, Informers and Caching
- strategy, Strategy
- structural schemas
- subject access review, Delegated Authorization, Generic registry
- subresources, API Terminology, Subresources-Scale subresource
..................Content has been hidden....................
You can't read the all page of ebook, please click
here login for view all page.