管理人員只要透過Admiral容器管理服務,便可以輕鬆地在圖形畫面中快速下載容器映像檔以及部署容器。而且,即使仍未熟悉Docker的CLI管理指令,透過Admiral容器服務管理介面同樣能夠達到管理容器的目的。本文將以實作演練的方式,示範如何以Project Admiral來輕鬆執行下載、部署、管理、刪除等工作任務。
如圖4所示,可以看到目前在Photon OS容器平台運作環境中,採用的Docker容器服務為1.12.1版本。
|
▲ 圖4 Photon OS 1.0 Revision 2版本容器平台,預設採用的Docker容器服務版本。 |
下載及啟用Admiral容器服務
順利為Photon OS容器平台組態設定網路連線並啟動容器服務後,由於稍後將會下載和啟用Admiral容器管理服務,同時下載的Admiral容器服務容器映像檔,來自於網際網路上的Docker Hub容器映像檔倉庫網站,所以請確保Photon OS容器平台主機能夠接觸到網際網路,以避免因為無法下載Admiral容器服務的容器映像檔,而發生下載與啟用Admiral容器服務失敗的情況。
在Photon OS指令視窗中,鍵入「docker run -d -p 8282:8282 --name admiral vmware/admiral」指令,其中「docker run -d」指令表示稍後下載Admiral容器映像檔完成後,啟動的Admiral容器服務將會以「背景」(Detach)的方式運作,而「-p 8282:8282」參數則是指定將Photon OS主機的8282連接埠(Port),對應至啟動Admiral容器服務的8282連接埠。至於「--name admiral」參數則可指定啟用的Admiral容器服務名稱為admiral,最後的「vmware/admiral」則是指定由Docker Hub容器映像檔倉庫網站中下載的Admiral容器映像檔名稱,由於未指定版本號碼,所以會自動設定成latest版本。
上述下載及啟用Admiral容器服務的指令執行完成後執行「docker ps」指令,以確認Admiral容器服務是否啟用完成,並且核對Photon OS主機和Admiral容器服務的連接埠對應服務是否正確,如圖5所示。
|
▲ 圖5 下載和啟用Admiral容器管理服務,並確認是否運作正常。 |
下載及啟用Admiral容器管理服務後,此時開啟瀏覽器連結至Photon OS主機的8282連接埠,本文實作環境的URL網址為「http://10.10.75.31:8282」,此時應該能夠順利看到Admiral容器服務的管理介面,如圖6所示。
|
▲ 圖6 連結Admiral容器服務管理介面。 |
預設情況下,Photon OS容器平台在下載和啟用Admiral容器服務後,已經自動為Admiral容器服務的8282連接埠開啟IPTables防火牆允許規則。倘若無法順利連結至Admiral容器服務管理介面的話,管理人員可以透過「iptables -L」指令,確認目前Photon OS容器平台的IPTables防火牆規則的載入情況。
當IT管理人員在Admiral容器服務管理介面中按下〔Add a Host〕按鈕,嘗試納管Photon OS主機時,將會發現目標端Photon OS主機回應了「Error connecting to http://PhotonOS_IP:2375」的錯誤連接訊息,如圖7所示,原因在於Admiral容器服務管理介面是透過Docker Remote API的方式連接至Photon OS主機,因此必須為目標端Photon OS主機開啟Docker Remote API遠端管理連線機制。
|
▲圖7 在Admiral容器服務管理介面中,為透過Docker Remote API方式連接至Photon OS主機。 |
Photon OS啟用Docker Remote API機制
在本文實作環境中,將新增另1台Photon OS主機並組態設定IP位址為「10.10.75.32」,同時啟用Docker Remote API機制,以便稍後Admiral容器服務管理介面能夠順利納管。
在開始之前,倘若Photon OS主機已經啟用Docker容器服務的話,那麼先執行「systemctl stop docker」指令以便停止Docker容器服務,然後才修改Docker容器服務組態設定檔內容。
隨後修改Docker容器服務組態設定檔「/etc/default/docker」,加入「DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"」內容後存檔離開。
接著,執行「iptables -A INPUT -p tcp --dport 2375 -j ACCEPT」指令新增IPTables防火牆允許規則,以確保Admiral容器管理服務能夠透過Docker Remote API機制連接至Photon OS主機。
值得注意的是,剛才新增的IPTables防火牆允許規則指令,只會在目前的運作狀態中即時套用生效而已,倘若Photon OS主機重新啟動後便會消失,將會造成Docker Remote API機制再次被IPTables防火牆阻擋。因此建議將IPTables防火牆允許規則寫入至「/etc/systemd/scripts/iptables」組態設定檔,確保Photon OS主機重新啟動後,仍然自動允許Docker Remote API存取機制的IPTables防火牆規則。