kubernetes-the-hard-way/docs/02-client-tools.md

119 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2017-08-29 00:19:25 +03:00
# Installing the Client Tools
In this lab you will install the command line utilities required to complete this tutorial: [cfssl](https://github.com/cloudflare/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.
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-07-18 10:24:55 +03:00
curl -o cfssl https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/darwin/cfssl
curl -o cfssljson https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/darwin/cfssljson
2017-08-29 00:19:25 +03:00
```
```
2017-09-25 22:01:11 +03:00
chmod +x cfssl cfssljson
2017-08-29 00:19:25 +03:00
```
```
2017-09-25 22:01:11 +03:00
sudo mv cfssl cfssljson /usr/local/bin/
2017-08-29 00:19:25 +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:
```
brew install cfssl
```
2017-08-29 00:19:25 +03:00
### Linux
```
wget -q --show-progress --https-only --timestamping \
2020-07-18 10:24:55 +03:00
https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssl \
https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssljson
2017-08-29 00:19:25 +03:00
```
```
2019-09-14 21:41:56 +03:00
chmod +x cfssl cfssljson
2017-08-29 00:19:25 +03:00
```
```
2019-09-14 21:41:56 +03:00
sudo mv cfssl cfssljson /usr/local/bin/
2017-08-29 00:19:25 +03:00
```
### Verification
2020-07-18 10:24:55 +03:00
Verify `cfssl` and `cfssljson` version 1.4.1 or higher is installed:
2017-08-29 00:19:25 +03:00
```
cfssl version
```
> output
```
2020-07-18 10:24:55 +03:00
Version: 1.4.1
Runtime: go1.12.12
2017-08-29 00:19:25 +03:00
```
2019-09-14 21:41:56 +03:00
```
cfssljson --version
```
```
2020-07-18 10:24:55 +03:00
Version: 1.4.1
Runtime: go1.12.12
2019-09-14 21:41:56 +03:00
```
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-07-18 10:24:55 +03:00
curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.18.6/bin/darwin/amd64/kubectl
2017-08-29 00:19:25 +03:00
```
```
chmod +x kubectl
```
```
sudo mv kubectl /usr/local/bin/
```
### Linux
```
2020-07-18 10:24:55 +03:00
wget https://storage.googleapis.com/kubernetes-release/release/v1.18.6/bin/linux/amd64/kubectl
2017-08-29 00:19:25 +03:00
```
```
chmod +x kubectl
```
```
sudo mv kubectl /usr/local/bin/
```
### Verification
2020-07-18 10:24:55 +03:00
Verify `kubectl` version 1.18.6 or higher is installed:
2017-08-29 00:19:25 +03:00
```
kubectl version --client
```
> output
```
2020-07-18 10:24:55 +03:00
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:58:53Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
2017-08-29 00:19:25 +03:00
```
Next: [Provisioning Compute Resources](03-compute-resources.md)