Kubernetesホスト間curl cluster ip時不通

2264 ワード

一、問題現象1、テストは1つのサービスを配置し、2つのpodを含み、それぞれnode 1とnode 2にある.
[root@k8s-master ~]# kubectl get svc -o wide
NAME         CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE       SELECTOR
kubernetes   10.254.0.1               443/TCP          18d       
mymysql      10.254.204.143          3306:30002/TCP   11d       app=mymysql
mysql        10.254.137.129          3306:30004/TCP   11d       app=mysql
nginx        10.254.132.190          80:30001/TCP     17d       app=nginx
nginx1       10.254.158.154          80:30005/TCP     15d       app=nginx1
redis        10.254.110.138          6379:30003/TCP   16d       app=redis
tomcat       10.254.88.182           8080:30008/TCP   13d       app=tomcat
[root@k8s-master ~]# kubectl get pod -o wide
NAME                      READY     STATUS    RESTARTS   AGE       IP             NODE
centos-ssh-kp0zz          1/1       Running   0          8d        172.20.4.8     192.168.1.200
mymysql-q2v72             1/1       Running   0          5d        172.20.4.3     192.168.1.200
mysql-grml8               1/1       Running   0          11d       172.20.4.5     192.168.1.200
nginx-51l1m               1/1       Running   0          1h        172.20.66.20   192.168.1.201
nginx-gfpb7               1/1       Running   0          1h        172.20.4.12    192.168.1.200
nginx-tb5rb               1/1       Running   2          17d       172.20.66.4    192.168.1.201
nginx1-4101028372-zp4f8   1/1       Running   0          5m        172.20.66.5    192.168.1.201
nginx2-20kkr              1/1       Running   1          13d       172.20.66.8    192.168.1.201
php-apache-klbbq          1/1       Running   0          2d        172.20.4.11    192.168.1.200
redis-b440v               1/1       Running   1          16d       172.20.66.2    192.168.1.201

2、node 1(またはnode 2)上のcurl 10.254.132.1190(cluster ip)は、ローカルpodに負荷された場合にのみ正常であり、curlは正常である.二、解決策
ip route add 10.254.0.0/16 dev flannel0

2.1、ホスト間で通信できますが、ローカルpodが正常ではありません.
2.2.上記ルーティング情報を削除し、以下のルーティング解決を追加する.
ip route add 10.254.0.0/16 dev docker0