diff --git a/CHANGES.md b/CHANGES.md
index 51a229dc..a7623628 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -8,7 +8,8 @@ Notable changes between versions.
* Kubernetes [v1.16.0](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#v1160) ([#543](https://github.com/poseidon/typhoon/pull/543))
* Read about several Kubernetes API [deprecations](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md#deprecations-and-removals)!
- * Rename `node-role.kubernetes.io` labels for `master` and `node` roles (no longer shown in `kubectl get nodes`)
+ * Remove legacy node role labels (no longer shown in `kubectl get nodes`)
+ * Rename node labels to `node.kubernetes.io/master` and `node.kubernetes.io/node` (migratory)
* Migrate control plane from self-hosted to static pods ([#536](https://github.com/poseidon/typhoon/pull/536))
* Run `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager` as static pods on each controller
* `kubectl` edits to `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager` are no longer possible (change)
diff --git a/README.md b/README.md
index 130b06b6..66ccb339 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Typhoon [![IRC](https://img.shields.io/badge/freenode-%23typhoon-0099ef.svg)]()
+# Typhoon
Typhoon is a minimal and free Kubernetes distribution.
@@ -81,10 +81,10 @@ In 4-8 minutes (varies by platform), the cluster will be ready. This Google Clou
```sh
$ export KUBECONFIG=/home/user/.secrets/clusters/yavin/auth/kubeconfig
$ kubectl get nodes
-NAME ROLES STATUS AGE VERSION
-yavin-controller-0.c.example-com.internal controller,master Ready 6m v1.16.0
-yavin-worker-jrbf.c.example-com.internal node Ready 5m v1.16.0
-yavin-worker-mzdm.c.example-com.internal node Ready 5m v1.16.0
+NAME ROLES STATUS AGE VERSION
+yavin-controller-0.c.example-com.internal Ready 6m v1.16.0
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.16.0
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.16.0
```
List the pods.
diff --git a/docs/cl/aws.md b/docs/cl/aws.md
index 77c63ada..200314c5 100644
--- a/docs/cl/aws.md
+++ b/docs/cl/aws.md
@@ -134,10 +134,10 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/tempest/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-ip-10-0-3-155 Ready controller,master 10m v1.16.0
-ip-10-0-26-65 Ready node 10m v1.16.0
-ip-10-0-41-21 Ready node 10m v1.16.0
+NAME STATUS ROLES AGE VERSION
+ip-10-0-3-155 Ready 10m v1.16.0
+ip-10-0-26-65 Ready 10m v1.16.0
+ip-10-0-41-21 Ready 10m v1.16.0
```
List the pods.
diff --git a/docs/cl/azure.md b/docs/cl/azure.md
index 49be1bf7..566d439a 100644
--- a/docs/cl/azure.md
+++ b/docs/cl/azure.md
@@ -131,10 +131,10 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/ramius/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-ramius-controller-0 Ready controller,master 24m v1.16.0
-ramius-worker-000001 Ready node 25m v1.16.0
-ramius-worker-000002 Ready node 24m v1.16.0
+NAME STATUS ROLES AGE VERSION
+ramius-controller-0 Ready 24m v1.16.0
+ramius-worker-000001 Ready 25m v1.16.0
+ramius-worker-000002 Ready 24m v1.16.0
```
List the pods.
diff --git a/docs/cl/bare-metal.md b/docs/cl/bare-metal.md
index d579004a..ba801214 100644
--- a/docs/cl/bare-metal.md
+++ b/docs/cl/bare-metal.md
@@ -288,10 +288,10 @@ systemd[1]: Started Kubernetes control plane.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/mercury/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-node1.example.com Ready controller,master 10m v1.16.0
-node2.example.com Ready node 10m v1.16.0
-node3.example.com Ready node 10m v1.16.0
+NAME STATUS ROLES AGE VERSION
+node1.example.com Ready 10m v1.16.0
+node2.example.com Ready 10m v1.16.0
+node3.example.com Ready 10m v1.16.0
```
List the pods.
diff --git a/docs/cl/digital-ocean.md b/docs/cl/digital-ocean.md
index 73a6653f..fbbe30cb 100644
--- a/docs/cl/digital-ocean.md
+++ b/docs/cl/digital-ocean.md
@@ -129,10 +129,10 @@ In 3-6 minutes, the Kubernetes cluster will be ready.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/nemo/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-10.132.110.130 Ready controller,master 10m v1.16.0
-10.132.115.81 Ready node 10m v1.16.0
-10.132.124.107 Ready node 10m v1.16.0
+NAME STATUS ROLES AGE VERSION
+10.132.110.130 Ready 10m v1.16.0
+10.132.115.81 Ready 10m v1.16.0
+10.132.124.107 Ready 10m v1.16.0
```
List the pods.
diff --git a/docs/cl/google-cloud.md b/docs/cl/google-cloud.md
index 2cbaf490..da809973 100644
--- a/docs/cl/google-cloud.md
+++ b/docs/cl/google-cloud.md
@@ -136,10 +136,10 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/yavin/auth/kubeconfig
$ kubectl get nodes
-NAME ROLES STATUS AGE VERSION
-yavin-controller-0.c.example-com.internal controller,master Ready 6m v1.16.0
-yavin-worker-jrbf.c.example-com.internal node Ready 5m v1.16.0
-yavin-worker-mzdm.c.example-com.internal node Ready 5m v1.16.0
+NAME ROLES STATUS AGE VERSION
+yavin-controller-0.c.example-com.internal Ready 6m v1.16.0
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.16.0
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.16.0
```
List the pods.
diff --git a/docs/fedora-coreos/aws.md b/docs/fedora-coreos/aws.md
index dc54b183..694db123 100644
--- a/docs/fedora-coreos/aws.md
+++ b/docs/fedora-coreos/aws.md
@@ -137,10 +137,10 @@ In 4-8 minutes, the Kubernetes cluster will be ready.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/tempest/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-ip-10-0-3-155 Ready controller,master 10m v1.16.0
-ip-10-0-26-65 Ready node 10m v1.16.0
-ip-10-0-41-21 Ready node 10m v1.16.0
+NAME STATUS ROLES AGE VERSION
+ip-10-0-3-155 Ready 10m v1.16.0
+ip-10-0-26-65 Ready 10m v1.16.0
+ip-10-0-41-21 Ready 10m v1.16.0
```
List the pods.
diff --git a/docs/fedora-coreos/bare-metal.md b/docs/fedora-coreos/bare-metal.md
index 2e991cc2..ef423851 100644
--- a/docs/fedora-coreos/bare-metal.md
+++ b/docs/fedora-coreos/bare-metal.md
@@ -282,10 +282,10 @@ systemd[1]: Started Kubernetes control plane.
```
$ export KUBECONFIG=/home/user/.secrets/clusters/mercury/auth/kubeconfig
$ kubectl get nodes
-NAME STATUS ROLES AGE VERSION
-node1.example.com Ready controller,master 10m v1.16.0
-node2.example.com Ready node 10m v1.16.0
-node3.example.com Ready node 10m v1.16.0
+NAME STATUS ROLES AGE VERSION
+node1.example.com Ready 10m v1.16.0
+node2.example.com Ready 10m v1.16.0
+node3.example.com Ready 10m v1.16.0
```
List the pods.
diff --git a/docs/index.md b/docs/index.md
index e9e15f45..beffd63c 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -79,10 +79,10 @@ 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 ROLES STATUS AGE VERSION
-yavin-controller-0.c.example-com.internal controller,master Ready 6m v1.16.0
-yavin-worker-jrbf.c.example-com.internal node Ready 5m v1.16.0
-yavin-worker-mzdm.c.example-com.internal node Ready 5m v1.16.0
+NAME ROLES STATUS AGE VERSION
+yavin-controller-0.c.example-com.internal Ready 6m v1.16.0
+yavin-worker-jrbf.c.example-com.internal Ready 5m v1.16.0
+yavin-worker-mzdm.c.example-com.internal Ready 5m v1.16.0
```
List the pods.