diff --git a/playbooks/airship-airshipctl-deploy-existing-k8s.yaml b/playbooks/airship-airshipctl-deploy-existing-k8s.yaml
index d6c5bf180..c3f5a0de4 100644
--- a/playbooks/airship-airshipctl-deploy-existing-k8s.yaml
+++ b/playbooks/airship-airshipctl-deploy-existing-k8s.yaml
@@ -12,4 +12,4 @@
 
 - hosts: primary
   roles:
-    - install-kubernetes
+    - install-kubectl
diff --git a/playbooks/airship-airshipctl-functional-existing-k8s.yaml b/playbooks/airship-airshipctl-functional-existing-k8s.yaml
index 3a510c075..1690825b5 100644
--- a/playbooks/airship-airshipctl-functional-existing-k8s.yaml
+++ b/playbooks/airship-airshipctl-functional-existing-k8s.yaml
@@ -11,6 +11,9 @@
 # limitations under the License.
 
 - hosts: primary
+  roles:
+    - install-docker
+    - install-kubectl
   tasks:
     - name: "Build and install airshipctl"
       block:
diff --git a/playbooks/airship-airshipctl-test-runner.yaml b/playbooks/airship-airshipctl-test-runner.yaml
index baf36ca10..3504a90a0 100644
--- a/playbooks/airship-airshipctl-test-runner.yaml
+++ b/playbooks/airship-airshipctl-test-runner.yaml
@@ -20,6 +20,7 @@
           - airshipctl-systemwide-executable
           - airshipctl-test-configs
           - airshipctl-build-ephemeral-iso
+          - install-kubectl
           - airshipctl-deploy-ephemeral-node
         var_files_default:
           - local-dev.yaml
diff --git a/roles/install-kubectl/tasks/main.yaml b/roles/install-kubectl/tasks/main.yaml
new file mode 100644
index 000000000..1d4b3f533
--- /dev/null
+++ b/roles/install-kubectl/tasks/main.yaml
@@ -0,0 +1,19 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+- name: install kubectl binary
+  shell: |
+    curl -sSLo /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v1.16.2/bin/linux/amd64/kubectl
+    chmod +x /usr/local/bin/kubectl
+  become: yes
+  args:
+    warn: false
\ No newline at end of file
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index 1adc3f3b2..5583e9f19 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -86,6 +86,7 @@
         - airshipctl-systemwide-executable
         - airshipctl-test-configs
         - airshipctl-build-ephemeral-iso
+        - install-kubectl
         - airshipctl-deploy-ephemeral-node
       serve_dir: /srv/iso
       serve_port: 8099
diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml
index 138a7b7a5..3bb58a0bd 100644
--- a/zuul.d/projects.yaml
+++ b/zuul.d/projects.yaml
@@ -22,14 +22,14 @@
         - airship-airshipctl-build-docs
         - airship-airshipctl-lint-unit
         - airship-airshipctl-build-image
-        - airship-airshipctl-functional-existing-k8s
+#        - airship-airshipctl-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
         - airship-airshipctl-gate-test
     gate:
       jobs:
         - airship-airshipctl-build-docs
         - airship-airshipctl-lint-unit
         - airship-airshipctl-build-image
-        - airship-airshipctl-functional-existing-k8s
+#        - airship-airshipctl-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
         - airship-airshipctl-gate-test
     post:
       jobs: