Terway與Flannel的對(duì)比
容器服務(wù) Kubernetes 版支持兩種容器網(wǎng)絡(luò)插件:Terway與Flannel。這兩種容器網(wǎng)絡(luò)插件擁有不同的底層實(shí)現(xiàn)與特性,適用于不同的應(yīng)用場(chǎng)景。容器網(wǎng)絡(luò)插件需要在創(chuàng)建集群時(shí)進(jìn)行安裝,且集群創(chuàng)建后不支持更改,請(qǐng)您在創(chuàng)建集群前完成容器網(wǎng)絡(luò)插件選型。
對(duì)比項(xiàng) | Terway | Flannel |
插件來(lái)源 | 阿里云自研的網(wǎng)絡(luò)插件,專(zhuān)為ACK優(yōu)化,擁有多種工作模式。 | Kubernetes社區(qū)提供的的Flannel CNI插件。 |
適用場(chǎng)景 | 使用大規(guī)模集群,希望避免IP地址浪費(fèi),需要較高網(wǎng)絡(luò)性能,或?qū)θ萜骶W(wǎng)絡(luò)有自定義控制需求的場(chǎng)景。 | 使用小規(guī)模集群,僅需要簡(jiǎn)單的容器網(wǎng)絡(luò)體驗(yàn),不需要使用網(wǎng)絡(luò)策略(Network Policy),也無(wú)需對(duì)容器網(wǎng)絡(luò)進(jìn)行自定義控制的場(chǎng)景。 |
Pod網(wǎng)段 |
|
|
單節(jié)點(diǎn)Pod限額 | Pod使用節(jié)點(diǎn)ENI,單節(jié)點(diǎn)Pod限額由節(jié)點(diǎn)的規(guī)格決定。詳細(xì)計(jì)算方法請(qǐng)參見(jiàn)節(jié)點(diǎn)Pod限額計(jì)算方法。 | Pod限額由分配給節(jié)點(diǎn)的Pod網(wǎng)段大小決定,與節(jié)點(diǎn)規(guī)格無(wú)關(guān)。每個(gè)節(jié)點(diǎn)默認(rèn)支持256個(gè)Pod。 |
集群規(guī)模 | 默認(rèn)支持5000個(gè)節(jié)點(diǎn),申請(qǐng)配額后最大支持15000個(gè)節(jié)點(diǎn)。 | 使用Flannel時(shí),每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)一條VPC路由表項(xiàng)。受限于VPC路由表大小,單VPC默認(rèn)支持200個(gè)節(jié)點(diǎn),申請(qǐng)配額后最大支持1000個(gè)節(jié)點(diǎn)。 |
網(wǎng)絡(luò)性能 |
| Pod使用所在節(jié)點(diǎn)的網(wǎng)絡(luò)協(xié)議棧對(duì)外訪(fǎng)問(wèn),存在NAT轉(zhuǎn)換損耗。 |
IPv4/IPv6雙棧 | 支持雙棧。 | 不支持雙棧。 |
Network Policy支持 | 支持Kubernetes原生網(wǎng)絡(luò)策略Network Policy,可以定義復(fù)雜的容器間訪(fǎng)問(wèn)控制。 | 不支持Network Policy。 |
固定Pod IP | 支持為Pod配置固定IP。 | 不支持為Pod配置固定IP。 |
網(wǎng)絡(luò)安全 | 支持為Pod配置獨(dú)立的虛擬交換機(jī)與安全組。 | 不支持為Pod配置獨(dú)立的虛擬交換機(jī)與安全組。 |
會(huì)話(huà)保持 | 負(fù)載均衡后端直接對(duì)接Pod,依托會(huì)話(huà)保持能力,可以實(shí)現(xiàn)在后端Pod發(fā)生變化時(shí)服務(wù)無(wú)中斷。 | 負(fù)載均衡后端使用NodePort連接Pod,在Pod發(fā)生變化時(shí),流量會(huì)中斷, 可能導(dǎo)致業(yè)務(wù)上的重試。 |
多集群互訪(fǎng) | 多個(gè)集群的Pod之間只要設(shè)置安全組開(kāi)放端口就可以互相通信。 | 無(wú)法支持。 |
Pod源IP保留 | Pod訪(fǎng)問(wèn)VPC內(nèi)其他端點(diǎn),所使用的源IP都是Pod IP,便于審計(jì)。 | Pod訪(fǎng)問(wèn)VPC內(nèi)其他端點(diǎn),所使用的源IP是節(jié)點(diǎn)IP,Pod IP無(wú)法保留。 |
后續(xù)步驟
在創(chuàng)建集群后,為Pod、Service、節(jié)點(diǎn)分配的網(wǎng)段無(wú)法修改。網(wǎng)段的大小決定這三種資源的數(shù)量上限,可能會(huì)對(duì)您的業(yè)務(wù)部署產(chǎn)生影響。規(guī)劃不同的網(wǎng)段可以實(shí)現(xiàn)資源在網(wǎng)絡(luò)邏輯上的隔離,以便于您實(shí)現(xiàn)訪(fǎng)問(wèn)控制、定制化路由等操作。因此推薦您在創(chuàng)建集群前完成網(wǎng)段規(guī)劃,具體操作請(qǐng)參見(jiàn)Kubernetes集群網(wǎng)絡(luò)規(guī)劃。
完成網(wǎng)段規(guī)劃后:
如果您計(jì)劃使用Terway,請(qǐng)參見(jiàn)使用Terway網(wǎng)絡(luò)插件在創(chuàng)建集群時(shí)安裝Terway。
如果您計(jì)劃使用Flannel,請(qǐng)參見(jiàn)使用Flannel網(wǎng)絡(luò)插件在創(chuàng)建集群時(shí)安裝Flannel。