diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 0fba058d70477f6ecfeb4a5c8cfe73aac6e26053..45e6a6dc5d7da425d46bb67ca467603d745bba8c 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -94,8 +94,9 @@ crictl_supported_versions:
 crictl_version: "{{ crictl_supported_versions[kube_major_version] }}"
 
 # Download URLs
+kubelet_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/{{ image_arch }}/kubelet"
+kubectl_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/{{ image_arch }}/kubectl"
 kubeadm_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kubeadm_version }}/bin/linux/{{ image_arch }}/kubeadm"
-hyperkube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/{{ image_arch }}/hyperkube"
 etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz"
 cni_download_url: "https://github.com/containernetworking/plugins/releases/download/{{ cni_version }}/cni-plugins-linux-{{ image_arch }}-{{ cni_version }}.tgz"
 calicoctl_download_url: "https://github.com/projectcalico/calicoctl/releases/download/{{ calico_ctl_version }}/calicoctl-linux-{{ image_arch }}"
@@ -116,42 +117,86 @@ crictl_checksums:
     v1.15.0: c3b71be1f363e16078b51334967348aab4f72f46ef64a61fe7754e029779d45a
 
 # Checksums
-hyperkube_checksums:
+
+kubelet_checksums:
+  arm:
+    v1.17.0-rc.1: 3df7fbde53456663f807b1678cec760ab92830809f6ebb82891a5c73acf25aab
+    v1.16.3: a64dbe966aa594fcd018de1189f2b5b453ca374978d4c175fb21ecf1b955f268
+    v1.16.2: 3c251cd89d83bae5dbae534a7c2bfff09a8ad09e0b0eac02f93a580f471631a7
+    v1.16.1: 605581ba04a1e971dd90f4741495ebc6051601144d03b03c63e2f22d03556b4b
+    v1.16.0: 3158e95f4b78b12af0225b4c54c487d7926ac61c783a4646290c0f3da0dce5df
+    v1.15.5: 86bf2fb7344eea2b75da8fdd990a2c16e07ee219a7533d50681b057ca9870a14
+    v1.15.4: b112fa280b448e6c4f420de9744160c8a38ad8dd8d3fd6c74f15e339b13389b0
+    v1.15.3: f041c7e1bad2e335b958ee1968e0f807e97b3995afab938f96d3286d548308c3
+    v1.15.2: a114f4a6009b9642be26d0c0595429f521a5f270c22c6699990a8c628c0909d1
+    v1.15.1: cb97d18c61b39f0721201fedcb0219b132e521d51a2595c1f7715700626097c6
+    v1.15.0: 663c59fca7247ca325d4328cfc3ce77d1d4eddb251137f91ec62b8cd8823d1fc
+  arm64:
+    v1.17.0-rc.1: 5f265ab0c385b2c0cc7a852ec3ed7e2f5d2cc12edaf77d5af2df1b716eb2f81a
+    v1.16.3: 0b937e729506c41d85980b97150dc89e4cd0b0e791c1d18d516c3f4784bf0255
+    v1.16.2: c155ef87b6e73661a3f5de51d1f60feab4aebbade8f30bba6cf2e66fdc5f59b0
+    v1.16.1: d056f403814dcbadcbb9f6be0db20295c04b7fcad6dc13c145b1a51bd1a927a4
+    v1.16.0: 64bc4b211f05246f8ec33318db68a59ecc1ba7f1a6716eb1db7f3e0ea3495ca2
+    v1.15.5: 5a20856d77617d78fb6e9c03c37373f7b712fd42b4324b2b41846836259fb911
+    v1.15.4: f7085ca5bc75301c0738cccdcf54b6622b4aa2c7c5ff35eddbc34b8d52833d4b
+    v1.15.3: c0b1c4fba9cdc324b6a882cd9e0cc2e38951928697fb4b2d62e05d687c53112a
+    v1.15.2: 96cd4f0e8785538eec2bd1423cbf8eed5ed7d7424a843f99f87a697210f236da
+    v1.15.1: 3032531dc8ff4ea1debafcfb7b84f6c39a83e67a452a50b64d1023ba57299100
+    v1.15.0: a16443434eb0391991bff9a10288d83beb38be4d406954858d9fdc1063870284
+  amd64:
+    v1.17.0-rc.1: e4860d4ad7f51c0d7f60060722acfe0ec59706f663e31dd9f0a07025e0f92c77
+    v1.16.3: 4e8ef215809f1b2af44408bf6039c9e57546a8a209b49720d0489e3aece66938
+    v1.16.2: 0c24425d7cc029bffd86bfbedcb6a63cd42c21052c3248e43918ef15d3fc03ee
+    v1.16.1: 29a66f72ce8bf4b08eec868953cc9c179e0f2319a52480d3c1259a24a24a9eb3
+    v1.16.0: 77ac3f347497434b790aba46e6e06bb2e6e7a6e76b05af739d33b0441d39a263
+    v1.15.5: de590308448a62982aa6209b52da6de69ee4855e449e5508c288c8d12d074ec5
+    v1.15.4: 6f8e06b422e86ad5c3008ebd1ba2136620b1ba02a7f26b9d4305cdf5fb3f8755
+    v1.15.3: dc08c9ad350d0046bc2ec910dcd266bd30cb6e7ef1f9170bb8df455d9d083d73
+    v1.15.2: 5f1001608bac508ba7158704e8f762911dd52d0e16740984679f5c8263336e08
+    v1.15.1: d9f5c09d47c448ac12b061821c1149aba32933cf79470a85e46d8b3b338aa72b
+    v1.15.0: f13b9a2f840e0e18b4fa92a217c95977036113c74f56bb0652efd2e7bcbfba15
+
+kubectl_checksums:
   arm:
