檢視 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
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