Skip to content

Commit

Permalink
Merge pull request #10 from EamonKeane/master
Browse files Browse the repository at this point in the history
Update to k8s 1.9.4, etcd 3.3.2, cri 1-beta, CNI 0.7, and Azure Instance Metadata
  • Loading branch information
ivanfioravanti authored Mar 14, 2018
2 parents a964657 + d18fbde commit a2cc1b1
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 34 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ The target audience for this tutorial is someone planning to support a productio

Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.

* [Kubernetes](https://github.com/kubernetes/kubernetes) 1.8.0
* [cri-containerd Container Runtime](https://github.com/kubernetes-incubator/cri-containerd) 1.0.0-alpha.0
* [CNI Container Networking](https://github.com/containernetworking/cni) 0.6.0
* [etcd](https://github.com/coreos/etcd) 3.2.8
* [Kubernetes](https://github.com/kubernetes/kubernetes) 1.9.4
* [cri-containerd Container Runtime](https://github.com/kubernetes-incubator/cri-containerd) 1.0.0-beta.1.linux-amd64
* [CNI Container Networking](https://github.com/containernetworking/plugins) 0.7.0
* [etcd](https://github.com/coreos/etcd) 3.3.2

## Labs

Expand Down
8 changes: 4 additions & 4 deletions docs/02-client-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ The `kubectl` command line utility is used to interact with the Kubernetes API S
### OS X

```shell
curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/darwin/amd64/kubectl
curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/darwin/amd64/kubectl
```

```shell
Expand All @@ -107,7 +107,7 @@ sudo mv kubectl /usr/local/bin/
### Linux

```shell
wget https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kubectl
wget https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kubectl
```

```shell
Expand All @@ -126,7 +126,7 @@ PS C:\Windows\system32>choco install kubernetes-cli

### Verification

Verify `kubectl` version 1.8.0 or higher is installed:
Verify `kubectl` version 1.9.4 or higher is installed:

```shell
kubectl version --client
Expand All @@ -135,7 +135,7 @@ kubectl version --client
> output
```shell
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"6e937839ac04a38cac63e6a7a306c5d035fe7b0a", GitTreeState:"clean", BuildDate:"2017-09-28T22:57:57Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/amd64"}
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.4", GitCommit:"bee2d1505c4fe820744d26d41ecd3fdd4a3d6546", GitTreeState:"clean", BuildDate:"2018-03-12T16:29:47Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
```

Next: [Provisioning Compute Resources](03-compute-resources.md)
6 changes: 3 additions & 3 deletions docs/07-bootstrapping-etcd.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ Download the official etcd release binaries from the [coreos/etcd](https://githu

```shell
wget -q --show-progress --https-only --timestamping \
"https://github.com/coreos/etcd/releases/download/v3.2.8/etcd-v3.2.8-linux-amd64.tar.gz"
"https://github.com/coreos/etcd/releases/download/v3.3.2/etcd-v3.3.2-linux-amd64.tar.gz"
```

Extract and install the `etcd` server and the `etcdctl` command line utility:

```shell
tar -xvf etcd-v3.2.8-linux-amd64.tar.gz
tar -xvf etcd-v3.3.2-linux-amd64.tar.gz
```

```shell
sudo mv etcd-v3.2.8-linux-amd64/etcd* /usr/local/bin/
sudo mv etcd-v3.3.2-linux-amd64/etcd* /usr/local/bin/
```

### Configure the etcd Server
Expand Down
18 changes: 9 additions & 9 deletions docs/08-bootstrapping-kubernetes-controllers.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ Download the official Kubernetes release binaries:

```shell
wget -q --show-progress --https-only --timestamping \
"https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kube-apiserver" \
"https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kube-controller-manager" \
"https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kube-scheduler" \
"https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kubectl"
"https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kube-apiserver" \
"https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kube-controller-manager" \
"https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kube-scheduler" \
"https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kubectl"
```

Install the Kubernetes binaries:
Expand Down Expand Up @@ -295,12 +295,12 @@ curl --cacert ca.pem https://${KUBERNETES_PUBLIC_IP_ADDRESS}:6443/version
```shell
{
"major": "1",
"minor": "8",
"gitVersion": "v1.8.0",
"gitCommit": "6e937839ac04a38cac63e6a7a306c5d035fe7b0a",
"minor": "9",
"gitVersion": "v1.9.4",
"gitCommit": "bee2d1505c4fe820744d26d41ecd3fdd4a3d6546",
"gitTreeState": "clean",
"buildDate": "2017-09-28T22:46:41Z",
"goVersion": "go1.8.3",
"buildDate": "2018-03-12T16:21:35Z",
"goVersion": "go1.9.3",
"compiler": "gc",
"platform": "linux/amd64"
}
Expand Down
24 changes: 13 additions & 11 deletions docs/09-bootstrapping-kubernetes-workers.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ az vm show -g kubernetes --name worker-0 --query "tags" -o tsv
Login to each worker instance using the `az` command to find its public IP and ssh to it. Example:

```shell
CONTROLLER="worker-0"
WORKER="worker-0"
PUBLIC_IP_ADDRESS=$(az network public-ip show -g kubernetes \
-n ${CONTROLLER}-pip --query "ipAddress" -otsv)
-n ${WORKER}-pip --query "ipAddress" -otsv)

ssh $(whoami)@${PUBLIC_IP_ADDRESS}
```
Expand All @@ -43,11 +43,11 @@ sudo apt-get -y install socat

```shell
wget -q --show-progress --https-only --timestamping \
https://github.com/containernetworking/plugins/releases/download/v0.6.0/cni-plugins-amd64-v0.6.0.tgz \
https://github.com/kubernetes-incubator/cri-containerd/releases/download/v1.0.0-alpha.0/cri-containerd-1.0.0-alpha.0.tar.gz \
https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kubectl \
https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kube-proxy \
https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/linux/amd64/kubelet
https://github.com/containernetworking/plugins/releases/download/v0.7.0/cni-plugins-amd64-v0.7.0.tgz \
https://github.com/containerd/cri/releases/download/v1.0.0-beta.1/cri-containerd-1.0.0-beta.1.linux-amd64.tar.gz \
https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kubectl \
https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kube-proxy \
https://storage.googleapis.com/kubernetes-release/release/v1.9.4/bin/linux/amd64/kubelet
```

Create the installation directories:
Expand Down Expand Up @@ -83,9 +83,11 @@ sudo mv kubectl kube-proxy kubelet /usr/local/bin/
### Configure CNI Networking

Create the `bridge` network configuration file replacing POD_CIDR with address retrieved initially from Azure VM tags:
(Note: The Azure Metadata Instance Service is used to retrieve the POD_CIDR tag for each worker.
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/virtual-machines/windows/instance-metadata-service.md)

```shell
POD_CIDR="10.200.0.0/24"
POD_CIDR="$(echo $(curl --silent -H Metadata:true "http://169.254.169.254/metadata/instance/compute/tags?api-version=2017-08-01&format=text") | cut -d : -f2)"
cat > 10-bridge.conf <<EOF
{
"cniVersion": "0.3.1",
Expand Down Expand Up @@ -244,9 +246,9 @@ kubectl get nodes
```shell
NAME STATUS AGE VERSION
worker-0 Ready 5m v1.8.0
worker-1 Ready 3m v1.8.0
worker-2 Ready 7s v1.8.0
worker-0 Ready 5m v1.9.4
worker-1 Ready 3m v1.9.4
worker-2 Ready 7s v1.9.4
```

Next: [Configuring kubectl for Remote Access](10-configuring-kubectl.md)
6 changes: 3 additions & 3 deletions docs/10-configuring-kubectl.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ kubectl get nodes
```shell
NAME STATUS AGE VERSION
worker-0 Ready 7m v1.8.0
worker-1 Ready 4m v1.8.0
worker-2 Ready 1m v1.8.0
worker-0 Ready 7m v1.9.4
worker-1 Ready 4m v1.9.4
worker-2 Ready 1m v1.9.4
```

Next: [Provisioning Pod Network Routes](11-pod-network-routes.md)

0 comments on commit a2cc1b1

Please sign in to comment.