In addition to your usual editing and programming tools, you will want to install the software to leverage Kubernetes. The focus of this book is to let you do everything on your local development machine, while also allowing you to expand and leverage a remote Kubernetes cluster in the future if you need more resources. One of Kubernetes' benefits is how it treats one or one hundred computers in the same fashion, allowing you to take advantage of the resources you need for your software, and do it consistently, regardless of where they're located.
The examples in this book will use command-line tools in a Terminal on your local machine. The primary one will be kubectl
, which communicates with a Kubernetes cluster. We will use a tiny Kubernetes cluster of a single machine running on your own development system with Minikube. I recommend installing the community edition of Docker, which makes it easy to build containers for use within Kubernetes:
kubectl
:kubectl
(how to pronounce that is an amusing diversion within the Kubernetes community) is the primary command-line tool that is used to work with a Kubernetes cluster. To installkubectl
, go to the pagehttps://kubernetes.io/docs/tasks/tools/install-kubectl/and follow the instructions relevant to your platform.
minikube
: To install Minikube, go to the page https://github.com/kubernetes/minikube/releasesand follow the instructions for your platform.
docker
: To install the community edition of Docker, go to the webpage https://www.docker.com/community-editionand follow their instructions for your platform.
In addition to kubectl
, minikube
, and docker
, you may want to take advantage of additional helpful libraries and command-line tools.
jq
is a command-line JSON processor that makes it easy to parse results in more complex data structures. I would describe it as grep's cousin that's better at dealing with JSON results. You can install jq
by following the instructions at https://stedolan.github.io/jq/download/. More details on what jq
does and how to use it can also be found at https://stedolan.github.io/jq/manual/.