結合上文,我們的服務已經(jīng)可以正常運行了,但它的訪問方式只能通過服務器IP加上端口來訪問,如何通過域名的方式來訪問到我們服務,本來想使用Kubernetes的Ingress來做,折騰一天感覺比較麻煩,Ingress還得搭配Nginx使用,而且目前還是Beta版,就打算另辟蹊徑,想到了之前用的Haproxy。
本文就結合OpenStack的負載和Haproxy來實現(xiàn)通過域名的方式訪問K8s內(nèi)部要發(fā)布的服務,用到的組件有OpenStack的負載均衡和Haproxy。
OpenStack負載配置到所有的K8s云主機上的一個端口,這個端口由Haproxy的K8s Service來監(jiān)聽,有請求過來時Haproxy根據(jù)不同的域名轉(zhuǎn)發(fā)到對應的H8s Servie的Cluster IP。
整體拓撲圖
具體的配置
OpenStack負載配置:
添加一個負載
注意它的IP地址,需要給它分配一個浮動IP,這樣外部才能訪問到
負載均衡池