Appendix B. An Overview of Kubernetes

This appendix is meant as a further introduction on core concepts in Kubernetes. We don’t have the space in Chapter 1 to touch on all of the concepts in this appendix and we didn’t want to just point to scattered links, so we’ve collected just enough core concepts in this appendix to keep you going.

Core Kubernetes Concepts

For the newer practitioner, we want to cover a few basic Kubernetes concepts in this section as not every reader will be a battle-hardened DevOps engineer. In Figure B-1 we can see the core processes involved in operating a Kubernetes cluster.

We use the Kubernetes API to describe a cluster’s desired state (what are we trying to run? what components and resources do they need?). We set the desired state through creating (and/or modifying) objects via the Kubernetes API. To work with the Kubernetes API (e.g., the kube-api-server in Figure B-1), we typically use the command-line interface kubectl. There are also ways to use the Kubernetes API directly from your code via SDKs.

Kubernetes provides an API via HTTP that is a resource-based (RESTful) programmatic interface. This RESTful API supports the standard HTTP verbs (POST, PUT, PATCH, DELETE, GET) for retrieving, creating, updating, and deleting primary resources. Kubernetes also allows fine-grained authorization (e.g., binding a pod to a node). We can use the Kubernetes API to read and write Kubernetes resource objects via a Kubernetes API endpoint.

Figure B-1. Core ...

Get Kubeflow Operations Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.