本篇文章會主要會介紹以下主題 :
可以透過點擊以下目錄,選擇想看的內容,跳轉至特定章節
Harvester 架構由以下開源技術組成:
Harvester 是一個 enterprise-ready、易於使用的基礎架構平台,它利用本地直接連接的 Storage,而不是複雜的外部 SAN。 它利用 Kubernetes API 作為跨 Container 和 虛擬機器 workloads 的統一自動化語言。 Harvester 的一些主要功能包括 :
詳細資訊,請以下參考 Harvester 官網 Docs :
Hardware and Network Requirements
1.1. 下載 ISO
可以使用 ISO 鏡像直接將 Harvester 安裝到裸機伺服器上,若要取得 ISO 映像,請從 Harvester releases 頁面下載 💿 harvester-v1.x.x-amd64.iso
。
螢幕輸出 :
1.2. 開啟 Rufus,將乾淨的 USB 碟插入電腦,Rufus 會自動偵測 USB。 從 "裝置 "下拉式選單中選擇要使用的 USB 裝置,在 "啟動選擇 "中選擇 "選擇",然後找到要燒錄到 USB 上的 Harvester 安裝 ISO 映像。
2.1. 使用 USB 開機,並透過選擇 Harvester Installer 選項啟動伺服器。
使用預設選項,直接按 Enter 按鍵。
2.2. 選擇建立一個新的 Harvester Cluster
使用預設選項,直接按 Enter 按鍵。
2.3. 選擇要安裝的 Harvester 系統碟和要儲存虛擬機器資料的資料碟。
按 Tab 鍵可展開下拉式選單,按 Enter 鍵儲存設定值。
2.4. 設定主機的 Hostname
輸入
h1
2.5. 設定管理網路
網路卡的部分,按 Tab 展開下拉式選單,按空白鍵選擇網路卡,確定之後按 Enter 鍵
IPv4 Address 欄位,輸入 :172.20.0.34/24
Gateway 欄位,輸入 :172.20.0.254
2.6. 設定 DNS Server
DNS Server 欄位 :
172.20.0.254
2.7. 設定 VIP
按 Tab 展開下拉式選單,按向下方向鍵選擇
Static
,確認後按 Enter 鍵。
VIP 欄位 :172.20.0.36
2.8. 設定 Cluster Token
Cluster token 欄位 :
lab
Cluster token 用於將其他節點新增至 Harvester 叢集。
2.9. 設定使用者密碼
預設的使用者是
rancher
。
2.10. 設定 NTP Server
NTP Server 欄位 :
time.google.com
。
2.11. 設定 HTTP Proxy Server ( 此步驟不一定要設定,取決於當下的環境 )
如果不設定就空白,直接按 Enter 鍵。
2.12. 匯入 SSH Keys ( 此步驟不一定要設定 )
如果不設定就空白,直接按 Enter 鍵。
2.13. 設定 Harvester 設定檔自訂主機 ( 此步驟不一定要設定 )
如果不設定就空白,直接按 Enter 鍵。
2.14. 查看並確認安裝選項
確認安裝選項沒問題後,按 Enter 鍵,Harvester 將會安裝到主機上。
2.15. 安裝完成後,節點將重新啟動,以下是啟動完成畫面
重新啟動後,Harvester 控制台會顯示管理 URL 和狀態。網路介面的預設 URL 是
https://your-virtual-ip
。 可以使用 F12 按鍵從 Harvester 控制台切換到 Shell,然後鍵入 exit 返回 Harvester 控制台。
2.16. 第一次登入的時候,系統會提示您設定預設管理員使用者的密碼。
使用者預設是
admin
/oem/90_custom.yaml
/oem/90_custom.yaml
檔案,並且更新以下 Yaml 檔中路徑的值 stages.initramfs[0].commands
修改範例內容如下 :
name: Harvester Configuration stages: initramfs: - commands: - modprobe kvm - modprobe vhost_net - sed -i 's/^NETCONFIG_DNS_STATIC_SERVERS.*/NETCONFIG_DNS_STATIC_SERVERS="172.20.0.37"/' /etc/sysconfig/network/config
將原本的
172.20.0.254
改成172.20.0.37
螢幕輸出如下 :
new-sc
1
確認資訊輸入正確後,點選 Create
URL 如下 :
https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.5/images/openSUSE-Leap-15.5.x86_64-NoCloud.qcow2
opensuse
package_update
,會先更新系統的套件packages
,代表要安裝的套件write_files
,針對特定檔案寫入特定內容,這邊的範例是關 ipv6runcmd
,系統開機以後要執行的命令,這邊有設定啟動 qemu-guest-agent 服務,並設為開機自動啟動,還有設定 DNS Server 的位置,還有設定時區,特別設定 DNS Server 的原因是因為要可以跟 Rancher 溝通ssh_authorized_keys
,讓跳板機可以免密碼登入使用這個 Cloud init config 做出來的 VMusers
,新增使用者,並設定使用者的群組、sudo 權限和密碼。
確認資訊輸入正確後,點選 Create
vlan
100
mgmt
確認沒問題後,點選 Create
State 和 Route Connectivity 的狀態都要顯示 Active
2.1. 使用 USB 開機,並透過選擇 Harvester Installer 選項啟動伺服器。
使用預設選項,直接按 Enter 按鍵。
2.2. 選擇加入一個已經存在的 Harvester Cluster
選擇
Join an existing Harvester cluster
後,按 Enter 按鍵。
2.3. 選擇要安裝的 Harvester 系統碟和要儲存虛擬機器資料的資料碟。
按 Tab 鍵可展開下拉式選單,按 Enter 鍵儲存設定值。
2.4. 設定主機的 Hostname
輸入
h2
2.5. 設定網路
網路卡的部分,按 Tab 展開下拉式選單,按空白鍵選擇網路卡,確定之後按 Enter 鍵
IPv4 Address 欄位,輸入 :172.20.0.35/24
Gateway 欄位,輸入 :172.20.0.254
2.6. 設定 DNS Server
DNS Server 欄位 :
172.20.0.37
2.7. 設定 管理 IP Address
Management address 欄位 :
172.20.0.36
2.8. 設定 Cluster Token
Cluster token 欄位 :
lab
Cluster token 用於將其他節點新增至 Harvester 叢集。
2.9. 設定使用者密碼
預設的使用者是
rancher
。
2.10. 設定 NTP Server
NTP Server 欄位 :
time.google.com
。
2.11. 設定 HTTP Proxy Server ( 此步驟不一定要設定,取決於當下的環境 )
如果不設定就空白,直接按 Enter 鍵。
2.12. 匯入 SSH Keys ( 此步驟不一定要設定 )
如果不設定就空白,直接按 Enter 鍵。
2.13. 設定 Harvester 設定檔自訂主機 ( 此步驟不一定要設定 )
如果不設定就空白,直接按 Enter 鍵。
2.14. 查看並確認安裝選項
確認安裝選項沒問題後,按 Enter 鍵,Harvester 將會安裝到主機上。
2.15. 安裝完成後,節點將重新啟動,以下是啟動完成畫面
2.16. 打開 Harvester 網站,檢查 Node 是否變 2 台
點選左側選單 Hosts
使用者預設是
admin
Harvester v1.2.1 肚子裡面的 Rancher 無法啟動虛擬化管理,所以需額外再安裝並啟動 Rancher Server 2.7.9,或是在 Harvester 啟動 rancher-vcluster (正在開發的功能)。
Rancher 的安裝請參考我的另一篇筆記 RKE2 & Rancher Prime Installation
點選左側選單 Virtualization Management
點選 Import Existing
harvester
harvester
點選左側選單 Settings -> 找到 cluster-registration-url -> 點選 Edit Setting
將註冊 URL 貼上 -> 點選 Save
harvester
VM 必須要能透過 DNS Server 解析 Rancher 的 FQDN,否則 K3S 將無法建立。
bobo
4
8
default
Opensuse
openSUSE-Leap-15.5.x86_64-NoCloud.qcow2
100
default/vlan (vlanId=100)
Show Advanced
按鈕
opensuse
點選 Provisioning Log
要 Troubleshooting 的話,可以 ssh 連線到 VM 中,看以下兩個檔案 :
/var/log/cloud-init.log
。/var/log/cloud-init-output.log
,這檔案裡面紀錄 cloud init 命令執行的結果,包含透過 Rancher 安裝 K3S 的過程都會記在這個檔案中。
點選 Machine Pools -> +
點選 Machine Pools -> -
Force Formatted
option is required if the block device has never been force-formatted.