開源容器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容器例項。