2018年7月4日 星期三

如何使用 VMware Photon打造 Docker環境

Photon是 VMware自家針對虛擬化環境開發的輕量級 Linux容器(Container)運作平台,它可以支援多種 Container格式,例如:Docker、Rocket (rkt)、Pivotal Garden。將 Photon OS部署在 VMware虛擬化平台時,由於它移除了 Linux Kernel和 vSphere hypervisor間重複的核心快取,因此更能提升整體運作效能。本文將實作如何在 VMware vSphere上佈署 Photon OS 2.0 (What is New in Photon OS 2.0),並且快速打造出 Docker環境。

安裝 Photon OS流程

安裝 Photon OS有兩種方式:佈署 OVA或 ISO安裝,在本例採用 ISO安裝方式。Photon OS下載連結【Downloading Photon OS
首先,新增一台虛擬機,虛擬機OS類型選擇 VMware Photon OS (64-bit)
※ 如果選不到此類型,則選擇『 Linux - other Linux 3.x kernel 64-bit 』
安裝過程基本上很簡單也很快速,這邊不多做說明。值得一提的是,Photon OS提供以下三種安裝的選項,本例採用 Photon Full安裝:
  • Photon Minimal:此方式最輕量型的安裝,它提供足夠的套件與功能,讓使用者可以進行常見的容器管理作業。
  • Photon Full:此方式包含額外的套件,以方便使用者封裝容器應用程式以及客製化系統。適合開發者或是想要驗證及測試人員使用。
  • Photon OSTree Server:此方式會建立一檔案系統樹狀結構,並透過 rpm-ostree工具集中管理映像檔、定義檔和軟體套件等。大部分的環境只需要一台 Photon OSTree server ,以提供給 Photon OSTree Hosts連接使用。
【 OSTree & RPM-OSTree 說明 】
安裝完成並且登入後,可以透過以下指令查詢 Photon OS主機系統資訊
uname -a
cat /etc/photon-release
hostnamectl
如果是佈署在 vSphere環境,透過「systemctl status vmtoolsd.service」指令來確認 VMware Tools服務運作正常

網路組態設定

預設情況下 Photon OS會啟用 DHCP,但實務上,大多還是會採用固定 IP。首先,編輯 /etc/systemd/network/99-dhcp-en.network檔案,將 DHCP的組態設定改成 no
接著從 99-dhcp-en.network複製一個名稱為 10-static-en.network的檔案,並依照需求修改網路組態設定
 給予此 .network檔案權限,然後重啟 systemd-networkd service

服務重啟後,透過 ifconfig 指令確認目前的網路設定

設定 SSH遠端連線

預設情況下,Photon OS隨然有啟用 sshd服務,但你卻沒辦法使用 root帳號遠端 SSH登入。若要讓 root帳號可以透過 SSH登入,需要修改 /etc/ssh/sshd.config檔案,將 PermitRootLogin設定值改為 yes
 
修改後需要重啟 ssh服務
 接著就可以使用 root帳號 ssh登入了
※ 實務上,為了安全性的考量,請不要直接開放 root帳號登入。應該是只開放維運所需權限的使用者帳號登入。

設定防火牆規則

Photon OS是採用 iptables防火牆規則,預設只開放 SSH,在此例實作新增允許 ICMP回應。 iptables防火牆相關的設定指令可以參考【 iptables 設定入門 】
透過指令「iptables -L」列出防火牆規則
 

啟用 Docker服務

Photon OS安裝完成後就已經包含 docker的相關套件,我們可以透過指令「systemctl start docker」來啟用服務
透過指令「systemctl enable docker」,可以讓 OS開機或重新開機自動啟用 docker服務
透過指令「docker info」、「docker version」...等相關指令來查詢內建的 docker資訊

實作第一個 container範例 - Nginx

透過指令「docker run -d -p 80:80 vmwarecna/nginx」來啟用 nginx web服務並且將 port 80對應至此容器上。如果系統中沒有 nginx這個 image,會先從 docker hub把 image PULL下來,然後再啟用 nginx web服務
透過指令「docker ps」,查詢目前有在運作的 container
開啟瀏覽器輸入 URL,驗證是否可以看到 nginx歡迎畫面

參考資料

VMware自家容器作業系統 實戰Photon OS基礎安裝
Running Photon OS on vSphere 

沒有留言:

張貼留言