時(shí)間:2023-02-08 01:24:01 | 來(lái)源:建站知識(shí)
時(shí)間:2023-02-08 01:24:01 來(lái)源:建站知識(shí)
Rainbond 作為一款云原生應(yīng)用管理平臺(tái),天生帶有引導(dǎo)南北向網(wǎng)絡(luò)流量的分布式網(wǎng)關(guān) rbd-gateway。區(qū)別于一般的 Ingress 配置中,用戶需要自行定義域名的使用體驗(yàn),Rainbond 的網(wǎng)關(guān)策略可以一鍵自動(dòng)生成域名訪問(wèn)策略,用戶通過(guò)這個(gè)域名可以立刻訪問(wèn)到部署在 Rainbond 上的業(yè)務(wù)系統(tǒng)。這個(gè)使用體驗(yàn)在開(kāi)發(fā)測(cè)試場(chǎng)景下非常友好,這篇文章詳解了這一機(jī)制到底是如何實(shí)現(xiàn)的。
http://<servicePort>.<service_alias>.<tenant_name>.17a4cc.grapps.cn/- servicePort: 訪問(wèn)策略對(duì)應(yīng)的目標(biāo)端口名稱- service_alias: 當(dāng)前服務(wù)組件的別名- tenant_name: 當(dāng)前團(tuán)隊(duì)的別名- .17a4cc.grapps.cn: 當(dāng)前集群的泛解析域名
實(shí)際上,這一條路由規(guī)則,是由 Kubernetes 中對(duì)應(yīng)的 ingress 和 service 所定義的。整個(gè)訪問(wèn)鏈路可以歸納為下圖:apiVersion: v1kind: Servicemetadata: labels: creator: Rainbond event_id: "" name: gr49d848ServiceOUT port_protocol: http protocol: http rainbond.com/tolerate-unready-endpoints: "true" service_alias: gr49d848 service_port: "5000" service_type: outer tenant_name: 2c9v614j name: service-8965-5000out namespace: 3be96e95700a480c9b37c6ef5daf3566spec: clusterIP: 172.21.7.172 ports: - name: tcp-5000 port: 5000 protocol: TCP targetPort: 5000 selector: name: gr49d848 sessionAffinity: None type: ClusterIPstatus: loadBalancer: {} ---apiVersion: extensions/v1beta1kind: Ingressmetadata: annotations: nginx.ingress.kubernetes.io/weight: "100" generation: 1 labels: creator: Rainbond service_alias: gr49d848 tenant_name: 2c9v614j name: 3cf8d6bd89250eda87ac127c49694a05 namespace: 3be96e95700a480c9b37c6ef5daf3566spec: rules: - host: 5000.gr49d848.2c9v614j.17a4cc.grapps.cn http: paths: - backend: serviceName: service-8965-5000out servicePort: 5000 path: /status: loadBalancer: {}
/etc/hosts
文件。*.mydomain.com
這一規(guī)則的任意域名,都可以解析到同一個(gè) IP 地址上去。在當(dāng)下這一使用場(chǎng)景中,我們只需要將泛解析域名 *.17a4cc.grapps.cn
解析到 rbd-gateway 所在的服務(wù)器 IP 地址,就可以隨意為 Ingress rule
配置符合規(guī)則的域名了。Ingress rule
和泛解析域名結(jié)合在了一起,自動(dòng)為每個(gè)服務(wù)端口生成全局唯一的域名。并在集群安裝時(shí),自動(dòng)向公網(wǎng) DNS 服務(wù)器注冊(cè)了解析記錄,集群安裝完畢之后,所生成的所有域名,都是可以被公網(wǎng)解析的,只要 PC 客戶端可以使用公網(wǎng) DNS 服務(wù),就可以解析域名,并訪問(wèn)到指定的服務(wù)端口。17a4cc
)來(lái)區(qū)分不同的集群。這里涉及到關(guān)于泛解析域名的一個(gè)特點(diǎn),子級(jí)域名的解析記錄,優(yōu)先級(jí)高于父級(jí)域名的解析記錄。===========================================// 對(duì)兩級(jí)泛解析域名注冊(cè)解析記錄*.grapps.cn =解析記錄注冊(cè)=> 1.1.1.1*.17a4cc.grapps.cn =解析記錄注冊(cè)=> 2.2.2.2======================================================================================// 客戶端解析結(jié)果abc.grapps.cn =解析 IP 地址=> 1.1.1.1abc.def.grapps.cn =解析 IP 地址=> 1.1.1.1abc.17a4cc.grapps.cn =解析 IP 地址=> 2.2.2.2 // 優(yōu)先使用 *.17a4cc.grapps.cn 的解析記錄
wylhzmyj
31096419
關(guān)鍵詞:機(jī)制
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。