Installing the Client Tools

In this lab you will install the command line utilities required to complete this tutorial: cfssl, cfssljson, and kubectl.

Install CFSSL

The cfssl and cfssljson command line utilities will be used to provision a PKI Infrastructure and generate TLS certificates.

Download and install cfssl and cfssljson:

OS X

  1. curl -o cfssl https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/darwin/cfssl
  2. curl -o cfssljson https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/darwin/cfssljson
  1. chmod +x cfssl cfssljson
  1. sudo mv cfssl cfssljson /usr/local/bin/

Some OS X users may experience problems using the pre-built binaries in which case Homebrew might be a better option:

  1. brew install cfssl

Linux

  1. wget -q --show-progress --https-only --timestamping \
  2. https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssl \
  3. https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/linux/cfssljson
  1. chmod +x cfssl cfssljson
  1. sudo mv cfssl cfssljson /usr/local/bin/

Verification

Verify cfssl and cfssljson version 1.3.4 or higher is installed:

  1. cfssl version

output

  1. Version: 1.3.4
  2. Revision: dev
  3. Runtime: go1.13
  1. cfssljson --version
  1. Version: 1.3.4
  2. Revision: dev
  3. 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

  1. curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/darwin/amd64/kubectl
  1. chmod +x kubectl
  1. sudo mv kubectl /usr/local/bin/

Linux

  1. wget https://storage.googleapis.com/kubernetes-release/release/v1.15.3/bin/linux/amd64/kubectl
  1. chmod +x kubectl
  1. sudo mv kubectl /usr/local/bin/

Verification

Verify kubectl version 1.15.3 or higher is installed:

  1. kubectl version --client

output

  1. Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Next: Provisioning Compute Resources