To get the most out of this book
It is necessary to have some prior knowledge to get the most out of this book. Indeed, this book is dedicated to Kubernetes, and although this orchestrator can be used with many container engines, this book will be about using Kubernetes in combination with Docker. It is therefore necessary to know Docker as much as possible. You don't have to be an expert, but you should be able to launch and manage applications on Docker before reading this book.
While it is possible to run Windows containers with Kubernetes, most of the topics covered in this book will be Linux-based. Having a good knowledge of Linux will be helpful, but not required. Again, you don't have to be an expert: knowing how to use a terminal session and basic Bash scripting should be enough.
Lastly, having some general knowledge of software architecture such as REST APIs will be beneficial.
We strongly advise you to not attempt to install Kubernetes or Kubectl on your machine for now. Kubernetes is not a single binary but is a distributed software composed of several components and as such, it is really complex to install a complete Kubernetes cluster from scratch. Instead, we recommend that you follow the third chapter of this book, which is dedicated to the setup of Kubernetes.
If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.
Please note that Kubernetes and Kubectl are the two tools we're going to use most frequently in this book, but there is a huge ecosystem around Kubernetes and we might install additional software not mentioned in this section. This book is also about using Kubernetes in the cloud, and we're going to discover how to provision Kubernetes clusters on public cloud platforms such as Amazon Web Services and Google Cloud Platform. As part of this setup, we might install additional software dedicated to these platforms that are not strictly bound to Kubernetes, but also to other services provided by these platforms.