{"id":1717,"date":"2023-03-26T07:28:44","date_gmt":"2023-03-25T23:28:44","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1717"},"modified":"2023-04-23T21:37:59","modified_gmt":"2023-04-23T13:37:59","slug":"communication-between-k8s-cluster-nodes-no-route-to-host","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/26\/communication-between-k8s-cluster-nodes-no-route-to-host\/","title":{"rendered":"K8s\u96c6\u7fa4\u8282\u70b9\u95f4\u901a\u4fe1no route to host"},"content":{"rendered":"<h2>\u73b0\u8c61\u63cf\u8ff0<\/h2>\n<p>\u8282\u70b9\u53caMaster\u8282\u70b9\u7f51\u7edc\u65f6\u901a\u65f6\u4e0d\u901a\uff0c\u76f8\u4e92ping\u65f6\u901a\u65f6\u4e0d\u901a<\/p>\n<p><!-- more --><\/p>\n<pre><code>[root@k8s-node01 ~]# ping 192.168.0.8\nconnect: No route to host<\/code><\/pre>\n<pre><code>[root@k8s-master ~]# ping 192.168.1.8\nconnect: No route to host<\/code><\/pre>\n<p>\u8282\u70b9\u4e00\u4f1a\u5904\u4e8eReady\u72b6\u6001\uff0c\u4e00\u4f1a\u5904\u4e8eNotReady\u72b6\u6001<\/p>\n<pre><code>[root@k8s-master ~]# kubectl get nodes\nNAME         STATUS     ROLES    AGE    VERSION\nk8s-master   Ready      master   2d2h   v1.15.0\nk8s-node01   NotReady   &lt;none&gt;   142m   v1.15.0\nk8s-node02   Ready      &lt;none&gt;   142m   v1.15.0\nk8s-node03   NotReady   &lt;none&gt;   127m   v1.15.0\n<\/code><\/pre>\n<p>\u901a\u8fc7<code>kubernetes-dashboard<\/code> -&gt; <code>\u5b88\u62a4\u8fdb\u7a0b\u96c6<\/code> -&gt; <code>calico-node<\/code>\u67e5\u770b\u65e5\u5fd7<\/p>\n<pre><code>Readiness probe failed: Threshold time for bird readiness check: 30s calico\/node is not ready: BIRD is not ready: BGP not established with 192.168.0.8,192.168.16.8,192.168.32.82019-06-24 08:00:46.917 [INFO][3559] readiness.go 88: Number of node(s) with BGP peering established = 0<\/code><\/pre>\n<pre><code>Get https:\/\/192.168.1.8:10250\/containerLogs\/kube-system\/calico-node-9zj58\/calico-node?tailLines=5000&amp;timestamps=true: dial tcp 192.168.1.8:10250: connect: no route to host<\/code><\/pre>\n<h2>\u539f\u56e0\u5206\u6790<\/h2>\n<blockquote>\n<p><code>Pod CIDR<\/code>\u4e0e\u8282\u70b9IP\u51b2\u7a81\uff0cCalico\u7684<code>Pod CIDR<\/code>\u5373<code>--pod-network-cidr<\/code>\u9ed8\u8ba4\u4f7f\u7528\u7684\u662f<code>192.168.0.0\/16<\/code>\uff0c\u800c\u5f53\u96c6\u7fa4\u8282\u70b9\u7684IP\u6bb5\u4e5f\u4e3a<code>192.168.0.0\/16<\/code>\u65f6\uff0c\u5fc5\u7136\u5bfc\u81f4IP\u6bb5\u51b2\u7a81<\/p>\n<\/blockquote>\n<p>Kubernetes \u4e3a\u5bb9\u5668\u548c\u5bb9\u5668\u4e4b\u95f4\u7684\u901a\u4fe1\u5efa\u7acb\u4e86\u4e00\u5c42\u7279\u6b8a\u7684 Overlay \u7f51\u7edc\u3002\u4f7f\u7528\u9694\u79bb\u7684 Pod \u7f51\u7edc\uff0c\u5bb9\u5668\u53ef\u4ee5\u83b7\u5f97\u552f\u4e00\u7684 IP \u5e76\u4e14\u53ef\u4ee5\u907f\u514d\u96c6\u7fa4\u4e0a\u7684\u7aef\u53e3\u51b2\u7a81\uff0c\u6211\u4eec\u53ef\u4ee5\u67e5\u770b\u66f4\u591a\u5173\u4e8e<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/cluster-administration\/networking\/#kubernetes-model\" title=\"Kubernetes \u7f51\u7edc\u6a21\u578b\">Kubernetes \u7f51\u7edc\u6a21\u578b<\/a>\u7684\u4e00\u4e9b\u4fe1\u606f\u3002<\/p>\n<p>\u5f53Pod\u5b50\u7f51\u548c\u4e3b\u673a\u7f51\u7edc\u51fa\u73b0\u51b2\u7a81\u7684\u60c5\u51b5\u4e0b\u5c31\u4f1a\u51fa\u73b0\u95ee\u9898\u3002\u8282\u70b9\u4e0e\u8282\u70b9\uff0cPod\u4e0ePod\u4e4b\u95f4\u901a\u4fe1\u4f1a\u56e0\u4e3a\u8def\u7531\u95ee\u9898\u88ab\u4e2d\u65ad\u3002\u4ed4\u7ec6\u68c0\u67e5\u7f51\u7edc\u8bbe\u7f6e\uff0c\u786e\u4fdd<code>Pod CIDR<\/code>\u3001<code>VLAN<\/code>\u6216<code>VPC<\/code>\u4e4b\u95f4\u4e0d\u4f1a\u6709\u91cd\u53e0\u3002\u5982\u679c\u6709\u51b2\u7a81\u7684\uff0c\u6211\u4eec\u53ef\u4ee5\u5728CNI\u63d2\u4ef6\u6216kubelet\u7684<code>pod-cidr<\/code>\u53c2\u6570\u4e2d\u6307\u5b9a IP \u5730\u5740\u8303\u56f4\uff0c\u907f\u514d\u51b2\u7a81\u3002<\/p>\n<h2>\u89e3\u51b3\u65b9\u6848<\/h2>\n<h3>\u91cd\u65b0\u914d\u7f6eCalico\u7684Pod CIDR<\/h3>\n<pre><code>[root@k8s-master ~]# vim calico.yaml\n\n# The default IPv4 pool to create on startup if none exists. Pod IPs will be\n# chosen from this range. Changing this value after installation will have\n# no effect. This should fall within `--cluster-cidr`.\n- name: CALICO_IPV4POOL_CIDR\n  #value: &quot;192.168.0.0\/16&quot;\n  value: &quot;172.16.0.0\/16&quot;\n\n[root@k8s-master ~]# kubectl delete -f calico.yaml\n[root@k8s-master ~]# kubectl apply -f calico.yaml<\/code><\/pre>\n<h3>\u9632\u706b\u5899<\/h3>\n<p>\u82e5\u4ecd\u6709\u95ee\u9898\uff0c\u5219\u5173\u95ed\u9632\u706b\u5899<\/p>\n<pre><code>iptables --flush\niptables -tnat --flush\nsystemctl stop firewalld\nsystemctl disable firewalld\nsystemctl restart docker<\/code><\/pre>\n<h2>\u96c6\u7fa4\u4fe1\u606f<\/h2>\n<pre><code>[root@k8s-master ~]# kubectl get pods -n kube-system -o wide\nNAME                                   READY   STATUS    RESTARTS   AGE     IP             NODE         NOMINATED NODE   READINESS GATES\ncalico-node-gd886                      2\/2     Running   0          5h11m   192.168.1.8    k8s-node01   &lt;none&gt;           &lt;none&gt;\ncalico-node-j2pkz                      2\/2     Running   0          5h11m   192.168.16.8   k8s-node02   &lt;none&gt;           &lt;none&gt;\ncalico-node-ljp45                      2\/2     Running   4          5h11m   192.168.32.8   k8s-node03   &lt;none&gt;           &lt;none&gt;\ncalico-node-lqk9n                      2\/2     Running   0          124m    192.168.36.8   k8s-node04   &lt;none&gt;           &lt;none&gt;\ncalico-node-nb7sq                      2\/2     Running   2          5h11m   192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\ncalico-node-p6xqp                      2\/2     Running   0          116m    192.168.80.8   k8s-node05   &lt;none&gt;           &lt;none&gt;\ncoredns-5c98db65d4-5tmc4               1\/1     Running   14         3d      172.16.0.65    k8s-master   &lt;none&gt;           &lt;none&gt;\ncoredns-5c98db65d4-9srmt               1\/1     Running   14         3d      172.16.0.66    k8s-master   &lt;none&gt;           &lt;none&gt;\netcd-k8s-master                        1\/1     Running   16         3d      192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\nkube-apiserver-k8s-master              1\/1     Running   18         3d      192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\nkube-controller-manager-k8s-master     1\/1     Running   15         3d      192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\nkube-proxy-b427r                       1\/1     Running   9          23h     192.168.32.8   k8s-node03   &lt;none&gt;           &lt;none&gt;\nkube-proxy-pbnbv                       1\/1     Running   6          23h     192.168.1.8    k8s-node01   &lt;none&gt;           &lt;none&gt;\nkube-proxy-pd748                       1\/1     Running   0          124m    192.168.36.8   k8s-node04   &lt;none&gt;           &lt;none&gt;\nkube-proxy-smwl4                       1\/1     Running   10         23h     192.168.16.8   k8s-node02   &lt;none&gt;           &lt;none&gt;\nkube-proxy-vswzq                       1\/1     Running   14         3d      192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\nkube-proxy-wps99                       1\/1     Running   0          116m    192.168.80.8   k8s-node05   &lt;none&gt;           &lt;none&gt;\nkube-scheduler-k8s-master              1\/1     Running   16         3d      192.168.0.8    k8s-master   &lt;none&gt;           &lt;none&gt;\nkubernetes-dashboard-b79c76866-2hjcj   1\/1     Running   10         27h     172.16.0.64    k8s-master   &lt;none&gt;           &lt;none&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u73b0\u8c61\u63cf\u8ff0 \u8282\u70b9\u53caMaster\u8282\u70b9\u7f51\u7edc\u65f6\u901a\u65f6\u4e0d\u901a\uff0c\u76f8\u4e92ping\u65f6\u901a\u65f6\u4e0d\u901a [root@k8s-node01 ~] [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[356],"class_list":["post-1717","post","type-post","status-publish","format-standard","hentry","category-k8s","tag-kubernetes"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1717"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1717\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}