iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0

在上一篇文章,我們成功申請了iNODE NINJA的帳號了!
為了自建一個CDN系統,接下來當然就是要開始建立節點!

說明與準備

在建立節點前,除了機器要先準備好,另外還需要有一些事前的準備。
在機器的作業系統上,我們嘗試過後建議使用Ubuntu 最新版本的LTS (截至截稿前為22.04 LTS) 或CentOS 7這兩種,如果要使用其他種Linux發行版(例如 Amazon Linux等)當然也是可以的,只是有可能因為系統本身發生不可預期的錯誤, 所以會建議還是使用上述兩種為佳。

https://ithelp.ithome.com.tw/upload/images/20230910/20160839AsJ0haGqFf.png

步驟說明

根據iNODE NINJA官方給的註冊教學資料,大致上的步驟就是:

  • SSH連入機器
  • 安裝Docker:
    • 解除舊版Docker
    • 建立Docker repo、安裝Docker Engine 和 Docker Compose、安裝 jq...過程。

在歷經完畢這些過程之後,就能夠安裝SLB和Edge的程序了。為了避免單純用描述的太過抽象,這裡在接下來會一條一條的解說細節。

測試機器&作業系統

我們為了以最快的方式摸索出iNODE NINJA這套的安裝流程,因此在先不考慮線路成本與加速效果的條件下,直接採用AWS EC2在香港可用區開設兩台機器,分別採用t3.micro作為SLB的機器,與c5a.xlarge作為EDGE的機器,並且同時在這兩台機器上安裝Ubuntu x86_64 Server 22.04 LTS作業系統,來進行本次的測試。
https://ithelp.ithome.com.tw/upload/images/20230910/20160839XPU4L8HHgg.png
https://ithelp.ithome.com.tw/upload/images/20230910/20160839xAYr4uDYG8.png

將兩台機器都開設好,並且各綁定一組Elastic IP如上,此外Security groups設定除了勾選必備的SSH以外,我們也將HTTP與HTTPS這兩個選項勾起來,因為到時候作為CDN一定會遇到使用這兩個端口和協議的情況,

SSH連入機器

如開頭提到的步驟說明,現在我們以SSH登入這兩台機器,當然在AWS上要先針對key做出chmod,這部分依照各個雲服務的設計或是自己當時設定的安全性,可能在會有所不同。

“ssh -i "ithome-EDGE.pem" ubuntu@ec2-16-160-80-100.ap-east-1.compute.amazonaws.com
https://ithelp.ithome.com.tw/upload/images/20230913/201608396utmNlKtdn.png

“ssh -i "ithome-SLB.pem" ubuntu@ec2-43-100-100-20.ap-east-1.compute.amazonaws.com
https://ithelp.ithome.com.tw/upload/images/20230913/20160839xvjT1qFFUW.png

因為是新開的機器,我們先對其進行sudo apt update來確認機器內的package list都是最新的,避免之後在拉資源時出現問題,另外在hostname的部分我們也改成比較好辨認的 **“ithomeSLB” **和 **“ithomeEDGE”**這兩個,而不是比較難辨認的預設IP。

https://ithelp.ithome.com.tw/upload/images/20230913/201608390fCmE90Np4.png
https://ithelp.ithome.com.tw/upload/images/20230910/20160839YcGJGPyw2v.png

改完之後,我們就能開始依照 iNODE NINJA原廠提供的自建CDN教學GUIDE 裡面的教學從0開始進行機器的部署了!!

安裝Docker

首先第一步驟是在這兩台機器上安裝好docker,原廠客服中心聯繫過後,真的都有提供詳細的教學(教學網址在此),非常佛心!

主要的指令這邊也都一起整理讓iThome讀者方便一次閱讀:

1. sudo apt-get remove docker docker-engine docker.io containerd runc
為了避免機器之前有裝過舊版的 Docker,這邊先下解除安裝的指令。
2. sudo apt-get update
3. sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
4. sudo mkdir -m 0755 -p /etc/apt/keyrings
5. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
6. echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
7. sudo apt-get update
8. sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
9. sudo docker version
10. docker compose version
11. sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose

(圖示說明)
https://ithelp.ithome.com.tw/upload/images/20230910/20160839Th5fY7PnKL.png

以上安裝完畢後,接下來就是安裝 jq。其實jq的部分也只是一行指令, 我們也一併提供:

1. sudo apt -y install jq

到這裡完畢後,就可以開始處理SLB與EDGE的安裝事宜了,至於詳細的部分,我們會在下一篇進行解說。


上一篇
[Day6]自建CDN第一步:開始使用iNODE NINJA
下一篇
[Day8]自建CDN(二):註冊節點
系列文
10年專業ISP服務商之蛻變 從無到有自建屬於自己的CDN服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言