-    v1.16.3: bfc2e86d5746fa3b7b07154a0c2a5bd03a669f185b1e1b17fdc3844a1c0ed5d8
-    v1.16.2: b43a1082eb1dbad3acbc18dc6bfa1bea495aeef529588fb61ca9209e96158221
-    v1.16.1: 044b6f0a2500b79c4e9f4e877402f3147481497ec73043920e1458a572cf0abe
-    v1.16.0: 4f2e4ffcf7b7f40c70c637c7be9dd51cd1ee29763696011149f315e90339330b
-    v1.15.5: d16b3d28c2ce23e591aaa58ee4fa20fe7ab841f7a7b46a3d641a64e3fab272a4
-    v1.15.4: 480f2428a18875bce1deb24e6e3ef39a5f29f6cd7b8b02c93b6e6c3ee27e896e
-    v1.15.3: 100d8bddb29e77397b90e6dfbcf0af2d901a90ea4bde90b83b5a39f394c3900b
-    v1.15.2: eeaa8e071541c7bcaa186ff1d2919d076b27ef70c9e9df70f910756eba55dc99
-    v1.15.1: fc5af96fd9341776d84c38675be7b8045dee20af327af9331972c422a4109918
-    v1.15.0: d923c781031bfd97d0fbe50311e4d7c3616aa5b6d466b99049931f09d73d07b9
+    v1.17.0-rc.1: 0e26d5cf8c4d20d650f241a590e537be09ae38945610e15fc2c07d5ab8d8bff5
+    v1.16.3: 2cc711c92eea6ca66aeefa2dab73c553db3551a267f8ee102daa9f2fbf34ee9b
+    v1.16.2: 3b3331502ffbdf762904395246bfd2125c12569995eb66fa8b0a08fbd969877b
+    v1.16.1: ee975a46a67967bf008db15d70e429b62d68ce3adfc7c8ddb6ef26194d220896
+    v1.16.0: 86c130d211144f9665a4441f43ced8151e7df54a3af7e2874d46fbff79608e2e
+    v1.15.5: d5a125d3f67b3db0f88753f27b73eaa3213a98057ee1d8333ea4813e03626d1a
+    v1.15.4: fb4cbcb6ea5c2f86ce6ba7cf33692fda53ee141656e533f673920a118c9e5d76
+    v1.15.3: 36191382af50f95bb2bbedeb57b9d89ccb89d7a73600569dd3adbdfb336596f6
+    v1.15.2: ac5027be37354aedd83a9768e467d82fd3e26a44f34fa4fabdc43ccf42b2fbb1
+    v1.15.1: 17f1ba668d98f6d57b2494273a81b49c35aecc3d13a3de36cef390e0bad60ee0
+    v1.15.0: 3ea07f7fa18309a630a9f317582de742befbf8efdcb22300a192941b4075c16f
   arm64:
