diff --git a/CHANGES.md b/CHANGES.md index 7df885e6..86be5932 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,6 +4,12 @@ Notable changes between versions. ## Latest +* Kubernetes v1.8.4 +* Calico related bug fixes +* Update Calico from v2.6.1 to v2.6.3 +* Update flannel from v0.9.0 to v0.9.1 +* Use service accounts for kube-proxy and pod-checkpointer + ## v1.8.3 * Kubernetes v1.8.3 diff --git a/README.md b/README.md index 33865600..54aaea59 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics, and other optional [addons](https://typhoon.psdn.io/addons/overview/) @@ -78,9 +78,9 @@ In 4-8 minutes (varies by platform), the cluster will be ready. This Google Clou $ KUBECONFIG=/home/user/.secrets/clusters/yavin/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -yavin-controller-0.c.example-com.internal Ready 6m v1.8.3 -yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.3 -yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.3 +yavin-controller-0.c.example-com.internal Ready 6m v1.8.4 +yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.4 +yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.4 ``` List the pods. diff --git a/aws/container-linux/kubernetes/README.md b/aws/container-linux/kubernetes/README.md index e6139bde..c7671140 100644 --- a/aws/container-linux/kubernetes/README.md +++ b/aws/container-linux/kubernetes/README.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics, and other optional [addons](https://typhoon.psdn.io/addons/overview/) diff --git a/aws/container-linux/kubernetes/cl/controller.yaml.tmpl b/aws/container-linux/kubernetes/cl/controller.yaml.tmpl index 2ed123ba..b498015d 100644 --- a/aws/container-linux/kubernetes/cl/controller.yaml.tmpl +++ b/aws/container-linux/kubernetes/cl/controller.yaml.tmpl @@ -128,7 +128,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: diff --git a/aws/container-linux/kubernetes/cl/worker.yaml.tmpl b/aws/container-linux/kubernetes/cl/worker.yaml.tmpl index 9ef56290..eb257233 100644 --- a/aws/container-linux/kubernetes/cl/worker.yaml.tmpl +++ b/aws/container-linux/kubernetes/cl/worker.yaml.tmpl @@ -103,7 +103,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: @@ -121,7 +121,7 @@ storage: --volume config,kind=host,source=/etc/kubernetes \ --mount volume=config,target=/etc/kubernetes \ --insecure-options=image \ - docker://gcr.io/google_containers/hyperkube:v1.8.3 \ + docker://gcr.io/google_containers/hyperkube:v1.8.4 \ --net=host \ --dns=host \ --exec=/kubectl -- --kubeconfig=/etc/kubernetes/kubeconfig delete node $(hostname) diff --git a/bare-metal/container-linux/kubernetes/README.md b/bare-metal/container-linux/kubernetes/README.md index 09c8e71d..3bd62648 100644 --- a/bare-metal/container-linux/kubernetes/README.md +++ b/bare-metal/container-linux/kubernetes/README.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics, and other optional [addons](https://typhoon.psdn.io/addons/overview/) diff --git a/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl b/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl index 5ec93b99..51e8bb2d 100644 --- a/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl +++ b/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl @@ -114,7 +114,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/hostname filesystem: root mode: 0644 diff --git a/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl b/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl index d15e4cbd..f0c9cd0c 100644 --- a/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl +++ b/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl @@ -80,7 +80,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/hostname filesystem: root mode: 0644 diff --git a/bare-metal/container-linux/pxe-worker/cl/bootkube-worker.yaml.tmpl b/bare-metal/container-linux/pxe-worker/cl/bootkube-worker.yaml.tmpl index 01b51a0f..e4ae91ed 100644 --- a/bare-metal/container-linux/pxe-worker/cl/bootkube-worker.yaml.tmpl +++ b/bare-metal/container-linux/pxe-worker/cl/bootkube-worker.yaml.tmpl @@ -96,7 +96,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/hostname filesystem: root mode: 0644 diff --git a/digital-ocean/container-linux/kubernetes/README.md b/digital-ocean/container-linux/kubernetes/README.md index ed8a640b..9bc99e02 100644 --- a/digital-ocean/container-linux/kubernetes/README.md +++ b/digital-ocean/container-linux/kubernetes/README.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics, and other optional [addons](https://typhoon.psdn.io/addons/overview/) diff --git a/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl b/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl index f118d932..3980295a 100644 --- a/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl +++ b/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl @@ -119,7 +119,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: diff --git a/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl b/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl index 1b225c13..55821fb7 100644 --- a/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl +++ b/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl @@ -94,7 +94,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: @@ -112,7 +112,7 @@ storage: --volume config,kind=host,source=/etc/kubernetes \ --mount volume=config,target=/etc/kubernetes \ --insecure-options=image \ - docker://gcr.io/google_containers/hyperkube:v1.8.3 \ + docker://gcr.io/google_containers/hyperkube:v1.8.4 \ --net=host \ --dns=host \ --exec=/kubectl -- --kubeconfig=/etc/kubernetes/kubeconfig delete node $(hostname) diff --git a/docs/aws.md b/docs/aws.md index c5007735..8b422334 100644 --- a/docs/aws.md +++ b/docs/aws.md @@ -1,6 +1,6 @@ # AWS -In this tutorial, we'll create a Kubernetes v1.8.3 cluster on AWS. +In this tutorial, we'll create a Kubernetes v1.8.4 cluster on AWS. We'll declare a Kubernetes cluster in Terraform using the Typhoon Terraform module. On apply, a VPC, gateway, subnets, auto-scaling groups of controllers and workers, network load balancers for controllers and workers, and security groups will be created. @@ -151,9 +151,9 @@ In 4-8 minutes, the Kubernetes cluster will be ready. $ KUBECONFIG=/home/user/.secrets/clusters/tempest/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -ip-10-0-12-221 Ready 34m v1.8.3 -ip-10-0-19-112 Ready 34m v1.8.3 -ip-10-0-4-22 Ready 34m v1.8.3 +ip-10-0-12-221 Ready 34m v1.8.4 +ip-10-0-19-112 Ready 34m v1.8.4 +ip-10-0-4-22 Ready 34m v1.8.4 ``` List the pods. diff --git a/docs/bare-metal.md b/docs/bare-metal.md index 8e84c86f..fbd68417 100644 --- a/docs/bare-metal.md +++ b/docs/bare-metal.md @@ -1,6 +1,6 @@ # Bare-Metal -In this tutorial, we'll network boot and provison a Kubernetes v1.8.3 cluster on bare-metal. +In this tutorial, we'll network boot and provison a Kubernetes v1.8.4 cluster on bare-metal. First, we'll deploy a [Matchbox](https://github.com/coreos/matchbox) service and setup a network boot environment. Then, we'll declare a Kubernetes cluster in Terraform using the Typhoon Terraform module and power on machines. On PXE boot, machines will install Container Linux to disk, reboot into the disk install, and provision themselves as Kubernetes controllers or workers. @@ -290,9 +290,9 @@ bootkube[5]: Tearing down temporary bootstrap control plane... $ KUBECONFIG=/home/user/.secrets/clusters/mercury/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -node1.example.com Ready 11m v1.8.3 -node2.example.com Ready 11m v1.8.3 -node3.example.com Ready 11m v1.8.3 +node1.example.com Ready 11m v1.8.4 +node2.example.com Ready 11m v1.8.4 +node3.example.com Ready 11m v1.8.4 ``` List the pods. diff --git a/docs/digital-ocean.md b/docs/digital-ocean.md index f3de4c66..fdfa578d 100644 --- a/docs/digital-ocean.md +++ b/docs/digital-ocean.md @@ -1,6 +1,6 @@ # Digital Ocean -In this tutorial, we'll create a Kubernetes v1.8.3 cluster on Digital Ocean. +In this tutorial, we'll create a Kubernetes v1.8.4 cluster on Digital Ocean. We'll declare a Kubernetes cluster in Terraform using the Typhoon Terraform module. On apply, firewall rules, DNS records, tags, and droplets for Kubernetes controllers and workers will be created. @@ -147,9 +147,9 @@ In 3-6 minutes, the Kubernetes cluster will be ready. $ KUBECONFIG=/home/user/.secrets/clusters/nemo/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -10.132.110.130 Ready 10m v1.8.3 -10.132.115.81 Ready 10m v1.8.3 -10.132.124.107 Ready 10m v1.8.3 +10.132.110.130 Ready 10m v1.8.4 +10.132.115.81 Ready 10m v1.8.4 +10.132.124.107 Ready 10m v1.8.4 ``` List the pods. diff --git a/docs/google-cloud.md b/docs/google-cloud.md index 8c2489ed..a1fae226 100644 --- a/docs/google-cloud.md +++ b/docs/google-cloud.md @@ -1,6 +1,6 @@ # Google Cloud -In this tutorial, we'll create a Kubernetes v1.8.3 cluster on Google Compute Engine (not GKE). +In this tutorial, we'll create a Kubernetes v1.8.4 cluster on Google Compute Engine (not GKE). We'll declare a Kubernetes cluster in Terraform using the Typhoon Terraform module. On apply, a network, firewall rules, managed instance groups of Kubernetes controllers and workers, network load balancers for controllers and workers, and health checks will be created. @@ -154,9 +154,9 @@ In 4-8 minutes, the Kubernetes cluster will be ready. $ KUBECONFIG=/home/user/.secrets/clusters/yavin/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -yavin-controller-0.c.example-com.internal Ready 6m v1.8.3 -yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.3 -yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.3 +yavin-controller-0.c.example-com.internal Ready 6m v1.8.4 +yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.4 +yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.4 ``` List the pods. diff --git a/docs/index.md b/docs/index.md index c62c96e8..8a380110 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics and other optional [addons](addons/overview.md) @@ -77,9 +77,9 @@ In 4-8 minutes (varies by platform), the cluster will be ready. This Google Clou $ KUBECONFIG=/home/user/.secrets/clusters/yavin/auth/kubeconfig $ kubectl get nodes NAME STATUS AGE VERSION -yavin-controller-0.c.example-com.internal Ready 6m v1.8.3 -yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.3 -yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.3 +yavin-controller-0.c.example-com.internal Ready 6m v1.8.4 +yavin-worker-jrbf.c.example-com.internal Ready 5m v1.8.4 +yavin-worker-mzdm.c.example-com.internal Ready 5m v1.8.4 ``` List the pods. diff --git a/google-cloud/container-linux/kubernetes/README.md b/google-cloud/container-linux/kubernetes/README.md index 32cb9cd2..9d5278a1 100644 --- a/google-cloud/container-linux/kubernetes/README.md +++ b/google-cloud/container-linux/kubernetes/README.md @@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster ## Features -* Kubernetes v1.8.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) +* Kubernetes v1.8.4 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube)) * Single or multi-master, workloads isolated on workers, [Calico](https://www.projectcalico.org/) or [flannel](https://github.com/coreos/flannel) networking * On-cluster etcd with TLS, [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/)-enabled, [network policy](https://kubernetes.io/docs/concepts/services-networking/network-policies/) * Ready for Ingress, Dashboards, Metrics, and other optional [addons](https://typhoon.psdn.io/addons/overview/) diff --git a/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl b/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl index bd385a98..2c2317d0 100644 --- a/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl +++ b/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl @@ -129,7 +129,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: diff --git a/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl b/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl index d602674f..ad54ed37 100644 --- a/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl +++ b/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl @@ -104,7 +104,7 @@ storage: contents: inline: | KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube - KUBELET_IMAGE_TAG=v1.8.3 + KUBELET_IMAGE_TAG=v1.8.4 - path: /etc/sysctl.d/max-user-watches.conf filesystem: root contents: @@ -122,7 +122,7 @@ storage: --volume config,kind=host,source=/etc/kubernetes \ --mount volume=config,target=/etc/kubernetes \ --insecure-options=image \ - docker://gcr.io/google_containers/hyperkube:v1.8.3 \ + docker://gcr.io/google_containers/hyperkube:v1.8.4 \ --net=host \ --dns=host \ --exec=/kubectl -- --kubeconfig=/etc/kubernetes/kubeconfig delete node $(hostname)