跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Gea-Suan Lin's Wiki
搜尋
搜尋
登入
個人工具
登入
檢視 Nomad 的原始碼
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
←
Nomad
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''Nomad'''是[[HashiCorp]]推出的資源管理軟體。 == 架構 == Nomad分成Server與Client架構: * Server負責協調與分配工作。 * Client負責實際執行工作。 正式環境下Server建議至少三台機器,Client建議至少兩台機器。 == 安裝 == Nomad server與Nomad client的安裝都相同(透過設定扮演不同的角色),這邊是安裝官方的apt repository: <syntaxhighlight lang="bash"> curl https://apt.releases.hashicorp.com/gpg | sudo apt-key add -; sudo apt-add-repository "deb https://apt.releases.hashicorp.com $(lsb_release -cs) main"; sudo apt update && sudo apt install -y nomad </syntaxhighlight> Nomad client建議再安裝[[Docker]]。 == 設定 == === 測試環境 === 單機同時跑server與client: <syntaxhighlight lang="nginx"> # bind_addr = "0.0.0.0" data_dir = "/opt/nomad/data" client { enabled = true network_interface = "{{ Interfaces | limit 1 }}" } server { bootstrap_expect = 1 enabled = true } </syntaxhighlight> === 正式環境 === Nomad server的部份,依照官方的建議放到<code>/etc/nomad.d/server.hcl</code>: <syntaxhighlight lang="nginx"> datacenter = "us-east-1a" data_dir = "/srv/nomad" enable_syslog = true log_level = "INFO" region = "us-east-1" server { enabled = true bootstrap_expect = 3 server_join { retry_join = ["10.1.1.10:4648", "10.1.1.11:4648", "10.1.1.12:4648"] } } </syntaxhighlight> Nomad client的部份,依照官方的建議放到<code>/etc/nomad.d/client.hcl</code>: <syntaxhighlight lang="nginx"> datacenter = "us-east-1a" data_dir = "/srv/nomad" enable_syslog = true log_level = "INFO" region = "us-east-1" client { enabled = true servers = ["10.1.1.10:4648", "10.1.1.11:4648", "10.1.1.12:4648"] chroot_env { "/bin" = "/bin" "/etc" = "/etc" "/lib32" = "/lib32" "/lib64" = "/lib64" "/lib" = "/lib" "/run/resolveconf" = "/run/resolveconf" "/run/systemd/resolve" = "/run/systemd/resolve" "/sbin" = "/sbin" "/usr" = "/usr" } } ports { http = 5656 } </syntaxhighlight> 設定完成後(無論是server或是client)都可以啟用: <syntaxhighlight lang="bash"> sudo service nomad restart sudo service nomad status </syntaxhighlight> == 檔案 == 一份<code>example.nomad</code>檔案: <syntaxhighlight lang="nginx"> job "example" { datacenters = ["us-east-1a", "us-east-1b", "us-east-1c"] type = "batch" group "example" { count = 10 task "example" { driver = "exec" config { command = "/usr/bin/curl" args = ["https://wiki.gslin.org/robots.txt"] } } } } </syntaxhighlight> == 常用指令 == 目前測試的情況下,所有的指令都接受<code>NOMAD_ADDR</code>環境變數。如果沒有設定環境的話,需要在命令列加上<code>-address=http://a.b.c.d:4646</code>參數: <syntaxhighlight lang="bash"> export NOMAD_ADDR=http://nomad-server:4646 </syntaxhighlight> 操作類性指令: <syntaxhighlight lang="bash"> nomad alloc status <id> nomad alloc logs <id> nomad server members nomad node status nomad job run example.nomad nomad job status nomad job stop example </syntaxhighlight> == 外部連結 == * {{Official|https://www.nomadproject.io/}} {{en}} [[Category:軟體]]
此頁面使用了以下模板:
Template:En
(
檢視原始碼
)
Template:En icon
(
檢視原始碼
)
Template:ISO 639 name en
(
檢視原始碼
)
Template:Lan
(
檢視原始碼
)
Template:Language icon
(
檢視原始碼
)
Template:Official
(
檢視原始碼
)
Template:Official website
(
檢視原始碼
)
Module:Arguments
(
檢視原始碼
)
Module:Lan
(
檢視原始碼
)
Module:Official website
(
檢視原始碼
)
Module:URL
(
檢視原始碼
)
返回到「
Nomad
」。
切換限制內容寬度