-    v1.16.3: 1949b9b1d23c6d467392fedc2b0e8118dbc9a514870830f7fe34f688865061d7
-    v1.16.2: d917a4c1b06935482c29e5ccbfc4962050701aa2b301fd302d06cdbac734eccd
-    v1.16.1: ca182c2025455f7543f2fcf2acb71d26abedc4619b8e7a1e1fb1a765a398363c
-    v1.16.0: 0431fff5b32042369a3f233afb7b3adcda7ae5446f31700819ed986f3624bc69
-    v1.15.5: 04d5f6b859083373e0be95b5040b514e141506d060b5ae41c1d606e6c81d682f
-    v1.15.4: febe35c7390119b08073b6b348e5934ba308e4b3197638b94d16bcc0b37dedb4
-    v1.15.3: 1e3e70b8d1e8ebc642f2801d9c7938a27764dfb2f5aea432ab4326d43c04a1f5
-    v1.15.2: c4cf69f52c7013faee9d54e0f376e0732a4a7b0f7ffc7241e9b7e28bad0ac77f
-    v1.15.1: 80ed372c5f6c5178df88616175310057c06bdc9d0905953814a1927eb3aaa657
-    v1.15.0: 824af7d925b87a5ade63575b98b59ee81005fc76eac1dc399602308d7a60bc3c
+    v1.17.0-rc.1: aaa95e122a2d215a0ed79a5ccf6a15eac82b88e4463c98adc0d7e2fb00330a65
+    v1.16.3: ba7e98f837ba892eced9cae962c3648fe507c7fb4e9d7b1b969da8326bbc5dd9
+    v1.16.2: d44669ee4d137ccb3375293eedb3b585ac36d69d3e875cd3d8158292454bfac1
+    v1.16.1: 8366cd74910411dd9546117edd98b3248b6d33e8ea9b7e65de84168e0f162d47
+    v1.16.0: bdec615287163fa53b315f9d0481da3900df4063b0a41c3a412077fe765ee6c2
+    v1.15.5: 39fe671e945f2bd38f35eeea9207c9b6d3e035606204ea3c6c943033d3babf5d
+    v1.15.4: 910d75b86d1e937174cfd2ccb52b12195862e69ac39c50126af076ba791e9386
+    v1.15.3: a7a4a2c1c56d86c89a5edf3d8d78747a29cf3702d0d2df326ff940ef70048aa2
+    v1.15.2: 5379b504028416467bbe7bdb3c5e7d013c197a55775938675c1b940941270df5
+    v1.15.1: 1f5ad15f0522c5038ea014f4b6987a7a67d68585c1fb158349619b552c027a8c
+    v1.15.0: db05f4c1799e019d5ebc51737f31132c191ffce13c516fa758e7137173abd855
   amd64:
