iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

接續這上一篇我們介紹要在iNODE NINJA這個自建CDN系統上執行我們全新CDN系統。
完成了註冊節點前的前置docker安裝作業後,就要來跟分享實作SLB和EDGE的註冊動作。

溫馨提示:如果一開始試用的時候因為還在摸索階段,並不知道要怎麼開始部署,可以點選帳號旁邊的燈泡圖示,根據iNODE NINJA 平台提示的步驟去一步一步進行設置。
https://ithelp.ithome.com.tw/upload/images/20230911/20160839q0FEKooTOl.png

從介面指令上可以看到,將SLB、EDGE這兩個東西建立起來是第一步,因此我們先根據裡面寫的內容一個一個建立起來。

SLB部署

首先是SLB的部署,從先前的架構已經有介紹過SLB和EDGE在iNODE NINJA CDN的架構配置中所代表的意義,SLB就是外來的訪問者進來訪問最終解析到的IP,同時也進行負載平衡,能夠將流量在第四層平分給後方的EDGE機器進行處理。
https://ithelp.ithome.com.tw/upload/images/20230911/20160839sSvrrz1MC5.png

部署的方式很簡單,進入左側「資源管理」>「SLB管理」,按下左上角註冊按鈕,就會顯示出部署所需的代碼,只要點擊右方「複製」,再將其貼上到作為SLB的機器的終端機中,跑完後就能完成SLB的部署
https://ithelp.ithome.com.tw/upload/images/20230911/2016083904u1fDx5Bd.png

提供我們實際的狀況讓大家能有效應對,我們在一開始註冊的時候其實沒有很順利,跳出了這個問題
「permission denied while trying to connect to the Docker daemon socket」
https://ithelp.ithome.com.tw/upload/images/20230911/201608391V7rz97zUp.png

經過爬文後,確認是預設的權限問題,因此我們依照以下方式解決:


1. sudo groupadd docker
返回 groupadd: group 'docker' already exists
確認問題不是出在這裡

2. sudo gpasswd -a $USER docker
返回 Adding user ubuntu to group docker
接著再進行一次更新,systemctl重啟docker即可

3. newgrp docker

4. sudo systemctl restart docker

再一次重新貼上註冊SLB的代碼之後,順利開始拉下來所需的元件,跑完後就出現完成的畫面了
https://ithelp.ithome.com.tw/upload/images/20230911/20160839Yz48W0aI7D.png

這時候回到解析節點頁面,可以看到剛剛註冊的節點已經出現在列表中。

https://ithelp.ithome.com.tw/upload/images/20230911/201608396PNYJNOKDe.png

https://ithelp.ithome.com.tw/upload/images/20230913/20160839Vuc9ZNpo4L.png

把啟用狀態點開,如果正常了話健康度就會亮綠燈。
旁邊的兩項**「連接狀態」「更新狀態」**也都要是勾勾,另外一旁的封包出口成功率則是應該隨著時間要是變成100%。

註冊EDGE

接著我們依照精靈的指示,繼續註冊EDGE,也是一樣需要先執行上面的sudo gpasswd -a $USER docker那串來先解決權限問題。

https://ithelp.ithome.com.tw/upload/images/20230911/20160839ZitDv8VQWD.png

也是一樣貼上這串代碼,EDGE會需要拉下比較多的元件,因此時間上會比較久一些

https://ithelp.ithome.com.tw/upload/images/20230911/20160839S4oHhFhFCA.png

https://ithelp.ithome.com.tw/upload/images/20230911/20160839SXfR4Novun.png
https://ithelp.ithome.com.tw/upload/images/20230913/20160839ly8U252zGX.png

註冊成功後,同樣點開啟用狀態,此時健康度要亮綠燈,右邊狀態的部分也要有三個勾。

節點 (SLB+EDGE)建立

接下來我們就要把SLB和EDGE給連起來,在SLB頁面點擊左邊的鉛筆圖示進行編輯,把EDGE節點Assigned過去。
https://ithelp.ithome.com.tw/upload/images/20230911/20160839Dt0CLOC255.png

再來將SLB的服務地址預設會是該機器持有的私有IP(圖中預設被分配到172.31.15.224這個),但是這個地址是要對外解析的,因此使用私有IP自然是無法對外服務。

所以,我們要將該機器的對外公有IP(只支援IPv4)填入這裡,這樣才能夠對外提供A紀錄解析,如下圖

https://ithelp.ithome.com.tw/upload/images/20230913/20160839KhLFutOCqp.png

其他的部分,線路分組這裡我們先保持默認,就是全世界所有的訪問解析都解析到這個SLB,另外SourceIpPool的部分我們也先保持空白。

EDGE的部分服務地址我們則是不進行變更,可以看到這個是私有IP 172.31.6.107,這個地址代表的是與SLB通信用的IP。

因為我們把SLB和EDGE都放在同一個VPC與同一個subnet裡面,並且也是同網段(172.31.0.0/20),同時經過測試我們也可以透過這個IP與SLB互通,如果SLB與EDGE需要走公有IP傳輸了話,這裡則是填寫公有IP的地址。
https://ithelp.ithome.com.tw/upload/images/20230913/20160839Tqz7asZ7Ft.png

到這裡之後,一組節點 (SLB+EDGE) 可以說是就建立完了,我們最後再確認是不是健康度和後方三個勾都有正常顯示,如果都有了話,那麼就可以進行下一步的作業了。


上一篇
[Day7]自建CDN系統的前置作業
下一篇
[Day9]建立Site後,並關聯到節點
系列文
10年專業ISP服務商之蛻變:從無到有自建屬於自己的CDN服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言