1. 程式人生 > >開源容器openshift學習筆記(1):新增Router元件

開源容器openshift學習筆記(1):新增Router元件

開篇之前如果沒有安裝openshift環境可以參考我的博文:centos7下安裝openshift

本系列部落格學習筆記參考《開源容器雲openshift》一書:下載連線:https://download.csdn.net/download/u012371097/10745382

 

Router是openshift叢集中的一個重要元件,它是外部訪問叢集內容器應用的入口。 叢集外部的請求都會到達Router,由Router分發到具體的容器中。

  Router元件需要讀取叢集的資訊,所以它需要關聯一個系統賬號Service Account,併為這個賬號授權。

以下操作基於oc(命令列客戶端)指令實現。

  • 以管理員登入,並切換到default工程。

        oc login -u system:admin

 

     切換到default工程

      oc project default

  建立Router。 

oc adm policy add-scc-to-user privileged system:serviceaccount:default:router

oc adm router router --replicas=1 --service-account=router

在實際生產時,為了達到高可用的效果,可以通過設定--replicas建立奪個Router例項實現負載均衡並防止單點失效。

檢視Router狀態。

oc get pod -n default

 ss -ltn|egrep -w "80|443"

通過檢查實驗主機上的埠監聽狀態,可以發現主機的埠80、443正在被Haproxy監聽。

從技術上來說,Router就是一個執行在容器裡的Haproxy,

至此,Router元件部署已經完成。

之後,使用者可以建立route物件,稱為route規則,一個route規則會與一個service相關聯,並且繫結一個域名。

route規則會被Router載入。當用戶通過指定的域名訪問應用時,域名會被解析並指向Router所在的計算節點上。Router獲取這個請求後,會根據route規則定義轉發給與這個域名對應的service後端相關聯的Pod容器例項。