-    v1.16.3: d89e4b936f820408109b4340b114aeb608ef0ceee11c4fc9430c3b42e923ec80
-    v1.16.2: 978c11f3dac8313446620efda664aaa63a318dfa5930f9a515faee4e215b7716
-    v1.16.1: c6ae34d58fcae93db84ec835ec5540d6c027690dcb281446f096d8f80e9af75f
-    v1.16.0: 00b54ca779db1749ed714b19bb2b9a0333b39048af134f9199e4a5441c1b8324
-    v1.15.5: 15988bea1177a3e169aa43177456b6f58a15318165b15144c47ccd044de9edfe
-    v1.15.4: 7b8d6a151cde98a22c4fbc9d93e2fe29a13fc1a3d97d84904682488fc34453f1
-    v1.15.3: 3685c65b4fb85d552f77346900affc2e9a1bc997b4cd3dde0e705fd8c1d9be7a
-    v1.15.2: ab885606438748eb89a7738e219f5353d94c40c63a4935a539ce89760280f065
-    v1.15.1: 22b7b1e7f5f2a452d62e0ca4c2cba67119c51e04219aaeaf8452825f9177069e
-    v1.15.0: 3cc72cc58517b97c608c7a59a20255675bc70f07217c9e11e58cac7746139283
+    v1.17.0-rc.1: 1b24e34d0de028054ae59f7208ff5db4ae3bb16d1fe771422b4f8f3b698cac79
+    v1.16.3: cded1b46405741575f31024b757fd967645e815bb0ab1c5f5fcd029f25cc0f2d
+    v1.16.2: 3ff48e12f9c768ad548e4221d805281ea28dfcda5c18b3cd1797fe37aee3012e
+    v1.16.1: 69cfb3eeaa0b77cc4923428855acdfc9ca9786544eeaff9c21913be830869d29
+    v1.16.0: 4fc8a7024ef17b907820890f11ba7e59a6a578fa91ea593ce8e58b3260f7fb88
+    v1.15.5: be84cf088241f29eca6221430f8fdb3788bc80eccb79b839d721c0daa6b46244
+    v1.15.4: ada48ed9160f83bda949546fd2c7e443b97a5212c4f99148d66866c65ceb9dab
+    v1.15.3: 6e805054a1fb2280abb53f75b57a1b92bf9c66ffe0d2cdcd46e81b079d93c322
+    v1.15.2: a737000af13f9c8c347945bc581b819659c464eae92056424bdddae735e2e888
+    v1.15.1: f4f4b855ab16ef295bc74f07edc77482d43e8fe81abc7cf92c476c4344788aa6
+    v1.15.0: ecec7fe4ffa03018ff00f14e228442af5c2284e57771e4916b977c20ba4e5b39
+
 kubeadm_checksums:
   arm:
+    v1.17.0-rc.1: 1f5e9dabbe08c1a28f38bc0320f686a21d5ce5e1e6d3720e632b0bd7efec8ddb
     v1.16.3: ff0bdab35e6ed3784db0db1022c94efcb89c5d6da314a3d6b811af3cb1bfb06e
     v1.16.2: cbddf79fbcdcde7046251b51ef52a16b08ed00bd9132f25cda5be9c82fa731fd
     v1.16.1: 38293a03064f47c3817299475b8dc950563854aff99a87d07cf31f0ebf402015
@@ -163,6 +208,7 @@ kubeadm_checksums:
     v1.15.1: 855abd520291dcef0577a1a2ef87a70f522fd2b22603a12abcd86c2f7ec9c022
     v1.15.0: 9464030a1d4e101de5f47348f3514d5a9eb95cbce2e5e31f53ada1ca485cf75e
   arm64:
+    v1.17.0-rc.1: 6786ce758165ceed1276c00b86193604785377ab33a78f43fc78d19042163fe6
     v1.16.3: e9f8e806a4f18a6970d228e0434ce1ba976f6a0fde2690c6a3b1e2d72f23eaa0
     v1.16.2: 4287d025a0c9743325c8891b7139ff718c79e4302e2004c5472a06b410a196b1
     v1.16.1: 000aaffa911d3d46dad0a4af8d59408ee56eea5b8eff5cb1b9fbee9986763165
@@ -174,6 +220,7 @@ kubeadm_checksums:
     v1.15.1: 44fbfad0f1026d249fc4f365f1e9562cd52d75360d4d1032731122ba5a4d57dc
     v1.15.0: fe3c79070814fe847a23209b1027672fe5c5e7e5c9611e329225058926836f96
   amd64:
