# Installing the Client Tools In this lab you will install the command line utilities required to complete this tutorial: [cfssl, cfssljson](https://github.com/cloudflare/cfssl), and [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl). ## Install CFSSL The `cfssl` and `cfssljson` command line utilities will be used to provision a [PKI Infrastructure](https://en.wikipedia.org/wiki/Public_key_infrastructure) and generate TLS certificates. Download and install `cfssl` and `cfssljson`: ### OS X ``` $ curl -o cfssl https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/darwin/cfssl $ curl -o cfssljson https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/darwin/cfssljson ``` ``` $ chmod +x cfssl cfssljson ``` ``` $ sudo mv cfssl cfssljson /usr/local/bin/ ``` Some OS X users may experience problems using the pre-built binaries in which case [Homebrew](https://brew.sh) might be a better option: ``` $ brew install cfssl ``` ### Linux ``` $ wget -q --show-progress --https-only --timestamping \ https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssl \ https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssljson ``` ``` $ chmod +x cfssl cfssljson ``` ``` $ sudo mv cfssl cfssljson /usr/local/bin/ ``` ### Verification Verify `cfssl` and `cfssljson` version 1.3.4 or higher is installed: ``` $ cfssl version Version: 1.3.4 Revision: dev Runtime: go1.13 ``` ``` $ cfssljson --version Version: 1.3.4 Revision: dev Runtime: go1.13 ``` ## Install kubectl The `kubectl` command line utility is used to interact with the Kubernetes API Server. Download and install `kubectl` from the official release binaries: ### OS X ``` $ curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/darwin/amd64/kubectl ``` ``` $ chmod +x kubectl ``` ``` $ sudo mv kubectl /usr/local/bin/ ``` ### Linux ``` $ wget https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/linux/amd64/kubectl ``` ``` $ chmod +x kubectl ``` ``` $ sudo mv kubectl /usr/local/bin/ ``` ### Verification Verify `kubectl` version 1.15.3 or higher is installed: ``` $ kubectl version --client Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-13T11:51:44Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"darwin/amd64"} ``` Next: [Provisioning Compute Resources](03-compute-resources.md)