您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Rancher網絡是怎么樣的的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
首先我們來了解一下Rancher網絡的拓撲:
隧道維護(基于config.json)
如果有新加主機,添加IPSec隧道;
如果有新加容器,但是已經存在IPSec隧道,更新xfrm policy;
如果有刪除執行相反操作。
隧道路由:
容器內部協議棧判斷到目的地址10.42.x.x 存在一條直連路由,發送ARP請求;
同一Host上的agent-instance容器監聽ARP請求,接收報文后,判斷該目的IP是否在本Host上;
對于目的IP不在該Host上的,使用自己的MAC響應ARP請求;
容器接收到ARP響應,發送業務報文到agent-instance;
agent-instance容器內的IPSec policy將報文送入IPSec 隧道,發到目的Host的agent-instance做解包轉發。
配置網絡:
Rancher-Metadata
固定IP地址:169.254.169.250;
Metadata Server:webserver,配置文件answers.yml;
支持reload:提供服務reload接口;
分布式:各host均存有metadata server;
Rancher-DNS
分布式:每個Rancher-DNS只服務本Host上的容器;
源IP:記錄按client_ip為key來存儲;
兩種特殊情況也會生成記錄:
添加External-service:<external_service>.<stack>.rancher.local
為service添加別名:<service_alias>.<stack>.rancher.local
External-DNS
相當于DNS服務器的一個代理程序;
Service必須Expose port到主機,否則無法生成域名記錄;
需要為Host設置標簽io.rancher.host.external_dns_ip=<IP_TO_BE_USED_FOR_EXTERNAL_DNS>
域名規則:<serviceName>.<stackName>.<environmentName>.<rootDomainName>
Load Balance
使用Haproxy做負載均衡;
Lb通過managed網絡轉發流量到endpoints;
LB端口expose到主機;
需要指定是否在每臺主機上啟動一個LB實例;
External-LB
Service需expose port;
io.rancher.service.external_lb_endpoint;
External-LB自動創建Pool以及member信息,包含:<host_ip>:<exposed_port>
感謝各位的閱讀!關于“Rancher網絡是怎么樣的”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。