k8s的網絡方案對比


如下圖,三台虛擬機k8s-master、k8s-node-1、k8s-node-2組成k8s集群,網絡拓撲和節點IP分配如下圖:

一、flannel組網方案

https://github.com/coreos/flannel

 在flannel方案中,每台服務器被當作一個VXLAN的VTEP設備,ETCD根據每個docker網橋分配一個網段,集群中的所有容器通過UDP封裝形成VXLAN的大二層,所有Pod之間都可以IP可達,發布業務可以通過SVC或者ingress的方式。

部署步驟如下:

Step1:檢查k8s集群中的節點

Step2:安裝Flannel(所有節點)

Step3:修改Flannel配置文件,標紅部分為修改內容

[root@k8s-master ~]# vi /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"       //修改為:FLANNEL_ETCD_ENDPOINTS="http://etcd:2379"

Step4:啟動flannel服務並且設置開機啟動(所有節點)

[root@k8s-master ~]# systemctl enable flanneld.service
Created symlink from /etc/systemd/system/multi-user.target.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
Created symlink from /etc/systemd/system/docker.service.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
[root@k8s-master ~]# systemctl start flanneld.service

Step5:配置etcd中關於flannel的key(僅在master節點)

 

Step6:重啟docker和k8s服務后在節點上查看網絡信息

發現多了一個flannel0的網卡,分配了一個/24的地址段,網橋docker0也有了地址

Step7:在節點上ping測試容器IP

 

二、Calico組網方案

    Calico組網方案是一個單純的L3組網方案,使用虛擬路由代替虛擬交換,每一台虛擬路由通過BGP協議傳播可達信息

https://github.com/projectcalico/calico

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM