63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# Installing the Client Tools
|
|
|
|
First identify a system from where you will perform administrative tasks, such as creating certificates, kubeconfig files and distributing them to the different VMs.
|
|
|
|
If you are on a Linux laptop, then your laptop could be this system. In my case I chose the master-1 node to perform administrative tasks. Whichever system you chose make sure that system is able to access all the provisioned VMs through SSH to copy files over.
|
|
|
|
## Access all VMs
|
|
|
|
Generate Key Pair on master-1 node
|
|
`$ssh-keygen`
|
|
|
|
Leave all settings to default.
|
|
|
|
View the generated public key ID at:
|
|
|
|
```
|
|
$cat .ssh/id_rsa.pub
|
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD......8+08b vagrant@master-1
|
|
```
|
|
|
|
Move public key of master to all other VMs
|
|
|
|
```
|
|
$cat >> ~/.ssh/authorized_keys <<EOF
|
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD......8+08b vagrant@master-1
|
|
EOF
|
|
```
|
|
|
|
|
|
## Install kubectl
|
|
|
|
The [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl). command line utility is used to interact with the Kubernetes API Server. Download and install `kubectl` from the official release binaries:
|
|
|
|
### Linux
|
|
|
|
```
|
|
wget https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubectl
|
|
```
|
|
|
|
```
|
|
chmod +x kubectl
|
|
```
|
|
|
|
```
|
|
sudo mv kubectl /usr/local/bin/
|
|
```
|
|
|
|
### Verification
|
|
|
|
Verify `kubectl` version 1.13.0 or higher is installed:
|
|
|
|
```
|
|
kubectl version --client
|
|
```
|
|
|
|
> output
|
|
|
|
```
|
|
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
|
|
```
|
|
|
|
Next: [Provisioning Compute Resources](03-compute-resources.md)
|