Linux伺服器 Linux伺服器

資工所專業課程上課教材

資工所專業課程 > 課程內容 > 期末考-說明

期末考-說明

上次更新日期 2022/06/10

Git 是所有程式設計師、網站管理者、或者其他需要版本控制的用戶所需要的一個好樣的工具,熟悉這個版本控制的工具, 可以讓你免於出問題時,得要思考怎麼救回先前的資料等問題。ansible 是系統管理員在管理許多任務時, 很重要的一個小工具,可以讓你簡單輕鬆的完成很多伺服器任務的佈署。docker 是非常輕量級的虛擬化容器服務, 設計簡單,管理方便。這三個東西如果能夠理解與簡單的設計管理,相信對你未來是相當有幫助的!

第一部份:說明與網路設計及基礎服務管理

  1. 說明:在這個考試系統,你將會具有幾個重要的資料:
    1. 你的兩個雲端帳號,各自均有一個考試用的硬碟環境,系統環境大致相同,但是裡面的硬體有些差異,請不要設計錯誤了。
    2. Server 硬碟具有三張網卡,其中一張可以連接 Internet,另外兩張只能連接到內部網路
    3. Client 硬碟僅具有一張網卡,僅能連接到內部網路,只能與 Server 的內部網路網卡對接。
    4. 基本上,目前你掌握的兩部主機環境其實有點類似底下這樣:
         Internet ---WAN--- [ens3]  server  [ens7] ---LAN--- [ens3] client
      
  2. 實做:伺服器網路:
    • 針對外部界面 ens3,的網路參數設計
    • 針對內部界面 ens7,的網路參數設計
  3. 實做:用戶端網路:
    • 用戶端僅有 ens3 這個網路界面,請設定網路參數
  4. 實做:防火牆的設計:
    • Server 需要 (1)IP 偽裝與 (2)提供內網連線,使用 firewalld 的不同 zone 來管理
    • client(web) 僅須保留原有的防火牆功能即可。
  5. 實做:設計 Server 的 /etc/hosts 內容,讓 Server/client 不用 DNS 就可以互相看到對方
  6. 實做:在 client (web) 系統上面設計管理員帳號:
    • 在 web 上,設計一個管理員專用的 git 帳號與 ansible 帳號
    • 未來你在 Server 上面使用 student,可以用 ssh 登入 web 上面的 myadm 帳號,且不需要輸入密碼即可登入
    • 這個帳號使用 sudo 指令時,不需要輸入密碼

第二部份:git 的操作與管理

  1. 說明:
    • 你必須要在 server 端使用 student 身份去處理 git 的所有事情。
    • 在 web 這個系統上,你操作的帳號必須要是 myadm 這個帳號才對!
    • 也就是說,你使用 server 的 student ,然後登入 web 的 myadm 喔!
  2. 在 web 端建立權威裸容器:
  3. 在 server 端,使用 student 的身份,處理 github 資料的下載,然後與自己的 web 權威裸容器連結:
  4. 建立新分支,並且進行資料修訂:
  5. 建立分支的分支,進行測試後,融合到 ksucloud 當中:

第三部份:ansible 的建立與運作

  1. 說明:
    • Server 系統為 ansible 的 control node 環境,且需要使用 student 帳號處理
    • Web 系統為 managed hosts 的伺服器環境,且需要使用 myadn 這個帳號處理系統
    • 在 control node 上,請到 ~student/webpro/ 目錄建立 web 相關的 playbook 資訊
    • 在 control node 上,請到 ~student/docker/ 目錄建立 docker 運作相關的 playbook 資訊
  2. 建立 webpro 專案的主機名稱對照,以及系統參數設計
    1. 編寫 managed hosts 的名稱編寫 (inventory)
    2. 編寫 ansible 在 webpro 專案下的設定檔
  3. Web 系統的 http, https 等相關任務規劃:你可以在一個 playbook 裡面設計多個 play,建議依據底下的設計,共設計 4 個 play 來分別執行! 你可以選擇不要使用變數,直接設計在 playbook 的各項任務即可。
    1. 針對 web 的服務軟體設計:
    2. 針對 web 的服務建立 - 啟用虛擬主機 (virtualhost)
    3. 增加 https://web/ 的瀏覽需要輸入 apache 密碼 - Apache 認證:
    4. 在 control node 上面,驗證 managed host 的 www service 是否建立成功:
  4. docker 專案的處理流程
    1. 事先規劃:包括 yum 的設定檔、daemon.json 的檔案複製等等。
    2. 撰寫名為 install_docker.yml 的 playbook,任務就是安裝、設定、啟動與開機啟動等!

第四部份:簡單的 docker 操作

  1. 說明:
    • 所有動作,都請到 web 系統上面使用 root 身份直接操作。
  2. docker 容器的簡易操作:包括下載映像檔、建立可以互相 port mapping 與掛載目錄的容器
  3. 處理容器:應該要會『首頁』的建立!

...