2017-08-29 00:19:25 +03:00
# Installing the Client Tools
2020-01-16 20:22:28 +03:00
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 ).
2017-08-29 00:19:25 +03:00
## 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.
2019-09-14 21:41:56 +03:00
Download and install `cfssl` and `cfssljson` :
2017-08-29 00:19:25 +03:00
### OS X
```
2020-01-16 20:22:28 +03:00
$ 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
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ chmod +x cfssl cfssljson
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ sudo mv cfssl cfssljson /usr/local/bin/
2017-08-29 00:19:25 +03:00
```
2018-05-12 19:54:18 +03:00
Some OS X users may experience problems using the pre-built binaries in which case [Homebrew ](https://brew.sh ) might be a better option:
```
2020-01-16 20:22:28 +03:00
$ brew install cfssl
2018-05-12 19:54:18 +03:00
```
2017-08-29 00:19:25 +03:00
### Linux
```
2020-01-16 20:22:28 +03:00
$ wget -q --show-progress --https-only --timestamping \
2019-09-14 21:41:56 +03:00
https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssl \
https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssljson
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ chmod +x cfssl cfssljson
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ sudo mv cfssl cfssljson /usr/local/bin/
2017-08-29 00:19:25 +03:00
```
### Verification
2019-09-14 21:41:56 +03:00
Verify `cfssl` and `cfssljson` version 1.3.4 or higher is installed:
2017-08-29 00:19:25 +03:00
```
2020-01-16 20:22:28 +03:00
$ cfssl version
2019-09-14 21:41:56 +03:00
Version: 1.3.4
2017-08-29 00:19:25 +03:00
Revision: dev
2019-09-14 21:41:56 +03:00
Runtime: go1.13
2017-08-29 00:19:25 +03:00
```
2019-09-14 21:41:56 +03:00
```
2020-01-16 20:22:28 +03:00
$ cfssljson --version
2019-09-14 21:41:56 +03:00
Version: 1.3.4
Revision: dev
Runtime: go1.13
```
2017-08-29 00:19:25 +03:00
## 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
```
2020-01-16 20:22:28 +03:00
$ curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/darwin/amd64/kubectl
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ chmod +x kubectl
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ sudo mv kubectl /usr/local/bin/
2017-08-29 00:19:25 +03:00
```
### Linux
```
2020-01-16 20:22:28 +03:00
$ wget https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/linux/amd64/kubectl
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ chmod +x kubectl
2017-08-29 00:19:25 +03:00
```
```
2020-01-16 20:22:28 +03:00
$ sudo mv kubectl /usr/local/bin/
2017-08-29 00:19:25 +03:00
```
### Verification
2019-09-14 21:41:56 +03:00
Verify `kubectl` version 1.15.3 or higher is installed:
2017-08-29 00:19:25 +03:00
```
2020-01-16 20:22:28 +03:00
$ 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"}
2017-08-29 00:19:25 +03:00
```
2020-01-16 20:22:28 +03:00
Next: [Provisioning Compute Resources ](03-compute-resources.md )