+    v1.17.0-rc.1: d8a0355de308201754e2a85f73d9cd5e741218f220811ee7767151109d1c6215
     v1.16.3: acecd15cf5471d4870959020022676e14cb6901f3c8f97019e5faee8ca956fd7
     v1.16.2: 9cd4a5b087088a9053ff40113ca182f0c2f959e2e51049ed2f850785c2588e04
     v1.16.1: 52ee74a9376b5b7d5296d9dab9bc54614b1c99d168003a78bdaea50f358a6886
@@ -214,7 +261,8 @@ calicoctl_binary_checksums:
 
 etcd_binary_checksum: "{{ etcd_binary_checksums[image_arch] }}"
 cni_binary_checksum: "{{ cni_binary_checksums[image_arch] }}"
-hyperkube_binary_checksum: "{{ hyperkube_checksums[image_arch][kube_version] }}"
+kubelet_binary_checksum: "{{ kubelet_checksums[image_arch][kube_version] }}"
+kubectl_binary_checksum: "{{ kubectl_checksums[image_arch][kube_version] }}"
 kubeadm_binary_checksum: "{{ kubeadm_checksums[image_arch][kubeadm_version] }}"
 calicoctl_binary_checksum: "{{ calicoctl_binary_checksums[image_arch][calico_ctl_version] }}"
 crictl_binary_checksum: "{{ crictl_checksums[image_arch][crictl_version] }}"
@@ -227,6 +275,7 @@ crictl_binary_checksum: "{{ crictl_checksums[image_arch][crictl_version] }}"
 # You need to deploy kubernetes cluster on local private development.
 # Also provide the address of your own private registry.
 # And use --insecure-registry options for docker
+kube_proxy_image_repo: "{{ kube_image_repo }}/kube-proxy"
 etcd_image_repo: "{{ quay_image_repo }}/coreos/etcd"
 etcd_image_tag: "{{ etcd_version }}{%- if image_arch != 'amd64' -%}-{{ image_arch }}{%- endif -%}"
 flannel_image_repo: "{{ quay_image_repo }}/coreos/flannel"
@@ -404,19 +453,32 @@ downloads:
     groups:
       - k8s-cluster
 
-  hyperkube_file:
+  kubelet:
     enabled: true
     file: true
     version: "{{ kube_version }}"
-    dest: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
-    sha256: "{{ hyperkube_binary_checksum }}"
-    url: "{{ hyperkube_download_url }}"
+    dest: "{{ local_release_dir }}/kubelet-{{ kube_version }}-{{ image_arch }}"
+    sha256: "{{ kubelet_binary_checksum }}"
+    url: "{{ kubelet_download_url }}"
     unarchive: false
     owner: "root"
     mode: "0755"
     groups:
       - k8s-cluster
 
+  kubectl:
+    enabled: true
+    file: true
+    version: "{{ kube_version }}"
+    dest: "{{ local_release_dir }}/kubectl-{{ kube_version }}-{{ image_arch }}"
+    sha256: "{{ kubectl_binary_checksum }}"
+    url: "{{ kubectl_download_url }}"
+    unarchive: false
+    owner: "root"
+    mode: "0755"
+    groups:
+      - kube-master
+
   crictl:
     file: true
     enabled: "{{ container_manager in ['crio', 'cri', 'containerd'] }}"
diff --git a/roles/download/templates/kubeadm-images.yaml.j2 b/roles/download/templates/kubeadm-images.yaml.j2
index a57043c4071ea62dce732f6acc64b1172fb618cd..e75f62e487fb10046bf79ec6f956a16ca2b744b6 100644
--- a/roles/download/templates/kubeadm-images.yaml.j2
+++ b/roles/download/templates/kubeadm-images.yaml.j2
@@ -7,7 +7,6 @@ apiVersion: kubeadm.k8s.io/v1beta1
 kind: ClusterConfiguration
 imageRepository: {{ kube_image_repo }}
 kubernetesVersion: {{ kube_version }}
