Extending Kubernetes: Elevate Kubernetes with Extension Patterns, Operators, and Plugins

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Rely on this comprehensive guide to understand the extension patterns and discover the extension plugins for Kubernetes. In this book, state-of-the-art extension patterns and extension points of Kubernetes are covered in depth with real-life use cases and examples. There are comprehensive discussions in the text on all possible aspects of Kubernetes, starting from end-user to the fully-automated controller development. The book focuses on creating applications that work on Kubernetes and also interact and operate Kubernetes itself. The book starts with a recap of Kubernetes, its rich configuration options, extension patterns, and points. The journey of extending Kubernetes starts with the CLI tool plugins. By the end of this section, you will be able to create and manage kubectl plugins. Then, the API access plugins with authentication and authorization webhooks are presented. In this section, you will learn how to extend and interfere with the API flow of Kubernetes. You then move on to learn how to extend Kubernetes API with new resources and controllers. You will make Kubernetes API work for you by creating a Kubernetes operator. Extensions for Kubernetes schedulers are covered to create a custom scheduler and run it side-by-side with the default scheduler. Finally, the last extension points will be discussed for the infrastructure, such as networking or storage. At the end of the text, you will learn the upcoming extension points. This book is designed to cover all the extension points of Kubernetes with state-of-the-art implementations. This book is intended for those who wish to understand Kubernetes in depth and go further by making Kubernetes work for their custom requirements. By the end of this book, readers with a cloud-native mindset will broaden their vision to create future-proof applications. Rather than focus on overwhelming theoretical information and YAML files for Kubernetes resources, readers are provided with the philosophy behind Kubernetes extensions. With real-life examples and hands-on development steps, you will be more confident in working with Kubernetes. What You Will Learn * Know the Kubernetes extension patterns and available extension points * Be familiar with the philosophy behind Kubernetes extensions and how they should be integrated into the clusters * Design Kubernetes extensions and make Kubernetes work for you * Develop, deploy, and operate plugins for Kubernetes ranging from the CLI tool to custom resources, schedulers, infrastructure, and more * Study real-life use cases for extending Kubernetes with code examples Who This Book Is For Software engineers, developers, DevOps engineers, cloud security analysts, architects, and managers who have Kubernetes in their short- and long-term plans

Author(s): Onur Yilmaz
Publisher: Apress
Year: 2021

Language: English
Pages: 247

Table of Contents
About the Author
About the Technical Reviewer
Introduction
Chapter 1: Introduction
Kubernetes Recap
Control Plane Components
kube-apiserver
etcd
kube-scheduler
kube-controller-manager
cloud-controller-manager
Node Components
kubelet
kube-proxy
Configuring the Kubernetes Cluster
Kubernetes Extension Patterns
Controller
Webhook
Binary Plugin
Kubernetes Extension Points
Key Takeaways
Chapter 2: kubectl Plugins
kubectl Installation and Usage
kubectl Plugin Design
Create Your First kubectl Plugins
Plugin Repository: krew
Key Takeaways
Chapter 3: API Flow Extensions
Kubernetes API Flow
Authentication
Authorization
Admission Control
Authentication Webhooks
Kubernetes API Server Configuration
Webhook Server
Authorization Webhooks
Kubernetes API Server Configuration
Webhook Server
Dynamic Admission Controllers
Webhook Configuration Resources
Webhook Server
Key Takeaways
Chapter 4: Extending the Kubernetes API
Kubernetes API Overview
API Versioning
API Groups
Extension Points in Kubernetes API
CustomResourceDefinitions
API Server Aggregation
Kubernetes Client Libraries
Custom Resource Definitions and Controllers
Operator Pattern in Kubernetes
kubebuilder Framework
Aggregated API and Extension Servers
Key Takeaways
Chapter 5: Scheduling Extensions
Kubernetes Scheduler Overview
Scheduling Framework
Extension Points
Configure and Manage Multiple Schedulers
Scheduler Extenders
Configuration Details
Scheduler Extender API
Filter
Prioritize
Preempt
Bind
Key Takeaways
Chapter 6: Infrastructure Extensions
Cloud-Native Infrastructure
Storage Plugins
Container Storage Interface (CSI)
CSI Plugins in Kubernetes
CSI Hostpath Driver in Action
Network Plugins
Kubernetes Network Model
Container Network Interface (CNI)
CNI Plugins in Kubernetes
Calico CNI Plugin in Action
Device Plugins
Device Plugin API
Development and Deployment of a Device Plugin
Key Takeaways
Chapter 7: Upcoming Extension Points
Service Catalog
Cluster API
Key Takeaways
Conclusion
Index