diff --git a/CHANGES.md b/CHANGES.md
index 62273308..44db69a1 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,9 +4,10 @@ Notable changes between versions.
## Latest
+* Kubernetes [v1.9.4](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md#v194)
* Introduce [worker pools](https://typhoon.psdn.io/advanced/worker-pools/) for AWS and Google Cloud. Allow groups of workers with different properties to be joined to a cluster.
* Use new Network Load Balancers and cross zone load balancing on AWS
-* Allow flexvolume plugins to be used on all Typhoon clusters (not just bare-metal)
+* Allow flexvolume plugins to be used on any Typhoon cluster (not just bare-metal)
* Upgrade etcd from v3.2.15 to v3.3.2
* Update Calico from v3.0.2 to v3.0.3
* Use kubernetes-incubator/bootkube v0.10.0
diff --git a/README.md b/README.md
index e3f1bc09..db471425 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster
## Features
-* Kubernetes v1.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/)
* Advanced features like [worker pools](https://typhoon.psdn.io/advanced/worker-pools/) and [preemption](https://typhoon.psdn.io/google-cloud/#preemption) (varies by platform)
@@ -87,9 +87,9 @@ In 4-8 minutes (varies by platform), the cluster will be ready. This Google Clou
$ export 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.9.3
-yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.3
-yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.3
+yavin-controller-0.c.example-com.internal Ready 6m v1.9.4
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.4
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.4
```
List the pods.
diff --git a/aws/container-linux/kubernetes/README.md b/aws/container-linux/kubernetes/README.md
index 8912379f..b1e67316 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.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/)
* Advanced features like [worker pools](https://typhoon.psdn.io/advanced/worker-pools/)
diff --git a/aws/container-linux/kubernetes/bootkube.tf b/aws/container-linux/kubernetes/bootkube.tf
index 671bbc19..4462d25f 100644
--- a/aws/container-linux/kubernetes/bootkube.tf
+++ b/aws/container-linux/kubernetes/bootkube.tf
@@ -1,6 +1,6 @@
# Self-hosted Kubernetes assets (kubeconfig, manifests)
module "bootkube" {
- source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c92f3589db759611bc376be6b56d572ec6d263a7"
+ source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c5fc93d95fe4993511656cdd6372afbd1307f08f"
cluster_name = "${var.cluster_name}"
api_servers = ["${format("%s.%s", var.cluster_name, var.dns_zone)}"]
diff --git a/aws/container-linux/kubernetes/cl/controller.yaml.tmpl b/aws/container-linux/kubernetes/cl/controller.yaml.tmpl
index cff0a5bf..f814291f 100644
--- a/aws/container-linux/kubernetes/cl/controller.yaml.tmpl
+++ b/aws/container-linux/kubernetes/cl/controller.yaml.tmpl
@@ -116,7 +116,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.4
- path: /etc/sysctl.d/max-user-watches.conf
filesystem: root
contents:
diff --git a/aws/container-linux/kubernetes/workers/cl/worker.yaml.tmpl b/aws/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
index 8f1a748e..ffd7a3ab 100644
--- a/aws/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
+++ b/aws/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
@@ -90,7 +90,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.4
- path: /etc/sysctl.d/max-user-watches.conf
filesystem: root
contents:
@@ -108,7 +108,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.9.3 \
+ docker://gcr.io/google_containers/hyperkube:v1.9.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 93c5ae2f..2ade8e5c 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.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/bootkube.tf b/bare-metal/container-linux/kubernetes/bootkube.tf
index 43174d80..6c690447 100644
--- a/bare-metal/container-linux/kubernetes/bootkube.tf
+++ b/bare-metal/container-linux/kubernetes/bootkube.tf
@@ -1,6 +1,6 @@
# Self-hosted Kubernetes assets (kubeconfig, manifests)
module "bootkube" {
- source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c92f3589db759611bc376be6b56d572ec6d263a7"
+ source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c5fc93d95fe4993511656cdd6372afbd1307f08f"
cluster_name = "${var.cluster_name}"
api_servers = ["${var.k8s_domain_name}"]
diff --git a/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl b/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl
index c8ef3327..3b7aaed9 100644
--- a/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl
+++ b/bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl
@@ -117,7 +117,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.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 4fe483bb..8f1561fd 100644
--- a/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl
+++ b/bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl
@@ -82,7 +82,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.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 6ccaf454..da4126b4 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
@@ -98,7 +98,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.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 0456abdd..2eb9c59a 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.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/bootkube.tf b/digital-ocean/container-linux/kubernetes/bootkube.tf
index 6ba4d85b..63e1ac43 100644
--- a/digital-ocean/container-linux/kubernetes/bootkube.tf
+++ b/digital-ocean/container-linux/kubernetes/bootkube.tf
@@ -1,6 +1,6 @@
# Self-hosted Kubernetes assets (kubeconfig, manifests)
module "bootkube" {
- source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c92f3589db759611bc376be6b56d572ec6d263a7"
+ source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c5fc93d95fe4993511656cdd6372afbd1307f08f"
cluster_name = "${var.cluster_name}"
api_servers = ["${format("%s.%s", var.cluster_name, var.dns_zone)}"]
diff --git a/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl b/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl
index be77b162..17dd2cdf 100644
--- a/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl
+++ b/digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl
@@ -122,7 +122,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.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 83115060..ba433c23 100644
--- a/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl
+++ b/digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl
@@ -96,7 +96,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.4
- path: /etc/sysctl.d/max-user-watches.conf
filesystem: root
contents:
@@ -114,7 +114,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.9.3 \
+ docker://gcr.io/google_containers/hyperkube:v1.9.4 \
--net=host \
--dns=host \
--exec=/kubectl -- --kubeconfig=/etc/kubernetes/kubeconfig delete node $(hostname)
diff --git a/docs/advanced/worker-pools.md b/docs/advanced/worker-pools.md
index 316b9788..8372678e 100644
--- a/docs/advanced/worker-pools.md
+++ b/docs/advanced/worker-pools.md
@@ -111,11 +111,11 @@ Verify a managed instance group of workers joins the cluster within a few minute
```
$ kubectl get nodes
NAME STATUS AGE VERSION
-yavin-controller-0.c.example-com.internal Ready 6m v1.9.3
-yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.3
-yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.3
-yavin-16x-worker-jrbf.c.example-com.internal Ready 3m v1.9.3
-yavin-16x-worker-mzdm.c.example-com.internal Ready 3m v1.9.3
+yavin-controller-0.c.example-com.internal Ready 6m v1.9.4
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.4
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.4
+yavin-16x-worker-jrbf.c.example-com.internal Ready 3m v1.9.4
+yavin-16x-worker-mzdm.c.example-com.internal Ready 3m v1.9.4
```
### Variables
diff --git a/docs/aws.md b/docs/aws.md
index 77fb960b..97b836a6 100644
--- a/docs/aws.md
+++ b/docs/aws.md
@@ -1,6 +1,6 @@
# AWS
-In this tutorial, we'll create a Kubernetes v1.9.3 cluster on AWS.
+In this tutorial, we'll create a Kubernetes v1.9.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.
@@ -96,7 +96,7 @@ Define a Kubernetes cluster using the module `aws/container-linux/kubernetes`.
```tf
module "aws-tempest" {
- source = "git::https://github.com/poseidon/typhoon//aws/container-linux/kubernetes?ref=v1.9.3"
+ source = "git::https://github.com/poseidon/typhoon//aws/container-linux/kubernetes?ref=v1.9.4"
providers = {
aws = "aws.default"
@@ -182,9 +182,9 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
$ export KUBECONFIG=/home/user/.secrets/clusters/tempest/auth/kubeconfig
$ kubectl get nodes
NAME STATUS AGE VERSION
-ip-10-0-12-221 Ready 34m v1.9.3
-ip-10-0-19-112 Ready 34m v1.9.3
-ip-10-0-4-22 Ready 34m v1.9.3
+ip-10-0-12-221 Ready 34m v1.9.4
+ip-10-0-19-112 Ready 34m v1.9.4
+ip-10-0-4-22 Ready 34m v1.9.4
```
List the pods.
diff --git a/docs/bare-metal.md b/docs/bare-metal.md
index 4b5671c2..d6d1e1be 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 provision a Kubernetes v1.9.3 cluster on bare-metal.
+In this tutorial, we'll network boot and provision a Kubernetes v1.9.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.
@@ -177,7 +177,7 @@ Define a Kubernetes cluster using the module `bare-metal/container-linux/kuberne
```tf
module "bare-metal-mercury" {
- source = "git::https://github.com/poseidon/typhoon//bare-metal/container-linux/kubernetes?ref=v1.9.3"
+ source = "git::https://github.com/poseidon/typhoon//bare-metal/container-linux/kubernetes?ref=v1.9.4"
providers = {
local = "local.default"
@@ -318,9 +318,9 @@ bootkube[5]: Tearing down temporary bootstrap control plane...
$ export KUBECONFIG=/home/user/.secrets/clusters/mercury/auth/kubeconfig
$ kubectl get nodes
NAME STATUS AGE VERSION
-node1.example.com Ready 11m v1.9.3
-node2.example.com Ready 11m v1.9.3
-node3.example.com Ready 11m v1.9.3
+node1.example.com Ready 11m v1.9.4
+node2.example.com Ready 11m v1.9.4
+node3.example.com Ready 11m v1.9.4
```
List the pods.
diff --git a/docs/digital-ocean.md b/docs/digital-ocean.md
index 148c172c..2c808268 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.9.3 cluster on Digital Ocean.
+In this tutorial, we'll create a Kubernetes v1.9.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.
@@ -90,7 +90,7 @@ Define a Kubernetes cluster using the module `digital-ocean/container-linux/kube
```tf
module "digital-ocean-nemo" {
- source = "git::https://github.com/poseidon/typhoon//digital-ocean/container-linux/kubernetes?ref=v1.9.3"
+ source = "git::https://github.com/poseidon/typhoon//digital-ocean/container-linux/kubernetes?ref=v1.9.4"
providers = {
digitalocean = "digitalocean.default"
@@ -177,9 +177,9 @@ In 3-6 minutes, the Kubernetes cluster will be ready.
$ export KUBECONFIG=/home/user/.secrets/clusters/nemo/auth/kubeconfig
$ kubectl get nodes
NAME STATUS AGE VERSION
-10.132.110.130 Ready 10m v1.9.3
-10.132.115.81 Ready 10m v1.9.3
-10.132.124.107 Ready 10m v1.9.3
+10.132.110.130 Ready 10m v1.9.4
+10.132.115.81 Ready 10m v1.9.4
+10.132.124.107 Ready 10m v1.9.4
```
List the pods.
diff --git a/docs/google-cloud.md b/docs/google-cloud.md
index 7c69178e..7e1f90d2 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.9.3 cluster on Google Compute Engine (not GKE).
+In this tutorial, we'll create a Kubernetes v1.9.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.
@@ -97,7 +97,7 @@ Define a Kubernetes cluster using the module `google-cloud/container-linux/kuber
```tf
module "google-cloud-yavin" {
- source = "git::https://github.com/poseidon/typhoon//google-cloud/container-linux/kubernetes?ref=v1.9.3"
+ source = "git::https://github.com/poseidon/typhoon//google-cloud/container-linux/kubernetes?ref=v1.9.4"
providers = {
google = "google.default"
@@ -185,9 +185,9 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
$ export 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.9.3
-yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.3
-yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.3
+yavin-controller-0.c.example-com.internal Ready 6m v1.9.4
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.4
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.4
```
List the pods.
diff --git a/docs/index.md b/docs/index.md
index b90c16e9..93774ab0 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -11,7 +11,7 @@ Typhoon distributes upstream Kubernetes, architectural conventions, and cluster
## Features
-* Kubernetes v1.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/)
* Advanced features like [worker pools](https://typhoon.psdn.io/advanced/worker-pools/) and [preemption](https://typhoon.psdn.io/google-cloud/#preemption) (varies by platform)
@@ -86,9 +86,9 @@ In 4-8 minutes (varies by platform), the cluster will be ready. This Google Clou
$ export 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.9.3
-yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.3
-yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.3
+yavin-controller-0.c.example-com.internal Ready 6m v1.9.4
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.9.4
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.9.4
```
List the pods.
diff --git a/docs/topics/maintenance.md b/docs/topics/maintenance.md
index e12b0586..d433a6fa 100644
--- a/docs/topics/maintenance.md
+++ b/docs/topics/maintenance.md
@@ -18,7 +18,7 @@ module "google-cloud-yavin" {
}
module "bare-metal-mercury" {
- source = "git::https://github.com/poseidon/typhoon//bare-metal/container-linux/kubernetes?ref=v1.9.3"
+ source = "git::https://github.com/poseidon/typhoon//bare-metal/container-linux/kubernetes?ref=v1.9.4"
...
}
```
diff --git a/google-cloud/container-linux/kubernetes/README.md b/google-cloud/container-linux/kubernetes/README.md
index 4025cd49..886b0ab7 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.9.3 (upstream, via [kubernetes-incubator/bootkube](https://github.com/kubernetes-incubator/bootkube))
+* Kubernetes v1.9.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/bootkube.tf b/google-cloud/container-linux/kubernetes/bootkube.tf
index 164195a4..587118f0 100644
--- a/google-cloud/container-linux/kubernetes/bootkube.tf
+++ b/google-cloud/container-linux/kubernetes/bootkube.tf
@@ -1,6 +1,6 @@
# Self-hosted Kubernetes assets (kubeconfig, manifests)
module "bootkube" {
- source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c92f3589db759611bc376be6b56d572ec6d263a7"
+ source = "git::https://github.com/poseidon/terraform-render-bootkube.git?ref=c5fc93d95fe4993511656cdd6372afbd1307f08f"
cluster_name = "${var.cluster_name}"
api_servers = ["${format("%s.%s", var.cluster_name, var.dns_zone)}"]
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 4cbf3f72..01fc37a1 100644
--- a/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl
+++ b/google-cloud/container-linux/kubernetes/controllers/cl/controller.yaml.tmpl
@@ -117,7 +117,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.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 ee9516f8..22d11de6 100644
--- a/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
+++ b/google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
@@ -91,7 +91,7 @@ storage:
contents:
inline: |
KUBELET_IMAGE_URL=docker://gcr.io/google_containers/hyperkube
- KUBELET_IMAGE_TAG=v1.9.3
+ KUBELET_IMAGE_TAG=v1.9.4
- path: /etc/sysctl.d/max-user-watches.conf
filesystem: root
contents:
@@ -109,7 +109,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.9.3 \
+ docker://gcr.io/google_containers/hyperkube:v1.9.4 \
--net=host \
--dns=host \
--exec=/kubectl -- --kubeconfig=/etc/kubernetes/kubeconfig delete node $(hostname)