-useHyperKubeImage: {{ kubeadm_use_hyperkube_image }}
 etcd:
   external:
       endpoints:
diff --git a/roles/kubernetes-apps/helm/tasks/install_host.yml b/roles/kubernetes-apps/helm/tasks/install_host.yml
index 4d883ea777a77fd94f70d332b04e24e1b0e4f492..b248d2ee2ee78a9387b0eba0e51c40889e471989 100644
--- a/roles/kubernetes-apps/helm/tasks/install_host.yml
+++ b/roles/kubernetes-apps/helm/tasks/install_host.yml
@@ -18,7 +18,7 @@
   command: "ctr i pull {{ helm_image_repo }}:{{ helm_image_tag }}"
   when: container_manager == "containerd"
 
-- name: Helm | Compare host helm with hyperkube container
+- name: Helm | Compare host helm with helm container
   command: "{{ helm_compare_command }}"
   register: helm_task_compare_result
   until: helm_task_compare_result.rc in [0,1,2]
diff --git a/roles/kubernetes/master/tasks/main.yml b/roles/kubernetes/master/tasks/main.yml
index 4d646d22f46840ed3a253fb53df517cd8f2ddc82..e278b19503e85fb39ce353919579c9345239dea4 100644
--- a/roles/kubernetes/master/tasks/main.yml
+++ b/roles/kubernetes/master/tasks/main.yml
@@ -19,7 +19,7 @@
 
 - name: Install | Copy kubectl binary from download dir
   synchronize:
-    src: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
+    src: "{{ local_release_dir }}/kubectl-{{ kube_version }}-{{ image_arch }}"
     dest: "{{ bin_dir }}/kubectl"
     compress: no
     perms: yes
@@ -28,7 +28,6 @@
   changed_when: false
   delegate_to: "{{ inventory_hostname }}"
   tags:
-    - hyperkube
     - kubectl
     - upgrade
 
@@ -38,7 +37,6 @@
     mode: "0755"
     state: file
   tags:
-    - hyperkube
     - kubectl
     - upgrade
 
