diff --git a/README.md b/README.md
index ddff585f1b099bae18854077c417280509efc0d6..686552f4256092691e512c5b58a451774f81e8c1 100644
--- a/README.md
+++ b/README.md
@@ -143,14 +143,14 @@ Note: Upstart/SysV init based OS types are not supported.
   - [cilium](https://github.com/cilium/cilium) v1.9.11
   - [flanneld](https://github.com/flannel-io/flannel) v0.15.1
   - [kube-ovn](https://github.com/alauda/kube-ovn) v1.8.1
-  - [kube-router](https://github.com/cloudnativelabs/kube-router) v1.3.2
+  - [kube-router](https://github.com/cloudnativelabs/kube-router) v1.4.0
   - [multus](https://github.com/intel/multus-cni) v3.8
   - [weave](https://github.com/weaveworks/weave) v2.8.1
 - Application
   - [cephfs-provisioner](https://github.com/kubernetes-incubator/external-storage) v2.1.0-k8s1.11
   - [rbd-provisioner](https://github.com/kubernetes-incubator/external-storage) v2.1.1-k8s1.11
   - [cert-manager](https://github.com/jetstack/cert-manager) v1.5.4
-  - [coredns](https://github.com/coredns/coredns) v1.8.0
+  - [coredns](https://github.com/coredns/coredns) v1.8.6
   - [ingress-nginx](https://github.com/kubernetes/ingress-nginx) v1.0.4
 
 ## Container Runtime Notes
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 05f5bceb3023db343c48158fb485d85136745000..e080efc46510e0ebf5146355284e0225ad37408b 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -89,9 +89,9 @@ weave_version: 2.8.1
 pod_infra_version: "3.3"
 cilium_version: "v1.11.0"
 kube_ovn_version: "v1.8.1"
-kube_router_version: "v1.3.2"
+kube_router_version: "v1.4.0"
 multus_version: "v3.8"
-helm_version: "v3.7.1"
+helm_version: "v3.7.2"
 nerdctl_version: "0.15.0"
 krew_version: "v0.4.2"
 
@@ -374,11 +374,11 @@ krew_archive_checksums:
 
 helm_archive_checksums:
   arm:
-    v3.7.1: e035e0022cf5c49d08c08371364aae9eebe614a20035856e7370a85ded8db790
+    v3.7.2: ab73727f1c00903aff010a3557ab4366a1a13ce2d243c9cb191e703fbb76c915
   amd64:
-    v3.7.1: 6cd6cad4b97e10c33c978ff3ac97bb42b68f79766f1d2284cfd62ec04cd177f4
+    v3.7.2: 4ae30e48966aba5f807a4e140dad6736ee1a392940101e4d79ffb4ee86200a9e
   arm64:
-    v3.7.1: 57875be56f981d11957205986a57c07432e54d0b282624d68b1aeac16be70704
+    v3.7.2: b0214eabbb64791f563bd222d17150ce39bf4e2f5de49f49fdb456ce9ae8162f
 
 runc_checksums:
   arm:
@@ -556,7 +556,7 @@ haproxy_image_tag: 2.4.9
 # Coredns version should be supported by corefile-migration (or at least work with)
 # bundle with kubeadm; if not 'basic' upgrade can sometimes fail
 
-coredns_version: "v1.8.0"
+coredns_version: "{{ 'v1.8.6' if (kube_version is version('v1.23.0','>=')) else 'v1.8.0' }}"
 coredns_image_is_namespaced: "{{ (kube_version is version('v1.21.0','>=')) or (coredns_version is version('v1.7.1','>=')) }}"
 
 coredns_image_repo: "{{ kube_image_repo }}{{'/coredns/coredns' if (coredns_image_is_namespaced | bool) else '/coredns' }}"
diff --git a/roles/kubernetes-apps/ansible/templates/coredns-clusterrole.yml.j2 b/roles/kubernetes-apps/ansible/templates/coredns-clusterrole.yml.j2
index ea8142a54df1c7dc0370610e79eaf4495e38369f..79c4e775d320936f22429ce52409429ae39629c9 100644
--- a/roles/kubernetes-apps/ansible/templates/coredns-clusterrole.yml.j2
+++ b/roles/kubernetes-apps/ansible/templates/coredns-clusterrole.yml.j2
@@ -23,3 +23,10 @@ rules:
       - nodes
     verbs:
       - get
+  - apiGroups:
+      - discovery.k8s.io
+    resources:
+      - endpointslices
+    verbs:
+      - list
+      - watch