期末考-說明
上次更新日期 2022/06/10
Git 是所有程式設計師、網站管理者、或者其他需要版本控制的用戶所需要的一個好樣的工具,熟悉這個版本控制的工具, 可以讓你免於出問題時,得要思考怎麼救回先前的資料等問題。ansible 是系統管理員在管理許多任務時, 很重要的一個小工具,可以讓你簡單輕鬆的完成很多伺服器任務的佈署。docker 是非常輕量級的虛擬化容器服務, 設計簡單,管理方便。這三個東西如果能夠理解與簡單的設計管理,相信對你未來是相當有幫助的!
第一部份:說明與網路設計及基礎服務管理
- 說明:在這個考試系統,你將會具有幾個重要的資料:
- 你的兩個雲端帳號,各自均有一個考試用的硬碟環境,系統環境大致相同,但是裡面的硬體有些差異,請不要設計錯誤了。
- Server 硬碟具有三張網卡,其中一張可以連接 Internet,另外兩張只能連接到內部網路
- Client 硬碟僅具有一張網卡,僅能連接到內部網路,只能與 Server 的內部網路網卡對接。
- 基本上,目前你掌握的兩部主機環境其實有點類似底下這樣:
Internet ---WAN--- [ens3] server [ens7] ---LAN--- [ens3] client
- 實做:伺服器網路:
- 針對外部界面 ens3,的網路參數設計
- 針對內部界面 ens7,的網路參數設計
- 實做:用戶端網路:
- 用戶端僅有 ens3 這個網路界面,請設定網路參數
- 實做:防火牆的設計:
- Server 需要 (1)IP 偽裝與 (2)提供內網連線,使用 firewalld 的不同 zone 來管理
- client(web) 僅須保留原有的防火牆功能即可。
- 實做:設計 Server 的 /etc/hosts 內容,讓 Server/client 不用 DNS 就可以互相看到對方
- 實做:在 client (web) 系統上面設計管理員帳號:
- 在 web 上,設計一個管理員專用的 git 帳號與 ansible 帳號
- 未來你在 Server 上面使用 student,可以用 ssh 登入 web 上面的 myadm 帳號,且不需要輸入密碼即可登入
- 這個帳號使用 sudo 指令時,不需要輸入密碼
第二部份:git 的操作與管理
- 說明:
- 你必須要在 server 端使用 student 身份去處理 git 的所有事情。
- 在 web 這個系統上,你操作的帳號必須要是 myadm 這個帳號才對!
- 也就是說,你使用 server 的 student ,然後登入 web 的 myadm 喔!
- 在 web 端建立權威裸容器:
- 在 server 端,使用 student 的身份,處理 github 資料的下載,然後與自己的 web 權威裸容器連結:
- 建立新分支,並且進行資料修訂:
- 建立分支的分支,進行測試後,融合到 ksucloud 當中:
第三部份:ansible 的建立與運作
- 說明:
- Server 系統為 ansible 的 control node 環境,且需要使用 student 帳號處理
- Web 系統為 managed hosts 的伺服器環境,且需要使用 myadn 這個帳號處理系統
- 在 control node 上,請到 ~student/webpro/ 目錄建立 web 相關的 playbook 資訊
- 在 control node 上,請到 ~student/docker/ 目錄建立 docker 運作相關的 playbook 資訊
- 建立 webpro 專案的主機名稱對照,以及系統參數設計
- 編寫 managed hosts 的名稱編寫 (inventory)
- 編寫 ansible 在 webpro 專案下的設定檔
- Web 系統的 http, https 等相關任務規劃:你可以在一個 playbook 裡面設計多個 play,建議依據底下的設計,共設計 4 個 play 來分別執行!
你可以選擇不要使用變數,直接設計在 playbook 的各項任務即可。
- 針對 web 的服務軟體設計:
- 針對 web 的服務建立 - 啟用虛擬主機 (virtualhost)
- 增加 https://web/ 的瀏覽需要輸入 apache 密碼 - Apache 認證:
- 在 control node 上面,驗證 managed host 的 www service 是否建立成功:
- docker 專案的處理流程
- 事先規劃:包括 yum 的設定檔、daemon.json 的檔案複製等等。
- 撰寫名為 install_docker.yml 的 playbook,任務就是安裝、設定、啟動與開機啟動等!
第四部份:簡單的 docker 操作
- 說明:
- 所有動作,都請到 web 系統上面使用 root 身份直接操作。
- docker 容器的簡易操作:包括下載映像檔、建立可以互相 port mapping 與掛載目錄的容器
- 處理容器:應該要會『首頁』的建立!
...