diff --git a/roles/kubernetes/master/templates/kubeadm-config.v1beta1.yaml.j2 b/roles/kubernetes/master/templates/kubeadm-config.v1beta1.yaml.j2
index e0523a2f8422ca7926da7f459b9ce3e00ac232ed..af17102aec4b8e945c3aa64e63e39d9c310d4901 100644
--- a/roles/kubernetes/master/templates/kubeadm-config.v1beta1.yaml.j2
+++ b/roles/kubernetes/master/templates/kubeadm-config.v1beta1.yaml.j2
@@ -91,7 +91,6 @@ controlPlaneEndpoint: {{ ip | default(fallback_ips[inventory_hostname]) }}:{{ ku
 {% endif %}
 certificatesDir: {{ kube_cert_dir }}
 imageRepository: {{ kube_image_repo }}
-useHyperKubeImage: {{ kubeadm_use_hyperkube_image }}
 apiServer:
   extraArgs:
 {% if kube_api_anonymous_auth is defined %}
diff --git a/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2 b/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
index 5da491dcc0b2a383c5df11b9766d690d5570b0bf..c99a6e7e293377c33c4f7d17845c09d7abed0502 100644
--- a/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
+++ b/roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
@@ -94,7 +94,6 @@ controlPlaneEndpoint: {{ ip | default(fallback_ips[inventory_hostname]) }}:{{ ku
 {% endif %}
 certificatesDir: {{ kube_cert_dir }}
 imageRepository: {{ kube_image_repo }}
-useHyperKubeImage: {{ kubeadm_use_hyperkube_image }}
 apiServer:
   extraArgs:
 {% if kube_api_anonymous_auth is defined %}
diff --git a/roles/kubernetes/node/tasks/install.yml b/roles/kubernetes/node/tasks/install.yml
index fb38da86273a27f23821c6a9d2f9c382b4fc7ce5..76766115c6677c3eff73a60756bd48a91fa206a8 100644
--- a/roles/kubernetes/node/tasks/install.yml
+++ b/roles/kubernetes/node/tasks/install.yml
@@ -25,7 +25,7 @@
 
 - name: install | Copy kubelet binary from download dir
   synchronize:
-    src: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
+    src: "{{ local_release_dir }}/kubelet-{{ kube_version }}-{{ image_arch }}"
     dest: "{{ bin_dir }}/kubelet"
     compress: no
     perms: yes
@@ -33,7 +33,7 @@
     group: no
   delegate_to: "{{ inventory_hostname }}"
   tags:
-    - hyperkube
+    - kubelet
     - upgrade
   notify: restart kubelet
 
@@ -43,29 +43,7 @@
     mode: "0755"
     state: file
   tags:
-    - hyperkube
-    - upgrade
-
-- name: install | Copy hyperkube binary from download dir
-  synchronize:
-    src: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
-    dest: "{{ bin_dir }}/hyperkube"
-    compress: no
-    perms: yes
-    owner: no
-    group: no
-  delegate_to: "{{ inventory_hostname }}"
-  tags:
-    - hyperkube
-    - upgrade
-
-- name: install | Set hyperkube binary permissions
-  file:
-    path: "{{ bin_dir }}/hyperkube"
-    mode: "0755"
-    state: file
-  tags:
-    - hyperkube
+    - kubelet
     - upgrade
 
 - name: install | Copy socat wrapper for Container Linux
diff --git a/roles/kubernetes/node/tasks/main.yml b/roles/kubernetes/node/tasks/main.yml
index 45e532b1992159b925f83160a9250a39e5fa20f3..70ea0090d31f0e1a446dbbe24b5025d1e29f2f01 100644
--- a/roles/kubernetes/node/tasks/main.yml
+++ b/roles/kubernetes/node/tasks/main.yml
@@ -149,12 +149,33 @@
   tags:
     - kube-proxy
 
-- name: Cleanup kube-proxy leftovers from node
-  command: "{{ bin_dir }}/hyperkube kube-proxy --cleanup"
+- name: Set command for kube-proxy cleanup
+  set_fact:
+    kube_proxy_cleanup_command: >-
+      {%- if container_manager in ['docker', 'crio'] %}
+      {{ docker_bin_dir }}/docker run --rm --privileged -v /lib/modules:{{ kube_proxy_image_repo }}:{{ kube_version }} --cleanup
+      {%- elif container_manager == "containerd" %}
+      ctr run --rm --mount type=bind,src=/lib/modules,dst=/lib/modules,options=rbind:rw {{ kube_proxy_image_repo }}:{{ kube_version }} kube-proxy --cleanup
+      {%- endif %}
+  when:
+    - kube_proxy_remove
+  tags:
+    - kube-proxy
+
+- name: Ensure kube-proxy container is pulled for containerd
+  command: "{{ bin_dir }}/crictl pull {{ kube_proxy_image_repo }}:{{ kube_version }}"
   when:
     - kube_proxy_remove
+    - container_manager == "containerd"
+  tags:
+    - kube-proxy
+
+- name: Cleanup kube-proxy leftovers from node
+  command: "{{ kube_proxy_cleanup_command }}"
   # `kube-proxy --cleanup`, being Ok as per shown WARNING, still returns 255 from above run (?)
   ignore_errors: true
+  when:
+    - kube_proxy_remove
   tags:
     - kube-proxy
 
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index 25cc7dc72d8cd440cac61ced85c00c082565a4d0..f161d9b99bde0a14fc98fcd67a85dcd68a8e64c5 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -17,9 +17,6 @@ kube_version: v1.16.3
 ## The minimum version working
 kube_version_min_required: v1.15.0
 
-# use HyperKube image to control plane containers
-kubeadm_use_hyperkube_image: False
-
 ## Kube Proxy mode One of ['iptables','ipvs']
 kube_proxy_mode: ipvs